यह लेख चैनल ब्रेकआउट का उपयोग करके एक ट्रेंड ट्रेडिंग रणनीति का विस्तार से वर्णन करता है। यह ईएमए चैनलों के साथ ट्रेंड दिशा की पहचान करता है और बोलिंगर बैंड का उपयोग करके काउंटर-ट्रेंड ट्रेड करता है।
I. रणनीतिक तर्क
इसके मुख्य घटक हैंः
मध्य ईएमए सेट करें और प्रतिशत के आधार पर ऊपरी/नीचे के चैनलों का विस्तार करें।
रुझानों का पालन करने के लिए ऊपरी चैनल ब्रेकआउट पर लॉन्ग और निचले चैनल ब्रेकआउट पर शॉर्ट करें।
जब बीबी संकुचित होता है, तो विपरीत प्रवृत्ति के लिए ट्रेडों के लिए रुझान उलट का न्याय करें।
हानि के जोखिम को सीमित करने के लिए एटीआर स्टॉप का प्रयोग करें।
अनुकूलन योग्य चैनल पैरामीटर अनुकूलन के लिए।
यह एक पूर्ण प्रणाली बनाने के लिए प्रवृत्ति की दिशा के लिए ईएमए चैनलों और उलटफेर के लिए बीबी चैनलों को जोड़ती है।
II. रणनीति के फायदे
इसका सबसे बड़ा लाभ संकेतक का उचित उपयोग है, जिसमें ईएमए मुख्यधारा के रुझान और बीबी रिवर्स के लिए निर्धारित करता है।
जोखिम नियंत्रण के लिए एक और लाभ प्रत्यक्ष और प्रभावी स्टॉप लॉस है।
अंत में, अनुकूलन योग्य मापदंड उत्पादों में अनुकूलन की अनुमति देते हैं।
III. संभावित जोखिम
हालांकि, कुछ जोखिम मौजूद हैंः
सबसे पहले, ईएमए और बीबी दोनों के पास समस्याएं हैं।
दूसरे, असफल रिवर्सल ट्रेडों पर विचार करने की आवश्यकता है।
अंत में, ओवरफिटिंग से बचने के लिए व्यापक अनुकूलन की आवश्यकता है।
IV. सारांश
संक्षेप में, इस लेख में ईएमए चैनल ब्रेकआउट पर आधारित एक प्रवृत्ति के बाद की रणनीति की व्याख्या की गई है, जिसमें उल्टा होने पर काउंटर-ट्रेंड ट्रेड होते हैं। यह पैरामीटर अनुकूलन के माध्यम से स्थिर लाभ प्राप्त कर सकता है लेकिन अनुकूलन कठिनाई और संकेतक अंतराल का प्रबंधन करने की आवश्यकता होती है।
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="[mdeacey] EMA Percentage Channel + Bollinger Band Trending Strategy", shorttitle="[mdeacey] EMA% Channel + BB Trend Strategy", overlay=true) //EMA 200 len = input(title="EMA Length", type=input.integer, defval=100) srce = input(title="EMA Source", type=input.source, defval=close) ema1= ema(srce,len) percent = input(title="Inside Channel (%)", type=input.float, defval= 1) valuee = (percent*ema1)/100 upperbande = ema1 + valuee lowerbande = ema1 - valuee ///2 percent2 = input(title="Outside Channel (%)", type=input.float, defval= 2) valuee2 = (percent2*ema1)/100 upperbande2 = ema1 + valuee2 lowerbande2 = ema1 - valuee2 plot(upperbande, title='Inside Channel Upperband', color=color.black, linewidth=1, style=plot.style_line ) plot(lowerbande, title='Inside Channel Lowerband', color=color.black, linewidth=1, style=plot.style_line ) plot(upperbande2, title='Outside Channel Upperband', color=color.black, linewidth=1, style=plot.style_line ) plot(lowerbande2, title='Outside Channel Lowerband', color=color.black, linewidth=1, style=plot.style_line ) length = input(20, minval=2) src = input(close, title="Close price") mult = input(2.0, title="Multiplier", minval=0.001, maxval=50) MA2 = sma(src, length) dev = mult * stdev(src, length) upper = MA2 + dev lower = MA2 - dev signalColor = crossunder(close, upper) ? color.red : crossover(close, lower) ? color.green : color.white barcolor(color=signalColor) nopo= strategy.position_size==0 upperBand = plot(upper, title='Upper Bollinger Band', color=color.gray, linewidth=1) lowerBand = plot(lower, title='Lower Bollinger Band', color=color.gray, linewidth=1) fill(upperBand, lowerBand, title='Bollinger Band', color=color.black) strategy.entry("Long",true,when = crossover(close,lower) and close <lowerbande and close>lowerbande2) strategy.close("Long",when = crossunder(close,lowerbande2))//crossunder(close,lowerbande) or crossunder(close,lowerbande2)) strategy.entry("Short",false,when = crossunder(close,upper) and close >upperbande and close<upperbande2) strategy.close("Short",when = crossover(close,upperbande2) )//crossover(close,upperbande) or crossover(close,upperbande2) ) //Inputs atrPeriod = input(defval=14, title="ATR Period",group='ATR Stoploss', type=input.integer) // Adjust this to change the ATR calculation length multiplierPeriod = input(defval=1.75, title="ATR Multiplier",group='ATR Stoploss', type=input.float)// Adjust this to change the distance between your candles and the line //ATR Calculation pine_rma(x, y) => alpha = y sum = 0.0 sum := (x + (alpha - 1) * nz(sum[1])) / alpha true_range() => max(high - low, max(abs(high - close[1]), abs(low - close[1]))) //Long SL plot(low - pine_rma(true_range() * multiplierPeriod, atrPeriod), "Long Stop", color=color.red, offset = 1) // Short SL plot(high +pine_rma(true_range() * multiplierPeriod, atrPeriod), "Short Stop", color=color.red, offset = 1) strategy.exit("Exit","Long",limit=upper ,stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod) ) strategy.exit("Exit","Short",limit=lower ,stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod) ) /////////////////////new strategy strategy.entry("Long",true,stop =upperbande ,when = close <upperbande and close[1] <upperbande and nopo ) strategy.close("Long",when = crossunder(close,upper) )// and close <upperbande and close>lowerbande) strategy.entry("Short",false,stop =lowerbande ,when = close >lowerbande and close[1] >lowerbande and nopo ) strategy.close("Short",when = crossover(close, lower) ) strategy.exit("Exit","Long",stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod) ) strategy.exit("Exit","Short",stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod) )