এটি ডনচিয়ান চ্যানেলের উপর ভিত্তি করে একটি গতির ব্রেকআউট ট্রেডিং কৌশল, যা মূল শর্ত হিসাবে মূল্য ব্রেকআউট এবং ভলিউম নিশ্চিতকরণকে একত্রিত করে। কৌশলটি পূর্বনির্ধারিত পরিসরের বাইরে দামের ব্রেকআউট পর্যবেক্ষণ করে বাজারের ঊর্ধ্বমুখী প্রবণতা ক্যাপচার করে যখন ভলিউম সমর্থন প্রয়োজন। এটি চ্যানেলের স্থিতিশীলতা বাড়ানোর জন্য একটি বিলম্ব পরামিতি অন্তর্ভুক্ত করে এবং নমনীয় প্রস্থান শর্ত সরবরাহ করে।
মূল যুক্তিতে নিম্নলিখিত মূল উপাদানগুলি অন্তর্ভুক্ত রয়েছেঃ ১. ২৭টি সময়ের মধ্যে সর্বোচ্চ ও সর্বনিম্ন দাম ব্যবহার করে নির্মিত প্রাথমিক প্রযুক্তিগত সূচক হিসাবে একটি পিছিয়ে থাকা ডনচিয়ান চ্যানেল ব্যবহার করে। ২. প্রবেশের শর্তাদি উভয়ই প্রয়োজনঃ - বন্ধের মূল্য ডোনচিয়ান চ্যানেলের উপরের ব্যাংকের উপরে ভাঙ্গন করে - বর্তমান ভলিউম ২৭ পেরিওডের গড় ভলিউমের ১.৪ গুণ বেশি ৩. নমনীয় প্রস্থান শর্তঃ - যখন দাম উপরের, মধ্যম, বা নীচের ব্যান্ডের নিচে পড়ে তখন বেরিয়ে আসতে পারে - মাঝের ব্যান্ড ডিফল্ট প্রস্থান সংকেত হিসাবে ব্যবহৃত হয় ৪. চ্যানেলের স্থিতিশীলতা বাড়াতে এবং মিথ্যা ব্রেকআউট হ্রাস করতে ১০ পেরিওড লেগ প্যারামিটার বাস্তবায়ন করে।
এটি একটি সু-ডিজাইন করা প্রবণতা অনুসরণকারী কৌশল যা স্পষ্ট যুক্তিযুক্ত। দামের ব্রেকআউট এবং ভলিউম নিশ্চিতকরণকে একত্রিত করে, কৌশলটি নমনীয়তা বজায় রেখে নির্ভরযোগ্যতা বজায় রাখে। প্যারামিটারাইজড ডিজাইন ভাল অভিযোজনযোগ্যতা সরবরাহ করে, যদিও বিনিয়োগকারীদের নির্দিষ্ট বাজারের অবস্থার উপর ভিত্তি করে প্যারামিটারগুলি অনুকূল করতে হবে। সামগ্রিকভাবে, এটি আরও অপ্টিমাইজেশন এবং ব্যবহারিক বাস্তবায়নের যোগ্য একটি কৌশলগত কাঠামোর প্রতিনিধিত্ব করে।
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-15 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("Breakout Strategy", overlay=true, calc_on_every_tick=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1, fill_orders_on_standard_ohlc=true) // Input Parameters start_date = input(timestamp("2018-01-01 00:00"), "Start Date") end_date = input(timestamp("2060-01-01 00:00"), "End Date") in_time_range = true length = input.int(27, title="Donchian Channel Length", minval=1, tooltip="Number of bars used to calculate the Donchian channel.") lag = input.int(10, title="Donchian Channel Offset", minval=1, tooltip = "Offset to delay the Donchian channel, enhancing stability.") volume_mult = input.float(1.4, title="Volume Multiplier", minval=0.1, step=0.1, tooltip="Multiplier for the average volume to filter breakout conditions.") closing_condition = input.string("Mid", title="Trade Closing Band", options= ["Upper","Lower","Mid"], tooltip = "Donchian Channel Band to use for exiting trades: Upper, Lower, or Middle.") // // Donchian Channel (Lagged for Stability) upper_band = ta.highest(high[lag], length) lower_band = ta.lowest(low[lag], length) middle_band = (upper_band + lower_band) / 2 plot(upper_band, color=color.blue, title="Upper Band (Lagged)") plot(middle_band, color=color.orange, title="Middle Band") plot(lower_band, color=color.blue, title="Lower Band (Lagged)") // Volume Filter avg_volume = ta.sma(volume, length) volume_condition = volume > avg_volume * volume_mult // Long Breakout Condition long_condition = close > upper_band and volume_condition bool reverse_exit_condition = false // Exit Condition (Close below the middle line) if closing_condition == "Lower" reverse_exit_condition := close < lower_band else if closing_condition == "Upper" reverse_exit_condition := close < upper_band else reverse_exit_condition := close < middle_band // Long Strategy: Entry and Exit if in_time_range and long_condition strategy.entry("Breakout Long", strategy.long) // Exit on Reverse Signal if in_time_range and reverse_exit_condition strategy.close("Breakout Long", comment="Reverse Exit")