
ডাবল মুভিং এভারেজ ব্রেকিং কৌশল একটি প্রচলিত ট্রেন্ড ট্র্যাকিং কৌশল। এটি বাজারের প্রবণতার দিকনির্দেশনা এবং শক্তিকে ক্যাপচার করার জন্য দুটি ভিন্ন পিরিয়ডের চলমান গড় গণনা করে এবং ক্রসগুলিকে একটি ক্রয় এবং বিক্রয় সংকেত হিসাবে ব্যবহার করে।
এই কৌশলটি মূলত দুটি চলমান গড়ের উপর ভিত্তি করে তৈরি করা হয়েছে। প্রথম চলমান গড়ের চক্রটি সংক্ষিপ্ত, যা দামের পরিবর্তনের জন্য আরও দ্রুত প্রতিক্রিয়া জানায়; দ্বিতীয় চলমান গড়ের চক্রটি দীর্ঘ, যা কিছু গোলমাল ফিল্টার করতে পারে। দীর্ঘস্থায়ী চলমান গড়ের উপরে যখন স্বল্পমেয়াদী চলমান গড়ের উপর দিয়ে যায় তখন এটি কেনার সংকেত হিসাবে বিবেচিত হয়; যখন দীর্ঘস্থায়ী চলমান গড়ের নীচে দীর্ঘস্থায়ী চলমান গড়ের নীচে দিয়ে যায় তখন এটি বিক্রয় সংকেত হিসাবে বিবেচিত হয়।
বিশেষ করে, এই কৌশলটি 10 পিরিয়ডের সূচকীয় চলমান গড় ((price1) এবং 20 পিরিয়ডের সূচকীয় চলমান গড় ((price2)) গণনা করে। যদি বর্তমান K-লাইনটির খোলার এবং বন্ধের দাম উভয়ই দুটি চলমান গড়ের চেয়ে বেশি হয় তবে একটি কেনার সংকেত উত্পন্ন হয়; যদি বর্তমান K-লাইনটির খোলার এবং বন্ধের দাম উভয়ই দুটি চলমান গড়ের চেয়ে কম হয় তবে একটি বিক্রয় সংকেত উত্পন্ন হয়।
এই নকশার মাধ্যমে, আপনি যখন ট্রেন্ড তৈরি করতে শুরু করেন তখন আপনি তাড়াতাড়ি বাজারে প্রবেশ করতে পারেন এবং ট্রেন্ডটি অনুসরণ করতে পারেন; যখন ট্রেন্ডটি বিপরীত হয়, আপনি যত তাড়াতাড়ি সম্ভব বাজার থেকে বেরিয়ে আসতে পারেন এবং ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করতে পারেন।
এই কৌশলটি সামগ্রিকভাবে সহজ এবং ব্যবহারিক, দ্বি-সমান-লাইন ক্রস নীতির মাধ্যমে প্রবণতা ক্যাপচার করা, এটি পরিমাণযুক্ত ব্যবসায়ের একটি মৌলিক কৌশল। তবে এই কৌশলটিরও কিছু ঝুঁকি রয়েছে এবং বিভিন্ন বাজার পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য আরও অপ্টিমাইজ করা দরকার। প্যারামিটার সমন্বয়, ক্ষতি বন্ধকরণ ব্যবস্থা, সংকেত ফিল্টারিং ইত্যাদির ক্ষেত্রে অপ্টিমাইজেশনের জায়গা রয়েছে, যা কৌশলটিকে আরও স্থিতিশীল এবং নির্ভরযোগ্য করে তুলতে পারে।
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")
price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])
ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])
price1 = if (type1 == "SMA")
sma(price, ma1)
else
ema(price, ma1)
price2 = if (type2 == "SMA")
sma(price, ma2)
else
ema(price, ma2)
//plot(series=price, style=line, title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line, title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)
buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)
if(buy_entry)
strategy.entry("Long", strategy.long)
if(sell_entry)
strategy.entry("Short", strategy.short)
strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)