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