
মুভিং এভারেজের বিভিন্ন প্রকারের হিসাব করে এই কৌশলটি মূল্য প্রবণতার দিক নির্ণয় করে।
এই কৌশলটি 7 টি বিভিন্ন ধরণের মুভিং এভারেজ নির্বাচন করার অনুমতি দেয়, যার মধ্যে রয়েছে সাধারণ মুভিং এভারেজ (এসএমএ), সূচকীয় মুভিং এভারেজ (ইএমএ), ক্রয়-বিক্রয় ওজনের গড় (ভিডাব্লুএমএ), দ্বি-সূচকীয় মুভিং এভারেজ (ডিইএমএ), ত্রি-সূচকীয় মুভিং এভারেজ (টিইএমএ), কাউফম্যান স্বনির্ধারিত মুভিং এভারেজ (কেএএমএ) এবং মূল্য চ্যানেলের মধ্যবর্তী লাইন। নির্বাচিত মুভিং এভারেজ এবং সমাপ্তির দামের মধ্যে সম্পর্ক গণনা করে দামের প্রবণতা নির্দেশ করে।
যখন ক্লোজিং মূল্য নীচে থেকে উপরে থেকে মুভিং এভারেজ ভেঙে, একটি উত্থান হিসাবে বিচার করা, একটি পজিশন খুলুন; যখন ক্লোজিং মূল্য উপরে থেকে নীচে থেকে মুভিং এভারেজ ভেঙে, একটি পতন হিসাবে বিচার করা, একটি পজিশন খালি করুন। এইভাবে মূল্য প্রবণতার একটি বিপরীত পয়েন্ট ক্যাপচার করা যায়, একতরফা পজিশন খোলার জন্য।
এই কৌশলটির সুবিধাগুলো হলঃ
বিভিন্ন প্রজাতি এবং সময়কালের সাথে সামঞ্জস্য রেখে একাধিক চলমান গড়ের ধরন নির্বাচন করা যায়।
এককভাবে পজিশন খোলার ফলে ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায়।
“এটা আমার জন্য খুবই কঠিন ছিল, কিন্তু আমি মনে করি এটা আমার জন্য কঠিন ছিল।
এটি সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
মুভিং এভারেজের কাছাকাছি দামের ঝাঁকুনির সময়, একাধিক ভুল সংকেত এবং বিপরীত পোজ খোলার ঘটনা ঘটে। ঝুঁকি নিয়ন্ত্রণের জন্য উপযুক্ত স্টপ লস সেট করা যেতে পারে।
দামের দ্রুত বৃদ্ধি বা হ্রাসের ঝুঁকি সম্পূর্ণরূপে এড়ানো যায় না। অন্যান্য সূচকগুলির সাথে মিলিত হয়ে ট্রেন্ড সিগন্যাল নির্ধারণ করা যেতে পারে।
বিশ্লেষককে উপযুক্ত চলমান গড় প্যারামিটার নির্বাচন করতে হবে, এবং অনুপযুক্ত প্যারামিটারগুলি ট্রেডিং সিগন্যালের বিলম্ব হতে পারে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ
ট্রেডিং পোর্টফোলিও তৈরির জন্য অন্যান্য প্রযুক্তিগত সূচক যেমন MACD, RSI ইত্যাদির সাথে ট্রেডিং সিগন্যালগুলি সংযুক্ত করুন।
স্টপ লজিক যুক্ত করুন। স্টপ সরান বা স্টপ বন্ধ করুন।
পরামিতি পরীক্ষা এবং অনুকূলিতকরণ, সর্বোত্তম প্যারামিটার সমন্বয় নির্বাচন করুন। যেমন চলমান গড় সময়কাল, চলমান গড় প্রকার ইত্যাদি।
ট্রেডিং প্রবণতা অনুসরণ করার জন্য অবিলম্বে ট্রেডিং প্রকারের প্রবেশের কৌশল বিবেচনা করা যেতে পারে।
এই কৌশলটি মুভিং এভারেজের উপর ভিত্তি করে মূল্যের প্রবণতার দিক নির্ধারণ করে, একতরফা পজিশন খোলার জন্য। এটি ব্যবহার করা সহজ, বাস্তবায়ন করা সহজ এবং ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করা যায়। তবে ভুল সংকেত এবং বিপরীত পজিশন খোলার ঝুঁকিও হতে পারে। অন্যান্য সূচকগুলির সংমিশ্রণ দ্বারা সিদ্ধান্তের সংকেত, প্যারামিটারগুলি অনুকূলিতকরণ, স্টপ লস যুক্ত করা ইত্যাদির মাধ্যমে এই কৌশলটি ক্রমাগত উন্নত করা যেতে পারে, এটি আরও স্থিতিশীল এবং নির্ভরযোগ্য করে তোলে।
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's MAs Tests v1.1", shorttitle = "MAs tests 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
needlong = input(true, "long")
needshort = input(true, "short")
len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")
anti = input(true, defval = true, title = "Antipila")
//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)
//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3
//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
plot(ma, color = blue, linewidth = 3, transp = 0)
trend = anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1]
longCondition = trend == 1 and trend[1] == -1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)