Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=5
- strategy(shorttitle='ChatGPT Strategy by Kralow', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
- src = input(close)
- length = input.int(34, minval=1)
- mult = input.float(2.0, minval=0.001, maxval=50)
- basis = ta.sma(src, length)
- dev = ta.stdev(src, length)
- dev2 = mult * dev
- upper1 = basis + dev
- lower1 = basis - dev
- upper2 = basis + dev2
- lower2 = basis - dev2
- colorBasis = src >= basis ? color.blue : color.orange
- pBasis = plot(basis, linewidth=2, color=colorBasis)
- pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
- pUpper2 = plot(upper2, color=color.new(color.blue, 0))
- pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
- pLower2 = plot(lower2, color=color.new(color.orange, 0))
- fill(pBasis, pUpper2, color=color.new(color.blue, 80))
- fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
- fill(pBasis, pLower2, color=color.new(color.orange, 80))
- fill(pLower1, pLower2, color=color.new(color.orange, 80))
- // Strategy Entry and Exit Conditions
- longCondition = close > upper2
- shortCondition = close < lower2
- if longCondition
- strategy.entry("Long", strategy.long)
- if shortCondition
- strategy.entry("Short", strategy.short)
- var float long_trailing_stop = na
- var float short_trailing_stop = na
- if strategy.position_size > 0
- long_trailing_stop := close > long_trailing_stop ? close : long_trailing_stop - dev2
- if strategy.position_size < 0
- short_trailing_stop := close < short_trailing_stop ? close : short_trailing_stop + dev2
- strategy.exit("Long", "Close Long", stop = long_trailing_stop)
- strategy.exit("Short", "Close Short", stop = short_trailing_stop)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement