
এটি একটি পরিমাণগত ট্রেডিং কৌশল যা দ্বি-সমান-লাইন ক্রস সিগন্যালের উপর ভিত্তি করে। কৌশলটি দুটি চলমান গড় ব্যবহার করে, একটি প্রধান সংকেত লাইন হিসাবে এবং অন্যটি মসৃণ সংকেত লাইন হিসাবে। মূল্য এবং মসৃণ সংকেত লাইনের ক্রস পরিস্থিতি পর্যবেক্ষণ করে ট্রেডিং সংকেত তৈরি করা হয়, বাজারের প্রবণতা এবং গতিশীলতা ট্র্যাকিংয়ের জন্য। কৌশলটির মূল সুবিধাটি তার সহজ এবং কার্যকর সংকেত উত্পাদন প্রক্রিয়া এবং নমনীয় প্যারামিটার কনফিগারেশন বিকল্পগুলিতে রয়েছে।
কৌশলটি দুটি স্তরের চলমান গড় গণনা ব্যবহার করে। প্রথমে একটি বেসিক চলমান গড় গণনা করা হয় (ডিফল্ট সময়কাল 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)