Я не могу понять сценарий pine (более 3000 заказов)

#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)  

введите описание изображения здесь