Получение максимального значения ema за все время Pine Editor - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь получить максимальное значение закрытия за 200 ema в Pine Editor, но я продолжаю получать значение N / A для этого значения. Мой код:

f_highest_since(_highseries,_sinceevent) =>
    var float _peak = na
    _peak := _highseries>_peak or _sinceevent ? _highseries : _peak

f_lowest_since(_lowseries,_sinceevent) =>
    var float _bottom = na
    _bottom := _lowseries<_bottom or _sinceevent ? _lowseries : _bottom

maxema = f_highest_since(ema(close,200), bar_index[0]==0)

Интересно, что это работает, если я заменяю ema (close, 200) на что-то более простое, например close. Кто-нибудь знает, почему это может происходить?

1 Ответ

1 голос
/ 21 апреля 2020

Условие bar_index[0]==0 будет действительным только для первого бара и будет возвращать false в остальное время, учитывая, что первые значения, выданные функцией ema, равны na, логично иметь na в результате.

Возможно, вы захотите использовать вместо:

ema = ema(close,200)
max = 0.
max := max(ema,nz(max[1]))
...