এটি একটি প্রবণতা ট্র্যাকিং কৌশল যা প্রবণতা নির্ধারণের জন্য বোলিংজার ব্যান্ড এবং স্টপ লস এবং লাভ নেওয়ার জন্য এটিআর ব্যবহার করে। এটি প্রথমে বাজারের প্রবণতা বিচার করে, একটি প্রবণতা লাইন আঁকে এবং অবস্থান বন্ধ করার সময় স্টপ লস এবং লাভ নেয়।
এটি এমন একটি কৌশল যা ট্রেন্ড নির্ধারণের জন্য বোলিংজার ব্যান্ড ব্যবহার করে এবং ট্রেন্ড লাইনের ভিত্তিতে স্টপ লস এবং লাভ নির্ধারণ করে। মূল সুবিধাগুলি হ'ল স্পষ্ট ট্রেন্ড বিচার, যুক্তিসঙ্গত স্টপ লস এবং ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করার জন্য লাভের সেটিংস গ্রহণ করা। মূল ঝুঁকিগুলি বোলিংজার ব্যান্ডের ভুল ট্রেন্ড বিচার এবং স্টপ লসের খুব কাছাকাছি থেকে আসে। ভবিষ্যতের অপ্টিমাইজেশান দিকগুলির মধ্যে প্যারামিটার অপ্টিমাইজেশন, ট্রেন্ড লাইন গণনার অপ্টিমাইজেশন এবং স্টপ লস লাভের অপ্টিমাইজেশন অন্তর্ভুক্ত।
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © zhuenrong // © Dreadblitz //@version=4 strategy(shorttitle="FLI", title="Follow Line Indicator", overlay=true) // BBperiod = input(defval = 21, title = "BB Period", type = input.integer, minval = 1) BBdeviations = input(defval = 1.00, title = "BB Deviations", type = input.float, minval = 0.1, step=0.05) UseATRfilter = input(defval = true, title = "ATR Filter", type = input.bool) ATRperiod = input(defval = 5, title = "ATR Period", type = input.integer, minval = 1) hl = input(defval = false, title = "Hide Labels", type = input.bool) // BBUpper=sma (close,BBperiod)+stdev(close, BBperiod)*BBdeviations BBLower=sma (close,BBperiod)-stdev(close, BBperiod)*BBdeviations // TrendLine = 0.0 iTrend = 0.0 buy = 0.0 sell = 0.0 // BBSignal = close>BBUpper? 1 : close<BBLower? -1 : 0 // if BBSignal == 1 and UseATRfilter == 1 TrendLine:=low-atr(ATRperiod) if TrendLine<TrendLine[1] TrendLine:=TrendLine[1] if BBSignal == -1 and UseATRfilter == 1 TrendLine:=high+atr(ATRperiod) if TrendLine>TrendLine[1] TrendLine:=TrendLine[1] if BBSignal == 0 and UseATRfilter == 1 TrendLine:=TrendLine[1] // if BBSignal == 1 and UseATRfilter == 0 TrendLine:=low if TrendLine<TrendLine[1] TrendLine:=TrendLine[1] if BBSignal == -1 and UseATRfilter == 0 TrendLine:=high if TrendLine>TrendLine[1] TrendLine:=TrendLine[1] if BBSignal == 0 and UseATRfilter == 0 TrendLine:=TrendLine[1] // iTrend:=iTrend[1] if TrendLine>TrendLine[1] iTrend:=1 if TrendLine<TrendLine[1] iTrend:=-1 // buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na sell:=iTrend[1]==1 and iTrend==-1? 1 : na // plot(TrendLine, color=iTrend > 0?color.blue:color.red ,style=plot.style_line,linewidth=2,transp=0,title="Trend Line") plotshape(buy == 1 and hl == false? TrendLine-atr(8) :na, text='💣', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto) plotshape(sell == 1 and hl == false ?TrendLine+atr(8):na, text='🔨', style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white, offset=0, transp=0,size=size.auto) // alertcondition(sell == 1 ,title="Sell",message="Sell") alertcondition(buy == 1 ,title="Buy",message="Buy") alertcondition(buy == 1 or sell == 1 ,title="Buy/Sell",message="Buy/Sell") if (buy==1) strategy.entry("Buy", strategy.long) if (sell==1) strategy.entry("Sell", strategy.short) // === Stop LOSS === if strategy.position_size>0 strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1) if strategy.position_size<0 strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*0.9)