Как определить последнее значение индикатора - PullRequest
0 голосов
/ 14 января 2020

У меня есть индикатор, у которого dr aws максимумы и минимумы на графике:

leftBars  = input(3)
rightBars = input(3)
ph = pivothigh(high, leftBars, rightBars)
pl = pivotlow(low, leftBars, rightBars)

Как определить, что из двух произошло в конце (чтобы установить это как текущее значение индикатора)

1 Ответ

2 голосов
/ 14 января 2020

Вы можете использовать переменную для этой цели. pivothigh() и pivotlow() возвращают NaN, если в этой точке нет разворота. Таким образом, вы можете проверить, не является ли значение Nan, что означает, что существует новая точка разворота.

//@version=4
study("Find last pivot", overlay=false)
leftBars  = input(3)
rightBars = input(3)

var lastPivot = 0    // Use "var" so it will keep its latest value
ph = pivothigh(high, leftBars, rightBars)
pl = pivotlow(low, leftBars, rightBars)

if (not na(ph))      // New pivot high
    lastPivot := 1
else
    if (not na(pl))  // New pivot low
        lastPivot := -1

// Now, you can check lastPivot's value to see what type of pivot you had last
// lastPivot = 1  -> Pivot high
// lastPivot = -1 -> Pivot low

plot(series=lastPivot, color=color.red, linewidth=2)

enter image description here

Как вы можете см., значение lastPivot изменяется между 1 и -1, и его значение остается тем же самым, пока не появится новый шарнир.

...