यह रणनीति उपयोगकर्ता के ईएमए और परिभाषित प्रतिशत चैनल के चयन पर आधारित है। जब कीमत ऊपरी बैंड से नीचे होती है तो यह लंबी जाती है और जब कीमत निचले बैंड से ऊपर होती है तो यह छोटी जाती है। यदि कीमत प्रवृत्ति शुरू करती है और चैनल के बाहर चलती है, तो नुकसान को रोकने के लिए सभी पद बंद हो जाते हैं।
ट्रेंडिंग बाजारों के लिए, बहन
200 अवधि के ईएमए की गणना आधार रेखा ईएमए के रूप में की जाए।
उपरी और निचले बैंड की गणना उपयोगकर्ता द्वारा परिभाषित प्रतिशत के आधार पर की जाती है: ऊपरी बैंड = ईएमए * (1 + प्रतिशत) निचला बैंड = ईएमए * (1 - प्रतिशत)
चैनल रेंज को दर्शाने के लिए 20 अवधि के बोलिंगर बैंड की गणना करें।
जब बंद होने की कीमत नीचे से निचले बोलिंगर बैंड के ऊपर से पार हो जाती है, तब लॉन्ग करें। जब बंद होने की कीमत ऊपर से ऊपरी बोलिंगर बैंड के नीचे से पार हो जाती है, तब शॉर्ट करें।
अत्यधिक घाटे से बचने के लिए स्टॉप लॉस की गणना करने के लिए एटीआर का प्रयोग करें।
यदि मूल्य परिभाषित प्रतिशत चैनल सीमा से बाहर चले, तो आगे के नुकसान को रोकने के लिए सभी पदों को बंद करें।
ईएमए आधार रेखा प्रवृत्ति उलट बिंदुओं को बेहतर ढंग से पकड़ने में मदद करती है।
प्रतिशत चैनल ओवरट्रेडिंग से बचने के लिए एक उचित ट्रेडिंग रेंज निर्धारित करता है।
बोलिंगर बैंड प्रवेश समय में सहायता के लिए समर्थन और प्रतिरोध स्तर प्रदान करते हैं।
एटीआर ट्रैलिंग स्टॉप गतिशील रूप से प्रति व्यापार जोखिम को प्रभावी ढंग से नियंत्रित करने के लिए स्टॉप लॉस सेट करता है।
जब कीमत चैनल को तोड़ती है तो सभी पदों को बंद करने से नुकसान जल्दी से नियंत्रित हो जाता है।
अनुकूलन योग्य मापदंड विभिन्न बाजार स्थितियों के लिए लचीले होते हैं।
बहुत व्यापक चैनल रेंज में रुझानों को मिस किया जा सकता है या नुकसान रोकने में देरी हो सकती है।
बहुत संकीर्ण चैनल रेंज से ओवरट्रेडिंग हो सकती है और लेनदेन की लागत बढ़ सकती है।
खराब बोलिंगर बैंड्स पैरामीटर सेटिंग्स के कारण व्यापार के अवसरों को खोया जा सकता है।
स्टॉप लॉस की सीमा बहुत ढीली सेट करने से प्रति ट्रेड अत्यधिक नुकसान हो सकता है।
इष्टतम ट्रेडिंग रेंज खोजने के लिए मापदंडों को अनुकूलित करने की आवश्यकता है।
सबसे उपयुक्त चलती औसत खोजने के लिए विभिन्न ईएमए अवधि का परीक्षण करें।
इष्टतम चैनल रेंज निर्धारित करने के लिए प्रतिशत चैनल मापदंडों का अनुकूलन करें।
अस्थिरता को बेहतर ढंग से पकड़ने के लिए बोलिंगर बैंड्स अवधि को समायोजित करें।
स्टॉप लॉस रणनीति को और परिष्कृत करने के लिए एटीआर अवधि और गुणक को समायोजित करें।
ईएमए के ऊपर या ईएमए के नीचे केवल लंबी अवधि का परीक्षण करें और देखें कि क्या यह जीत दर में सुधार करता है।
यह निर्धारित करने के लिए रुझान संकेतकों को शामिल करें कि क्या जल्दी से बाहर निकलने की आवश्यकता है।
यह रणनीति एक अपेक्षाकृत स्थिर रेंज ट्रेडिंग प्रणाली बनाने के लिए चलती औसत, चैनलों, अस्थिरता और अधिक की ताकतों को जोड़ती है। भविष्य में सुधार नियमों और मापदंडों को अनुकूलित करना जारी रख सकते हैं, या प्रवृत्ति रणनीतियों के साथ संयोजन कर सकते हैं।
/*backtest start: 2023-11-05 00:00:00 end: 2023-11-12 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="[mdeacey] EMA% Channel + BB Range Strategy", shorttitle="[mdeacey] EMA% Channel + BB Range Strategy", overlay=true) //EMA 200 len = input(title="EMA Length", type=input.integer, defval=200) srce = input(title="EMA Source", type=input.source, defval=close) ema1= ema(srce,len) percent = input(title="Channel Percentage (%)", type=input.float, defval= 1) valuee = (percent*ema1)/100 upperbande = ema1 + valuee lowerbande = ema1 - valuee plot(ema1, title='EMA200', color=color.gray, linewidth=1, style=plot.style_line ) plot(upperbande, title='EMA Upper Band', color=color.gray, linewidth=1, style=plot.style_line ) plot(lowerbande, title='EMA Lower Band', color=color.gray, linewidth=1, style=plot.style_line ) length = input(20, minval=2) src = input(close, title="Close price") mult = input(2.0, 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) upperBand = plot(upper, color=color.gray, linewidth=1) lowerBand = plot(lower, color=color.gray, linewidth=1) fill(upperBand, lowerBand,color=color.gray) strategy.entry("Long",true,when = crossover(close,lower) and close <upperbande and close>lowerbande) strategy.close("Long",when = crossunder(close,lowerbande)) strategy.entry("Short",false,when = crossunder(close,upper) and close <upperbande and close>lowerbande) strategy.close("Short",when = crossover(close,upperbande)) //Inputs atrPeriod = input(defval=14, title="ATR Period",group='ATR Settings', type=input.integer) // Adjust this to change the ATR calculation length multiplierPeriod = input(defval=1.75, title="ATR Multiplier Period",group='ATR Settings', 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","Long",limit=upper ,stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod) ) strategy.exit("eExit Short","Short",limit=lower ,stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod) )