So I’ve been trying to make a new simple strategy based on Stoch RSI and it was successful with this simple code
strategy("Long Strategy", overlay=true)
length = input.int(10, minval=1)
OverBought = input(85)
OverSold = input(5)
smoothK = 3
smoothD = 3
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
b = ta.crossover(k,OverSold)
s = ta.crossunder(d,OverBought)
strategy.entry("Buy", strategy.long, when=(b and k > OverSold), comment="Buy")
strategy.close("Buy", when=(s and d < OverBought), comment="Sell")
But i wanted to edit it so that the strategy.close would be fulfilled only when above entry price. so, I edited the code, and for the past 3 hours I’ve been trying to find what’s wrong with line 17 but I can’t seem to.
error says "line 17: Syntax error at input ‘strategy.long’."
the code after editing is as follows
strategy("Stoch. RSI", format=format.price, overlay=true)
length = input.int(10, minval=1)
OverBought = input(85)
OverSold = input(5)
smoothK = 3
smoothD = 3
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
b = ta.crossover(k,OverSold)
s = ta.crossunder(d,OverBought)
var price = 0.0
if (b and k > OverSold) and strategy.position_size == 0
price := close`
strategy.entry(id="buy", strategy.long , comment="Buy")
if (s and d < OverBought) and (price > close)
strategy.close(id="buy", comment="Sell")
>Solution :
var price = 0.0
if (b and k > OverSold) and strategy.position_size == 0
price := close
strategy.entry("buy", strategy.long, comment="Buy")
I removed the "id=" and it worked.