এই কৌশলটি দ্বৈত চলমান গড় চ্যানেলের উপর ভিত্তি করে একটি গতিশীল প্রবণতা অনুসরণকারী সিস্টেম, যা ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াগুলির সাথে মিলিত। এটি একটি ট্রেডিং চ্যানেল তৈরি করতে দুটি সহজ চলমান গড় (এসএমএ) ব্যবহার করে, উচ্চ মূল্য ব্যবহার করে উপরের ব্যান্ডটি গণনা করা হয় এবং নিম্ন ব্যান্ডটি নিম্ন মূল্য ব্যবহার করে। সিস্টেমটি প্রবেশ সংকেত তৈরি করে যখন বন্ধের মূল্য পাঁচটি ধারাবাহিক বারের জন্য উপরের ব্যান্ডের উপরে থাকে এবং যখন দাম পাঁচটি ধারাবাহিক বারের জন্য নিম্ন ব্যান্ডের নীচে পড়ে বা সর্বোচ্চ বিন্দু থেকে 25% পুনরুদ্ধার করে তখন প্রস্থান সংকেত তৈরি করে, গতিশীল প্রবণতা ট্র্যাকিং এবং ঝুঁকি নিয়ন্ত্রণ অর্জন করে।
মূল নীতিগুলির মধ্যে দুটি চলমান গড় চ্যানেলের মাধ্যমে মূল্যের প্রবণতা ক্যাপচার করা এবং কঠোর প্রবেশ এবং প্রস্থান প্রক্রিয়া স্থাপন করা অন্তর্ভুক্ত রয়েছেঃ ১. এন্ট্রি মেকানিজম: ট্রেন্ডের ধারাবাহিকতা এবং বৈধতা নিশ্চিত করার জন্য টানা পাঁচ দিন ধরে দামকে উপরের ব্যান্ডের উপরে বজায় রাখতে হবে ২. প্রস্থান প্রক্রিয়াঃ দুই স্তরে কাজ করে - প্রবণতা বিচ্যুতি প্রস্থানঃ যখন দাম পরপর পাঁচ দিন ধরে নিম্ন স্তরের নীচে পড়ে, তখন এটি প্রবণতা বিপরীত হওয়ার সম্ভাবনা নির্দেশ করে - স্টপ-লস আউটঃ যখন দাম সর্বোচ্চ পয়েন্ট থেকে 25% পুনরুদ্ধার করে, অত্যধিক ক্ষতি প্রতিরোধ করে তখন সক্রিয় হয় ৩. পজিশন ম্যানেজমেন্টঃ পজিশনের আকার নির্ধারণের জন্য অ্যাকাউন্ট ইকুইটির একটি নির্দিষ্ট শতাংশ ব্যবহার করে, কার্যকর মূলধন বরাদ্দ নিশ্চিত করে
এই কৌশলটি দ্বৈত চলমান গড় চ্যানেলের মাধ্যমে একটি সম্পূর্ণ প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম তৈরি করে, কার্যকর প্রবণতা ট্র্যাকিং এবং ঝুঁকি নিয়ন্ত্রণ অর্জনের জন্য কঠোর এন্ট্রি নিশ্চিতকরণ এবং দ্বৈত প্রস্থান প্রক্রিয়াগুলি একত্রিত করে। কৌশলটির শক্তিগুলি এর স্পষ্ট সম্পাদন যুক্তি এবং বিস্তৃত ঝুঁকি নিয়ন্ত্রণে রয়েছে, যদিও এটি বিভিন্ন বাজারের পরিবেশের জন্য পরামিতি অপ্টিমাইজেশনের প্রয়োজন এবং বাজারের পরিবেশ ফিল্টারিং এবং একাধিক সময়সীমার নিশ্চিতকরণের মাধ্যমে আরও উন্নত করা যেতে পারে। সামগ্রিকভাবে, এটি একটি কাঠামোগতভাবে সম্পূর্ণ এবং যৌক্তিকভাবে কঠোর পরিমাণগত ট্রেডিং কৌশল উপস্থাপন করে, স্পষ্ট প্রবণতা সহ বাজারে প্রয়োগের জন্য উপযুক্ত।
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 10m basePeriod: 10m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Moving Average Channel (MAC)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Parameters for Moving Averages upperMALength = input.int(10, title="Upper MA Length") lowerMALength = input.int(8, title="Lower MA Length") stopLossPercent = input.float(25.0, title="Stop Loss (%)", minval=0.1) / 100 // Calculate Moving Averages upperMA = ta.sma(high, upperMALength) lowerMA = ta.sma(low, lowerMALength) // Plot Moving Averages plot(upperMA, color=color.red, title="Upper Moving Average") plot(lowerMA, color=color.green, title="Lower Moving Average") // Initialize variables var int upperCounter = 0 var int lowerCounter = 0 var float entryPrice = na var float highestPrice = na // Update counters based on conditions if (low <= upperMA) upperCounter := 0 else upperCounter += 1 if (high >= lowerMA) lowerCounter := 0 else lowerCounter += 1 // Entry condition: 5 consecutive bars above the Upper MA if (upperCounter == 5 and strategy.position_size == 0) strategy.entry("Long", strategy.long) highestPrice := high // Initialize highest price // Update the highest price after entry if (strategy.position_size > 0) highestPrice := na(highestPrice) ? high : math.max(highestPrice, high) // Exit condition: 5 consecutive bars below the Lower MA if (lowerCounter == 5 and strategy.position_size > 0) strategy.close("Long", comment="Exit: 5 bars below Lower MA") // Stop-loss condition: Exit if market closes below 25% of the highest price since entry stopLossCondition = low < highestPrice * (1 - stopLossPercent) if (stopLossCondition and strategy.position_size > 0) strategy.close("Long", comment="Exit: Stop Loss")