Я пытаюсь установить статический стоп-лосс на основе минимума колебания во время входа. но когда я попробовал следующее, стоп-лосс продолжал меняться с каждым баром, так как были новые минимальные минимумы.
SwingLowBars=20
longStop = lowest(low, SwingLowBars)[1]
longTake = strategy.position_avg_price + ((strategy.position_avg_price-longStop)*3)
мне нужна функция, которая продолжает добавлять +1 к переменной SwingLowBars с каждой новой свечой в позиции, чтобы longTake оставался статичным и не менялся, когда самый низкий бар находится на расстоянии более 20 баров.
Вы можете запомнить значение SL в переменной «var»:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © adolgov
//@version=4
strategy("My Strategy", overlay=true)
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
SwingLowBars=20
longStop = lowest(low, SwingLowBars)[1]
var sl = float(na)
if strategy.position_size !=0 and strategy.position_size[1] == 0
sl := strategy.position_avg_price - ((strategy.position_avg_price-longStop)*3)
strategy.exit("x", stop = sl)