यह एक ट्रेंड ट्रैकिंग रणनीति है जो ट्रेंड निर्धारित करने के लिए बोलिंगर बैंड और स्टॉप लॉस और ले लाभ सेट करने के लिए एटीआर का उपयोग करती है। यह पहले बाजार की प्रवृत्ति का न्याय करती है, एक ट्रेंड लाइन खींचती है, और बंद होने पर स्टॉप लॉस और ले लाभ सेट करती है।
यह एक रणनीति है जो प्रवृत्ति को निर्धारित करने के लिए बोलिंगर बैंड का उपयोग करती है और प्रवृत्ति रेखा के आधार पर स्टॉप लॉस और ले लाभ निर्धारित करती है। मुख्य लाभ स्पष्ट प्रवृत्ति निर्णय, उचित स्टॉप लॉस और जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए लाभ सेटिंग्स हैं। मुख्य जोखिम बोलिंगर बैंड के गलत प्रवृत्ति निर्णय और स्टॉप लॉस के बहुत करीब होने से आते हैं। भविष्य के अनुकूलन दिशाओं में पैरामीटर अनुकूलन, प्रवृत्ति रेखा गणना अनुकूलन और स्टॉप लॉस ले लाभ अनुकूलन शामिल हैं।
/*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)