В Pine-скрипте tradingview я пытаюсь найти предыдущий фрактал (HF1), который выше последней цены закрытия, и построить уровень HF1
Мой код до сих пор не работает:
//@version=4
strategy("Fractal Breakout Strategy", overlay=true)
HF = bar_index>5 and high[2]>high[1] and high[2]>high and high[2]>high[3] and high[2]>high[4] ? -1 : 0
LF = bar_index>5 and low[2]<low[1] and low[2]<low and low[2]<low[3] and low[2]<low[4] ? 1 : 0
tot = HF + LF
pl = abs(tot)>=1 ? 1 : 0
//Plot fractal arrows:
plotarrow(pl==1 ? tot : na, colorup=color.teal, colordown=color.orange,offset=-2,maxheight=15)
HF1 = 0.0
for i = 0 to 40
HF1_temp = valuewhen(HF, high[2],i)
if (HF1_temp > close[1])
HF1 := HF1_temp
break
plot(HF1, color = color.blue)
Я подозреваю, что это связано с последним абзацем в документации здесь
Чтобы избежать этого, вы можете использовать собственную реализацию функции без сохранения состояния. Это список встроенных функций с одинаковым поведением:
sma (источник, длина): длина с состоянием.
ema (источник, длина): длина с состоянием.
сумма (источник, длина): длина с состоянием.
valueewhen (условие, источник, происхождение): вхождение с состоянием.
rsi (x, y): когда y имеет тип integer и ведет себя как длина, y - с состоянием.
.. но не могу понять, как это реализовать ... Любая помощь будет высоко оценена, спасибо!