
মুভিং এভারেজ ফোরক্লোজার ট্রেডিং কৌশলটি দ্রুত লাইন ইএমএ ((fastLength) এবং ধীর লাইন ইএমএ ((slowLength) এর ক্রস গণনা করে কেনা এবং বিক্রি করার সংকেত তৈরি করে। যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন কেনা সংকেত তৈরি করে; যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন বিক্রয় সংকেত তৈরি করে। এই কৌশলটি সহজ, ব্যবহারিক এবং মাঝারি সংক্ষিপ্ত লাইনের ব্যবসায়ের জন্য উপযুক্ত।
এই কৌশলটি দুটি মুভিং এভারেজ, ফাস্ট লাইন এবং স্লো লাইন ব্যবহার করে। ফাস্ট লাইনের প্যারামিটার EMAfastLength ডিফল্ট 9 দিনের লাইন এবং ধীর লাইনের প্যারামিটার EMAslowLength ডিফল্ট 26 দিনের লাইন। বাজারের ক্রয়-বিক্রয় সংকেত নির্ধারণের জন্য দুটি ইএমএ লাইনের ক্রস গণনা করা হয়ঃ
ট্রেডিং সিগন্যাল এবং কৌশলগত নিয়মাবলী নিম্নরূপঃ
সুতরাং, এই কৌশলটি হল যখন দুটি চলমান গড়ের মধ্যে গোল্ডেন ফর্ক এবং ডেড ফর্ক থাকে তখন ট্রেডিং অপারেশন করা।
ঝুঁকির জন্য, অপ্টিমাইজ করা যায় এমন প্যারামিটার রয়েছে যেমন চলমান গড় সময়কাল, লেনদেনের ধরণ, স্টপ লস অনুপাত ইত্যাদি। ঝুঁকি কমানোর জন্য প্রচুর পরীক্ষা প্রয়োজন।
এই কৌশলটির চলমান গড়ের ক্রস চিন্তাধারাটি সহজ এবং কার্যকরী, যা নিম্নলিখিত উপায়ে অপ্টিমাইজ করা যেতে পারেঃ
এই অপ্টিমাইজেশান পরীক্ষার মাধ্যমে কৌশলটির কার্যকারিতা এবং স্থিতিশীলতা উল্লেখযোগ্যভাবে বাড়ানো যেতে পারে।
মুভিং এভারেজ ক্রসিং কৌশল ধারণাটি সহজ, বাস্তব প্রয়োগের জন্য ক্রমাগত অপ্টিমাইজেশন প্রয়োজন। এই কৌশলটি তার ট্রেডিং সিগন্যাল জেনারেশন লজিক এবং মৌলিক ট্রেডিং নিয়ম দেয়, যার উপর ভিত্তি করে এটি একটি কার্যকর পরিমাণে অপ্টিমাইজ করা যেতে পারে, এটি একটি কার্যকর পরিমাণে কৌশল হিসাবে তৈরি করতে পারে। মুভিং এভারেজের প্রয়োগও আমাদের কৌশলগত ধারণা দেয়, যার উপর ভিত্তি করে আমরা উদ্ভাবন এবং উন্নতি করতে পারি।
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("EMA Cross by MarketAlpha", overlay=true)
EMAfastLength = input(defval = 9, minval = 2)
EMAslowLength = input(defval = 26, minval = 2)
Targetpercentage = input(defval = 0.15, title = "Profit Target in percentage", minval = 0.05)
StopLosspercentage = input(defval = 0.20, title = "Stop Loss in percentage", minval = 0.05)
profitpoints = close*Targetpercentage
stoplosspoints = close*StopLosspercentage
price = close
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
emafast = ema(price, EMAfastLength)
emaslow = sma(price, EMAslowLength)
plot(emafast,color=green)
plot(emaslow,color=red)
enterLong() => crossover(emafast, emaslow)
strategy.entry(id = "MarketAlpha Long", long = true, when = window() and enterLong())
strategy.exit("Exit Long", from_entry = "MarketAlpha Long", profit = profitpoints,loss = stoplosspoints)
enterShort() => crossunder(emafast, emaslow)
strategy.entry(id = "MarketAlpha Short", long = false, when = window() and enterShort())
strategy.exit("Exit Short", from_entry = "MarketAlpha Short", profit = profitpoints,loss = stoplosspoints)