জি-চ্যানেল ট্রেন্ড ডিটেকশন কৌশল হল জি-চ্যানেল সূচক উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। কৌশলটি জি-চ্যানেলের উপরের এবং নীচের প্রান্তগুলি গণনা করে এবং মূল্যের ক্রসওভার এবং জি-চ্যানেল চলমান গড়ের উপর ভিত্তি করে বর্তমান বাজারের প্রবণতা নির্ধারণ করে, সেই অনুযায়ী ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে। অতিরিক্তভাবে, কৌশল সেটগুলি ঝুঁকি নিয়ন্ত্রণের জন্য মুনাফা এবং স্টপ লস শর্তগুলি নেয়।
জি-চ্যানেল ট্রেন্ড ডিটেকশন কৌশলটি জি-চ্যানেল সূচকের উপর ভিত্তি করে একটি সহজ পরিমাণগত ট্রেডিং কৌশল যা বাজারের প্রবণতা ক্যাপচার করে এবং ঝুঁকি নিয়ন্ত্রণের জন্য লাভ এবং স্টপ লস শর্তগুলি সেট করে ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে। কৌশল যৌক্তিকতা স্পষ্ট এবং বাস্তবায়ন করা সহজ, যা পরিমাণগত ট্রেডিংয়ে নতুনদের জন্য এটি শিখতে উপযুক্ত করে তোলে। তবে কৌশলটি ওঠানামা বাজারে আরও মিথ্যা সংকেত উত্পন্ন করতে পারে এবং লাভ এবং স্টপ লস শতাংশগুলি বাজারের বৈশিষ্ট্য অনুসারে সামঞ্জস্য করতে হবে। তদতিরিক্ত, এটি ট্রেড করা সম্পদের বিশেষত্ব বিবেচনা করে না। ভবিষ্যতে, কৌশলটি অন্যান্য প্রযুক্তিগত সূচক প্রবর্তন করে, গতিশীলভাবে লাভ এবং স্টপ লস শতাংশগুলি সামঞ্জস্য করে এবং কৌশলটির স্থায়িত্ব এবং লাভজনকতা উন্নত করতে ট্রেড করা সম্পদের বৈশিষ্ট্যগুলির উপর ভিত্তি করে ঝুঁকি নিয়ন্ত্রণ মডিউল যুক্ত করে অনুকূলিত করা যেতে পারে।
//@version=5 // Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/ strategy("G-Channel Trend Detection Strategy", shorttitle="G-Trend", overlay=true) // Input parameters length = input.int(100, title="Length") src = input(close, title="Source") take_profit_percent = input.float(5.0, title="Take Profit (%)") stop_loss_percent = input.float(2.0, title="Stop Loss (%)") showcross = input.bool(true, title="Show Cross") // Initialize variables var float a = na var float b = na // Calculate a and b 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 // Calculate average avg = (a + b) / 2 // Determine trend and color crossup = ta.crossunder(b, close) crossdn = ta.crossunder(a, close) bullish = ta.barssince(crossdn) <= ta.barssince(crossup) c = bullish ? color.lime : color.red // Plotting p1 = plot(avg, "Average", color=c, linewidth=1) p2 = plot(close, "Close price", color=c, linewidth=1) fill(p1, p2, c) // Generate buy and sell signals buy_signal = showcross and bullish and not bullish[1] sell_signal = showcross and not bullish and bullish[1] // Plot buy and sell signals on chart plotshape(buy_signal ? avg : na, location=location.belowbar, style=shape.labeldown, color=color.new(color.lime, 0), size=size.tiny, text="Buy", textcolor=color.white, offset=-1) plotshape(sell_signal ? avg : na, location=location.abovebar, style=shape.labelup, color=color.new(color.red, 0), size=size.tiny, text="Sell", textcolor=color.white, offset=-1) // Alerts alertcondition(buy_signal, title="Buy Signal", message="Buy Signal Detected") alertcondition(sell_signal, title="Sell Signal", message="Sell Signal Detected") // Calculate take profit and stop loss levels take_profit_level = close * (1 + take_profit_percent / 100) stop_loss_level = close * (1 - stop_loss_percent / 100) // Strategy Entry and Exit if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Define the take profit and stop loss conditions for long positions strategy.exit("Take Profit/Stop Loss", "Buy", limit=take_profit_level, stop=stop_loss_level) // Define the take profit and stop loss conditions for short positions strategy.exit("Take Profit/Stop Loss", "Sell", limit=close * (1 - take_profit_percent / 100), stop=close * (1 + stop_loss_percent / 100))