Как получить значения из цикла с перерывом в функции в Pine Script? - PullRequest
0 голосов
/ 31 октября 2019

Действительно тупой в попытках выяснить это и был бы признателен за любую помощь. Как я могу получить значение из цикла при раннем разрыве цикла?

Это гораздо более простой пример того, что мы действительно пытаемся достичь, но я надеюсь, что это поможет понять идею.

В настоящее время выдается ошибка выполнения.

//@version=4
study("Test barssince", overlay=true)

// NOTE: run on the daily chart

n = input(1)

sundayHigh = dayofweek == dayofweek.sunday ? high : na 
bgcolor(sundayHigh ? color.green : na)

someHighPrice = valuewhen(sundayHigh, sundayHigh, n) // value of the nth previous sundayHigh

mybarssince(ser, val) =>
    int bars = na
    for i=0 to 99
        bars := i
        if ser[i] == val
            break
    bars
int sbars = mybarssince(high, someHighPrice) // Runtime error.

if dayofweek == dayofweek.wednesday
    // connect this bar (wednesday) with the nth previous sunday
    line.new(bar_index-sbars, high[sbars], bar_index, high, color=color.orange, width=3)

Любая помощь очень ценится:)

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Я изменил ваш день тестирования на понедельник и местоположение bars var переназначения:

//@version=4
study("Test barssince", overlay=true)

// NOTE: run on the daily chart

n = input(1)

sundayHigh = dayofweek == dayofweek.monday ? high : na 
bgcolor(sundayHigh ? color.green : na)

someHighPrice = valuewhen(sundayHigh, sundayHigh, n) // value of the nth previous sundayHigh

mybarssince(ser, val) =>
    int bars = na
    for i=0 to 99
        if ser[i] == val
            bars := i
            break
    bars
int sbars = mybarssince(high, someHighPrice) // Runtime error.

if dayofweek == dayofweek.wednesday
    // connect this bar (wednesday) with the nth previous sunday
    line.new(bar_index-sbars, high[sbars], bar_index, high, color=color.orange, width=3)

enter image description here

0 голосов
/ 06 ноября 2019

Как прокомментировал @LucF, это оказалось ошибкой в ​​Pine.

...