
এই কৌশলটি একটি প্রবণতা ট্র্যাকিং ট্রেডিং সিস্টেম যা একাধিক প্রযুক্তিগত সূচকের উপর ভিত্তি করে, তিনটি ক্লাসিক প্রযুক্তিগত সূচককে একত্রিত করে, যেমন মুভিং এভারেজ (EMA), মুভিং এভারেজ কনভার্জেন্স (MACD) এবং আপেক্ষিকভাবে শক্তিশালী সূচক (RSI), বাজারের প্রবণতা পরিবর্তন এবং গতিশীলতা ক্যাপচার করে। কৌশলটি দ্রুত EMA (9 cycles) এবং ধীর EMA (21 cycles), MACD (12,26,9) এবং RSI (14) এর মতো প্যারামিটার সেটিং ব্যবহার করে, যখন সূচকটি ক্রস করে এবং থ্রেশহোল্ডটি ভেঙে যায় তখন ট্রেডিং সংকেত দেয়।
কৌশলটির কেন্দ্রীয় যুক্তি হ’ল একাধিক প্রযুক্তিগত সূচকের সমন্বিত স্বীকৃতি দিয়ে বাজারের প্রবণতার বিপরীত দিকগুলি সনাক্ত করা। বিশেষত, নিম্নলিখিত তিনটি দিকের সংকেত স্বীকৃতি অন্তর্ভুক্তঃ
এই কৌশলটি একাধিক প্রযুক্তিগত সূচকের ক্রস যাচাইয়ের মাধ্যমে বাজারের প্রবণতার পরিবর্তনগুলি ক্যাপচার করে, ভাল নির্ভরযোগ্যতা এবং অভিযোজনযোগ্যতা রয়েছে। তবে বাস্তব প্রয়োগে সংকেত পিছিয়ে যাওয়া এবং অত্যধিক ব্যবসায়ের মতো সমস্যাগুলির দিকে নজর দেওয়া দরকার। অভিযোজনযোগ্য প্যারামিটার, স্টপ লস ম্যানেজমেন্ট এবং বাজার পরিবেশের সনাক্তকরণের মতো কৌশলগুলির স্থিতিশীলতা এবং লাভজনকতা বাড়ানোর জন্য অপ্টিমাইজ করার পরামর্শ দেওয়া হয়েছে। ব্যবহারের সময়, পর্যাপ্ত historicalতিহাসিক ডেটা ব্যাকআপ এবং প্যারামিটার অপ্টিমাইজেশন করার পরামর্শ দেওয়া হয় এবং প্রকৃত ব্যবসায়ের কার্যকারিতার উপর ভিত্তি করে ক্রমাগত সামঞ্জস্য এবং পরিমার্জন করা হয়।
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA + MACD + RSI Strategy with Long and Short", overlay=true)
// Input parameters for MACD, EMA, and RSI
fast_ema_length = input.int(9, title="Fast EMA Length", minval=1)
slow_ema_length = input.int(21, title="Slow EMA Length", minval=1)
macd_short_length = input.int(12, title="MACD Short Length", minval=1)
macd_long_length = input.int(26, title="MACD Long Length", minval=1)
macd_signal_length = input.int(9, title="MACD Signal Length", minval=1)
rsi_length = input.int(14, title="RSI Length", minval=1)
rsi_oversold_level = input.int(30, title="RSI Oversold Level", minval=1)
rsi_overbought_level = input.int(70, title="RSI Overbought Level", minval=1)
// Calculate the MACD line and Signal line
[macdLine, signalLine, _] = ta.macd(close, macd_short_length, macd_long_length, macd_signal_length)
// Calculate the EMAs
fast_ema = ta.ema(close, fast_ema_length)
slow_ema = ta.ema(close, slow_ema_length)
// Calculate the RSI
rsi = ta.rsi(close, rsi_length)
// Conditions for long entry (bullish)
macd_bullish_crossover = ta.crossover(macdLine, signalLine) // MACD line crosses above Signal line
ema_bullish_crossover = ta.crossover(fast_ema, slow_ema) // Fast EMA crosses above Slow EMA
rsi_above_30 = rsi > rsi_oversold_level // RSI above 30 (not oversold)
long_condition = macd_bullish_crossover and ema_bullish_crossover and rsi_above_30
// Conditions for short entry (bearish)
macd_bearish_crossover = ta.crossunder(macdLine, signalLine) // MACD line crosses below Signal line
ema_bearish_crossover = ta.crossunder(fast_ema, slow_ema) // Fast EMA crosses below Slow EMA
rsi_below_70 = rsi < rsi_overbought_level // RSI below 70 (not overbought)
short_condition = macd_bearish_crossover and ema_bearish_crossover and rsi_below_70
// Execute long trade
if (long_condition)
strategy.entry("Long", strategy.long)
// Execute short trade
if (short_condition)
strategy.entry("Short", strategy.short)
// Plot the EMAs and MACD for visualization
plot(fast_ema, color=color.green, linewidth=2, title="Fast EMA")
plot(slow_ema, color=color.red, linewidth=2, title="Slow EMA")
plot(macdLine, color=color.blue, linewidth=2, title="MACD Line")
plot(signalLine, color=color.red, linewidth=2, title="Signal Line")
hline(30, "RSI 30", color=color.green)
hline(70, "RSI 70", color=color.red)
plot(rsi, color=color.purple, linewidth=2, title="RSI")