Скрипт перерисовки даже после использования barstate.isconfirmed
Сценарий ниже запускает несколько предупреждений, и я пытался использовать barstate.isconfirmed, но иногда все еще запускал до 6 предупреждений вместе. Я новичок в этом.
//@version=5
strategy('STG1', overlay=true, calc_on_order_fills = true)
start = timestamp(2022, 12,01,0, 0)
end = timestamp(2022, 12,30,0, 0)
length = input(title='Length', defval=1)
phase = input(title='Phase', defval=50)
power = input(title='Power', defval=2)
src = input(title='Source', defval=close)
highlightMovements = input.bool(title='Highlight Movements ?', defval=true)
phaseRatio = phase < -100 ? 0.45 : phase > 100 ? 2.5 : phase / 100 + 1.5
beta = 0.45 * (length - 1) / (0.5 * (length - 1) + 2)
alpha = math.pow(beta, power)
jma = 0.0
e0 = 0.0
e0 := (1 - alpha) * src + alpha * nz(e0[1])
e1 = 0.0
e1 := (src - e0) * (1 - beta) + beta * nz(e1[1])
e2 = 0.0
e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * math.pow(1 - alpha, 2) + math.pow(alpha, 2) * nz(e2[1])
jma := e2 + nz(jma[1])
jmaColor = highlightMovements ? (jma > jma[1] ? color.green : color.red) : #e615e6
EnterLong = jma > jma[1] and strategy.opentrades == 0
ExitLong = jma < jma[1] and strategy.opentrades > 0
EnterShort = jma < jma[1] and strategy.opentrades == 0
ExitShort = jma > jma[1] and strategy.opentrades > 0
if time >= start and time < end
strategy.entry('Long', strategy.long, 1, when=EnterLong and barstate.isconfirmed, comment= 'LE')
strategy.close('Long', when=ExitLong and barstate.isconfirmed, comment= 'LX')
strategy.entry('short', strategy.short, 1, when=EnterShort and barstate.isconfirmed, comment= 'SE' )
strategy.close('short', when=ExitShort and barstate.isconfirmed, comment='SX')
Я пробовал barstate.isconfirmed в объявлении, а также длинную и короткую позицию входа, но он по-прежнему выдает несколько предупреждений на мою торговую платформу в течение доли секунд.