
یہ حکمت عملی ایک رجحان ٹریڈنگ سسٹم ہے جو متعدد تکنیکی اشارے پر مبنی ہے ، جس میں تین کلاسیکی تکنیکی اشارے شامل ہیں: متحرک اوسط (EMA) ، متحرک اوسط متغیر (MACD) اور نسبتا strong مضبوط اشارے (RSI) ، مارکیٹ میں رجحانات کی تبدیلی اور حرکیات کو پکڑ کر تجارت کی جاتی ہے۔ حکمت عملی میں پیرامیٹرز کی ترتیب کا استعمال کیا گیا ہے جیسے تیز رفتار EMA (9) اور سست EMA (21) ، MACD (12) ، (26) ، (9) اور RSI (14) ، جو اشارے کے کراس اور حد سے تجاوز کرنے پر تجارتی سگنل جاری کرتی ہے۔
اس حکمت عملی کا بنیادی منطق مارکیٹ کے رجحانات کے ٹرن آؤٹ پوائنٹس کی شناخت کرنا ہے جس میں متعدد تکنیکی اشارے کی ہم آہنگی کی تصدیق ہوتی ہے۔ اس میں تین پہلوؤں پر مشتمل سگنل کی تصدیق شامل ہے:
یہ حکمت عملی مارکیٹ کے رجحانات میں تبدیلی کو پکڑنے کے لئے متعدد تکنیکی اشارے کی کراس توثیق کے ذریعہ بہتر وشوسنییتا اور موافقت کی حامل ہے۔ تاہم ، عملی استعمال میں سگنل کے پیچھے اور زیادہ تجارت جیسے مسائل پر توجہ دینے کی ضرورت ہے۔ حکمت عملی کی استحکام اور منافع بخش صلاحیت کو بڑھانے کے لئے موافقت کے پیرامیٹرز ، اسٹاپ نقصان کے طریقہ کار اور مارکیٹ کے ماحول کی شناخت جیسے طریقوں کو متعارف کرانے کے ذریعہ اصلاحات کی سفارش کی گئی ہے۔ استعمال کے دوران ، یہ تجویز کی گئی ہے کہ تاریخی اعداد و شمار کی بھرپور بازیافت اور پیرامیٹرز کی اصلاح کی جائے ، اور حقیقی تجارتی اثر و رسوخ کے مطابق مستقل طور پر ایڈجسٹ اور بہتر بنایا جائے۔
/*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")