
এই কৌশলটি একটি ট্রেডিং সিস্টেম যা একটি কাস্টমাইজড G-চ্যানেল এবং সূচকীয় মুভিং এভারেজ (EMA) এর উপর ভিত্তি করে ট্রেন্ড ট্র্যাকিং করে। G-চ্যানেলগুলি আপ-ট্র্যাক (a), ডাউন-ট্র্যাক (b) এবং মিড-ট্র্যাক (avg) দ্বারা গঠিত হয় এবং চ্যানেলের সীমানা নির্ধারণের জন্য বর্তমান এবং ঐতিহাসিক মূল্যের গতিশীল গণনা করে। এই কৌশলটি EMA কে ট্রেন্ড ফিল্টার হিসাবে ব্যবহার করে, যা একটি ট্রেডিং সিগন্যাল তৈরি করে এবং কার্যকরভাবে বাজারের ট্রেন্ডের বিপরীত পয়েন্টগুলিকে ক্যাপচার করে।
কৌশলটির কেন্দ্রীয় লজিকের দুটি প্রধান উপাদান রয়েছেঃ জি-চ্যানেল এবং ইএমএ ফিল্টার। জি-চ্যানেলের গণনা বর্তমান মূল্য এবং ঐতিহাসিক তথ্যের উপর ভিত্তি করে করা হয়, এবং স্বনির্ধারিত অ্যালগরিদমের মাধ্যমে চ্যানেলের প্রস্থকে গতিশীলভাবে সামঞ্জস্য করা হয়। উপরের ট্র্যাকিং (a) বর্তমান মূল্যকে পূর্ববর্তী সময়ের উচ্চতর মানের সাথে সামঞ্জস্য করে এবং চ্যানেলের প্রস্থ এবং দৈর্ঘ্যের প্যারামিটার অনুসারে গতিশীলভাবে সামঞ্জস্য করে; নিচের ট্র্যাকিং (b) অনুরূপ পদ্ধতি ব্যবহার করে ন্যূনতম মান গণনা করা হয়; মধ্যম ট্র্যাকিংটি উপরের-নিচের ট্র্যাকিংয়ের গড় মান। লেনদেনের সংকেতের ট্রিগারটি মূল্য এবং চ্যানেলের লাইনগুলির ক্রস এবং ইএমএর সাথে সম্পর্কিত অবস্থানের সমন্বয়ে একটি ট্রেডিং সিগন্যাল তৈরি করেঃ যখন দামটি ট্র্যাকের নীচে এবং ইএমএর নীচে থাকে তখন একটি ক্রয় সংকেত উত্পন্ন করে; যখন দামটি ট্র্যাক্ট করে এবং ইএমএর উপরে
জি চ্যানেল এবং ইএমএ ট্রেন্ড ফিল্টারিং ট্রেডিং সিস্টেম একটি সম্পূর্ণ ট্রেডিং কৌশল যা চ্যানেল ব্রেকিং এবং ট্রেন্ড ট্র্যাকিংয়ের সমন্বয় করে। জি চ্যানেলের গতিশীল বৈশিষ্ট্য এবং ইএমএর ট্রেন্ড কনফার্মেশন ফাংশনগুলির মাধ্যমে, কৌশলটি কার্যকরভাবে বাজার টার্নপয়েন্টগুলিকে ক্যাপচার করতে এবং ট্রেডিং ঝুঁকি নিয়ন্ত্রণ করতে সক্ষম। যদিও কিছু সীমাবদ্ধতা রয়েছে, তবে প্রস্তাবিত অপ্টিমাইজেশনের দিকনির্দেশের মাধ্যমে কৌশলটির সামগ্রিক কার্যকারিতা আরও উন্নত হওয়ার সম্ভাবনা রয়েছে। কৌশলটি প্রবণতাযুক্ত বাজারে ব্যবহারের জন্য উপযুক্ত এবং আরও জটিল ট্রেডিং সিস্টেমের জন্য একটি মৌলিক কাঠামো হিসাবে কাজ করতে পারে।
/*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")