यह रणनीति कस्टम जी-चैनल और एक्सपोनेंशियल मूविंग एवरेज (ईएमए) के आधार पर एक ट्रेंड-फॉलोइंग ट्रेडिंग सिस्टम है। जी-चैनल में ऊपरी (ए), निचली (बी), और मध्य (एवीजी) लाइनें होती हैं, जो वर्तमान और ऐतिहासिक कीमतों की गतिशील गणना के माध्यम से चैनल की सीमाओं को निर्धारित करती हैं। यह रणनीति ईएमए को एक ट्रेंड फिल्टर के रूप में जोड़ती है, जो चैनल लाइनों और ईएमए के सापेक्ष स्थिति के साथ मूल्य क्रॉसओवर के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करती है, प्रभावी रूप से बाजार की प्रवृत्ति उलट बिंदुओं को कैप्चर करती है।
मुख्य तर्क में दो मुख्य घटक शामिल हैंः जी-चैनल और ईएमए फ़िल्टर। जी-चैनल गणनाएं वर्तमान कीमतों और ऐतिहासिक डेटा पर आधारित हैं, एक अनुकूलन एल्गोरिथ्म के माध्यम से चैनल चौड़ाई को गतिशील रूप से समायोजित करती हैं। ऊपरी रेखा (ए) वर्तमान मूल्य और पिछली ऊपरी रेखा का अधिकतम लेता है, जिसे चैनल चौड़ाई और लंबाई मापदंडों द्वारा समायोजित किया जाता है; निचली रेखा (बी) न्यूनतम मूल्यों के लिए एक समान विधि का उपयोग करती है; मध्य रेखा अंकगणितीय औसत है। ट्रेडिंग सिग्नल चैनल लाइनों और ईएमए के सापेक्ष स्थिति के साथ मूल्य क्रॉसओवर को जोड़कर ट्रिगर किए जाते हैंः ईएमए के नीचे होने पर कीमत निचली रेखा से ऊपर टूटने पर खरीद सिग्नल होते हैं; ईएमए के नीचे होने पर कीमत ऊपरी रेखा को तोड़ने पर सिग्नल बेचते हैं।
जी-चैनल और ईएमए ट्रेंड फिल्टर ट्रेडिंग सिस्टम एक पूर्ण ट्रेडिंग रणनीति है जो चैनल ब्रेकआउट और ट्रेंड फॉलोइंग को जोड़ती है। जी-चैनल की गतिशील विशेषताओं और ईएमए के ट्रेंड कन्फर्मेशन फ़ंक्शन के माध्यम से, रणनीति प्रभावी रूप से ट्रेडिंग जोखिमों को नियंत्रित करते हुए बाजार के मोड़ बिंदुओं को पकड़ती है। हालांकि कुछ सीमाएं मौजूद हैं, प्रस्तावित अनुकूलन दिशाओं के माध्यम से रणनीति के समग्र प्रदर्शन में और सुधार किया जा सकता है। यह रणनीति ट्रेंडिंग बाजारों के लिए उपयुक्त है और अधिक जटिल ट्रेडिंग सिस्टम के निर्माण के लिए एक आधारभूत ढांचे के रूप में कार्य कर सकती है।
/*backtest start: 2024-11-04 00:00:00 end: 2024-12-04 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("G-Channel with EMA Strategy", overlay=true) // G-Channel Indicator length = input.int(100, title="G-Channel Length") src = input(close, title="Source") var float a = na var float b = na a := math.max(src, nz(a[1])) - (nz(a[1]) - nz(b[1])) / length b := math.min(src, nz(b[1])) + (nz(a[1]) - nz(b[1])) / length avg = (a + b) / 2 // G-Channel buy/sell signals crossup = ta.crossover(close, b) crossdn = ta.crossunder(close, a) bullish = ta.barssince(crossdn) <= ta.barssince(crossup) // EMA Indicator emaLength = input.int(200, title="EMA Length") ema = ta.ema(close, emaLength) // Buy Condition: G-Channel gives a buy signal and price is below EMA buySignal = bullish and close < ema // Sell Condition: G-Channel gives a sell signal and price is above EMA sellSignal = not bullish and close > ema // Plotting the G-Channel and EMA plot(a, title="Upper", color=color.blue, linewidth=2, transp=100) plot(b, title="Lower", color=color.blue, linewidth=2, transp=100) plot(avg, title="Average", color=bullish ? color.lime : color.red, linewidth=1, transp=90) plot(ema, title="EMA", color=color.orange, linewidth=2) // Strategy Execution if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.entry("Sell", strategy.short) // Plot Buy/Sell Signals plotshape(buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")