এই কৌশলটি দুটি প্রযুক্তিগত সূচককে একত্রিত করেঃ ডনচিয়ান চ্যানেল এবং সহজ চলমান গড় (এসএমএ) । যখন দাম ডনচিয়ান চ্যানেলের নীচের ব্যান্ডের নীচে ভেঙে যায় এবং এসএমএর উপরে বন্ধ হয় তখন এটি একটি দীর্ঘ অবস্থান খোলে। বিপরীতে, যখন দাম ডনচিয়ান চ্যানেলের উপরের ব্যান্ডের উপরে ভেঙে যায় এবং এসএমএর নীচে বন্ধ হয় তখন এটি একটি শর্ট অবস্থান খোলে। দাম ডনচিয়ান চ্যানেলের উপরের ব্যান্ডে পৌঁছলে দীর্ঘ অবস্থান বন্ধ হয়, যখন দাম নিম্ন ব্যান্ডে পৌঁছায় তখন শর্ট অবস্থান বন্ধ হয়। এই কৌশলটি শক্তিশালী প্রবণতা সহ বাজারগুলির জন্য উপযুক্ত।
ডায়নামিক ডনচিয়ান চ্যানেল এবং সহজ চলমান গড় সংমিশ্রণ কৌশল একটি সহজ এবং সহজেই ব্যবহারযোগ্য পরিমাণগত ট্রেডিং কৌশল কাঠামো। এটি প্রবণতা অনুসরণ এবং অস্থিরতা ব্রেকআউটের দৃষ্টিকোণ থেকে প্রবেশ এবং প্রস্থান যৌক্তিকতা তৈরি করে, এটি শক্তিশালী প্রবণতা সহ যন্ত্রগুলির জন্য উপযুক্ত করে তোলে। তবে, কৌশলটি প্রায়শই পরিসীমা সীমাবদ্ধ বাজারে দুর্বল সম্পাদন করে এবং এর পরামিতি দৃust়তা মাঝারি। সহায়ক প্রবেশের শর্ত, গতিশীল মুনাফা গ্রহণ এবং পরামিতি স্ব-নিয়মিতকরণ প্রক্রিয়া প্রবর্তন করে কৌশলটির অভিযোজনযোগ্যতা এবং দৃust়তা উন্নত করা যেতে পারে। সামগ্রিকভাবে, এই কৌশলটি আরও উন্নত পরিমাণগত কৌশল তৈরি করতে আরও সংশোধন এবং উন্নত করার জন্য একটি মৌলিক কাঠামো কৌশল হিসাবে কাজ করতে পারে।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("FBK Donchian Channel Strategy", overlay=true) // Inputs donchian_period = input.int(20, title="Donchian Channel Period") donchian_offset = input.int(1, title="Donchian Channel Offset") sma_period = input.int(200, title="SMA Period") start_date = input(timestamp("2023-01-01 00:00 +0000"), title="Start Date") end_date = input(timestamp("2023-12-31 23:59 +0000"), title="End Date") trade_type = input.string("Both", title="Trade Type", options=["Buy Only", "Sell Only", "Both"]) // Calculate indicators donchian_upper = ta.highest(high, donchian_period)[donchian_offset] donchian_lower = ta.lowest(low, donchian_period)[donchian_offset] sma = ta.sma(close, sma_period) // Plot indicators plot(donchian_upper, color=color.red, title="Donchian Upper") plot(donchian_lower, color=color.green, title="Donchian Lower") plot(sma, color=color.blue, title="SMA") // Helper function to check if within testing period is_in_testing_period() => true // Entry conditions long_condition = low <= donchian_lower and close > sma short_condition = high >= donchian_upper and close < sma // Exit conditions exit_long_condition = high >= donchian_upper exit_short_condition = low <= donchian_lower // Open long position if (is_in_testing_period() and (trade_type == "Buy Only" or trade_type == "Both") and long_condition) strategy.entry("Long", strategy.long) // Close long position if (is_in_testing_period() and exit_long_condition) strategy.close("Long") // Open short position if (is_in_testing_period() and (trade_type == "Sell Only" or trade_type == "Both") and short_condition) strategy.entry("Short", strategy.short) // Close short position if (is_in_testing_period() and exit_short_condition) strategy.close("Short") // Close all positions at the end of the testing period if not is_in_testing_period() strategy.close_all()