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