#pine-script #pine-script-v4
Вопрос:
Так что я совсем новичок в сосне и пытаюсь осознать это
Я не знаю, как принять цену входа в длинный ордер, который я устанавливаю, поэтому я попробовал это, но я получаю неправильные результаты, я предполагаю, потому что средняя цена позиции продолжает меняться, в то время как longcond верен
strategy("wtf", overlay = true, initial_capital = 100) ema50 = ema(close, 50) ema200 = ema(close, 200) plot(ema50) plot(ema200) TP = 0.0 SL = 0.0 longCond = (ema50 gt; ema200) if (longCond) strategy.entry("long", strategy.long) TP := strategy.position_avg_price * 1.2 SL := strategy.position_avg_price * 0.8 strategy.exit("close", "long", limit = TP, stop = SL)``` how can I set an order and take the entry price to then set a limit and stop order for TP and SL
Ответ №1:
По умолчанию стратегические ордера будут выставляться при открытии бара. Вы можете сравнить strategy.position_size
его с предыдущим значением, чтобы выяснить, открыли ли вы новую длинную позицию, и сохранить цену открытия.
//@version=5 strategy("wtf", overlay = true, initial_capital = 100) ema50 = ta.ema(close, 50) ema200 = ta.ema(close, 200) TP = 0.0 SL = 0.0 longCond = (ema50 gt; ema200) if (longCond) strategy.entry("long", strategy.long) TP := strategy.position_avg_price * 1.2 SL := strategy.position_avg_price * 0.8 var buyPrice = 0.0 buyPrice := ta.valuewhen((strategy.position_size gt; strategy.position_size[1]), open, 0) strategy.exit("close", "long", limit = TP, stop = SL) plot(buyPrice)