I want to set stop loss order based on price changing for each new entry order. The problem is that stop loss is executed only for the first order. I wrote the code this way:
//@version=4
strategy("Mutual funds RSI Index",
"MF_RSI_IDX",
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
initial_capital=1000,
calc_on_order_fills=true,
currency=currency.USD,
commission_type=strategy.commission.percent,
commission_value=0.29,
process_orders_on_close=true)
if (rsi(close, 14) < 30)
strategy.entry("buy", strategy.long)
stopLoss = strategy.position_avg_price * 0.80
lastPeak = close * 0.80
sellSignal0 = rsi(close, 14) > 70
sellSignal1 = falling(close, 5)
sellSignal2 = stopLoss >= close
sellSignal3 = lastPeak >= close
strategy.close("buy", when = sellSignal2 or sellSignal3)
plotchar(lastPeak, char="x", location=location.absolute)
plot(strategy.equity)
Can someone explain to me what is wrong with this code?
sellSignal0isn't defined. Could you provide minimal working snippet? - Michel_T.strategy()function? - Michel_T.The order is executed twice, and the second entry is never closedentry order or exit? Could you post minimal working script which could be applied to the chart and I could see the problem? - Michel_T.