
Momentum Indicator Crossover Strategy হল একটি ট্রেডিং পদ্ধতি যেখানে একটি সূচকীয় চলমান গড় (Exponential Moving Average, EMA) এবং একটি অপেক্ষাকৃত দুর্বল সূচক (Relative Strength Index, RSI) সংকেতকে একত্রিত করা হয়। এই কৌশলটি দুটি ইএমএ লাইনের ক্রস ব্যবহার করে ক্রয় এবং বিক্রয় সংকেত তৈরি করার জন্য তৈরি করা হয়েছে, যার ফলে আর্থিক বাজারে লেনদেন করা যায়।
এই কৌশলটির কেন্দ্রবিন্দু হল EMA এর দ্রুত এবং ধীর লাইন ক্রস সিস্টেম। এই কৌশলটি তিনটি ভিন্ন প্যারামিটারের EMA লাইন সংজ্ঞায়িত করেঃema1、ema2এবংema3এই ছবিটি সৌদি আরবের।ema1এটি একটি স্বল্পমেয়াদী প্রবণতা।ema2এটি একটি মধ্যমেয়াদি প্রবণতা।ema3একটি দীর্ঘমেয়াদী প্রবণতা প্রতিনিধিত্ব করে। যখন একটি স্বল্পমেয়াদী প্রবণতা একটি মধ্যমেয়াদী প্রবণতা অতিক্রম করে, একটি ক্রয় সংকেত উত্পন্ন করে; যখন একটি স্বল্পমেয়াদী প্রবণতা একটি মধ্যমেয়াদী প্রবণতা অতিক্রম করে, একটি বিক্রয় সংকেত উত্পন্ন করে।
ভুল ডায়াগনস্টিক সংকেতগুলি ফিল্টার করার জন্য, নীতিটি দুটি অতিরিক্ত শর্তও সংজ্ঞায়িত করেছেঃbodybar1 > bodybar2এবংclose > entrybar(ক্রয় সংকেত) অথবাclose < entrybar(বিক্রয় সংকেত) এটি নিশ্চিত করে যে নিকটতম দুটি কে লাইনের প্রকৃত দৈর্ঘ্যের সম্পর্ক সংকেতের দিকনির্দেশের সাথে মিলে যায় এবং দামটি প্রবেশের বিন্দুটি ভেঙে দেয় যাতে পুনরাবৃত্তি এড়ানো যায়
এছাড়াও, কৌশলটি আরএসআই সূচকের সাথে মিলিত হয় evalue, আরএসআই উচ্চ অঞ্চলটি ওভারবই সংকেত এবং আরএসআই নিম্ন অঞ্চলটি ওভারসেল সংকেত সংজ্ঞায়িত করতে ব্যবহৃত হয়। এটি মূল্যের অত্যধিক গরম এবং অত্যধিক শীতল বাজারে ভুল সংকেত এড়াতে সহায়তা করে।
এই কৌশলটির সুবিধাগুলো হলঃ
এই কৌশলটি নিম্নলিখিত ঝুঁকিগুলিও বহন করেঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
গতিশীল সূচক ক্রস কৌশলটি ইএমএ এবং আরএসআইয়ের সুবিধাগুলিকে একত্রিত করে, সূচক ক্রসের উপর ভিত্তি করে ট্রেডিং সিগন্যাল তৈরি করে। এই কৌশলটি সহজ, ব্যবহারিক এবং শিক্ষানবিশদের জন্য উপযুক্ত, তবে বাস্তবের প্রয়োজন অনুসারে কৌশলটির কার্যকারিতা বাড়ানোর জন্য এটি প্রসারিত এবং অনুকূলিতকরণ করা যেতে পারে। কঠোর ঝুঁকি পরিচালনার মাধ্যমে, এই কৌশলটি স্থিতিশীল অতিরিক্ত লাভের প্রত্যাশা করে।
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('EMA Crossover Strategy', shorttitle='EMA Crossover', overlay=true)
// Define input for position size as a percentage of equity
position_size_pct = input(1, title='Position Size (%)') / 100
//Input EMA
len1 = input.int(25, minval=1, title='EMA 1')
src1 = input(close, title='Source')
ema1 = ta.ema(src1, len1)
len2 = input.int(100, minval=1, title='EMA 2')
src2 = input(close, title='Source')
ema2 = ta.ema(src2, len2)
len3 = input.int(200, minval=1, title='EMA 3')
src3 = input(close, title='Source')
ema3 = ta.ema(src3, len3)
//End of format
//Format RSI
lenrsi = input(14, title='RSI length')
outrsi = ta.rsi(close,lenrsi)
//plot(outrsi, title='RSI', color=color.new(color.blue, 0), linewidth=1)
//hline(70, 'Overbought', color=color.red)
//hline(30, 'Oversold', color=color.green)
//End of format
bodybar1 = math.abs(close - open)
bodybar2 = math.abs(close[1] - open[1])
// Plot the EMAs
plot(ema1, color=color.new(color.blue, 0), title='EMA 1')
plot(ema2, color=color.new(color.red, 0), title='EMA 2')
//plot(ema3, color=color.new(#ffffff, 0), title='EMA 3')
// EMA Crossover conditions
emaCrossoverUp = ta.crossover(ema1, ema2)
emaCrossoverDown = ta.crossunder(ema1, ema2)
var entrybar = close // Initialize entrybar with the current close
// Calculate crossovers outside of the if statements
emaCrossoverUpOccured = ta.crossover(close, ema1) and ema1 > ema2 and bodybar1 > bodybar2 and close > entrybar
emaCrossoverDownOccured = ta.crossunder(close, ema1) and ema1 < ema2 and bodybar1 > bodybar2 and close < entrybar
plotshape(series=emaCrossoverUpOccured, location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, title='New Buy Order', size=size.tiny)
plotshape(series=emaCrossoverDownOccured, location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, title='New Sell Order', size=size.tiny)
// Define trading logic with custom position size and RSI conditions
if emaCrossoverUp or emaCrossoverUpOccured
strategy.entry('Buy', strategy.long)
entrybar := close // Update entrybar when entering a new buy position
entrybar
if emaCrossoverDown or emaCrossoverDownOccured
strategy.entry('Sell', strategy.short)
entrybar := close // Update entrybar when entering a new sell position
entrybar