এটি দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলির উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল। কৌশলটি দুটি চলমান গড় ব্যবহার করে, একটি প্রধান সংকেত লাইন হিসাবে এবং অন্যটি মসৃণ সংকেত লাইন হিসাবে। এটি মসৃণ সংকেত লাইনের সাথে মূল্য ক্রসওভার পর্যবেক্ষণ করে ট্রেডিং সংকেত উত্পন্ন করে, বাজারের প্রবণতা ক্যাপচার এবং গতি ট্র্যাকিং সক্ষম করে। কৌশলটির মূল শক্তিটি এর সহজ তবে কার্যকর সংকেত উত্পাদন প্রক্রিয়া এবং নমনীয় পরামিতি কনফিগারেশন বিকল্পগুলিতে রয়েছে।
কৌশলটি চলমান গড় গণনার দুটি স্তর ব্যবহার করে। এটি প্রথমে একটি মৌলিক চলমান গড় গণনা করে (ডিফল্ট সময়কাল 9), তারপরে একটি মাধ্যমিক মসৃণকরণ প্রক্রিয়া (ডিফল্ট সময়কাল 5) । কৌশলটি সহজ চলমান গড় (এসএমএ), এক্সপোনেনশিয়াল চলমান গড় (ইএমএ), মসৃণ চলমান গড় (এসএমএমএ), ওজনযুক্ত চলমান গড় (ডাব্লুএমএ), এবং ভলিউম ওজনযুক্ত চলমান গড় (ভিডাব্লুএমএ) সহ বিভিন্ন চলমান গড় গণনা পদ্ধতি সরবরাহ করে। যখন বন্ধের মূল্য মসৃণকরণ সংকেত লাইনের উপরে অতিক্রম করে তখন দীর্ঘ সংকেত উত্পন্ন হয়, যখন বন্ধের মূল্য তার নীচে অতিক্রম করে তখন সংক্ষিপ্ত সংকেত উত্পন্ন হয়।
এটি একটি ক্লাসিক প্রবণতা অনুসরণকারী কৌশলটির একটি উন্নত সংস্করণ যা দ্বৈত স্তরের চলমান গড় ডিজাইনের মাধ্যমে সরলতা বজায় রেখে স্থিতিশীলতা বাড়ায়। কৌশলটি প্যারামিটার অপ্টিমাইজেশান এবং ফাংশন এক্সটেনশনের মাধ্যমে বিভিন্ন বাজারের পরিবেশে অভিযোজিত, ভাল স্কেলযোগ্যতা এবং নমনীয়তা সরবরাহ করে। তবে ব্যবহারকারীদের লেনদেনের ব্যয় নিয়ন্ত্রণ এবং ঝুঁকি ব্যবস্থাপনাতে মনোযোগ দিতে হবে এবং লাইভ ট্রেডিংয়ের আগে পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং পরিচালনা করার পরামর্শ দেওয়া হয়।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Moving Average 1.0 Strategy", overlay=true) // Input for Moving Average Length len = input.int(9, minval=1, title="Length") src = input(close, title="Source") offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) // Calculate the Moving Average out = ta.sma(src, len) // Plot the Moving Average plot(out, color=color.blue, title="MA", offset=offset) // Function to choose the type of moving average ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Input for Smoothing Method and Length typeMA = input.string(title="Method", defval="SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title="Smoothing Length", defval=5, minval=1, maxval=100, group="Smoothing") // Calculate the Smoothing Line smoothingLine = ma(out, smoothingLength, typeMA) // Plot the Smoothing Line plot(smoothingLine, title="Smoothing Line", color=color.rgb(120, 66, 134, 35), offset=offset) // Strategy Logic if (ta.crossover(close, smoothingLine)) strategy.entry("Buy", strategy.long) if (ta.crossunder(close, smoothingLine)) strategy.entry("Sell", strategy.short)