یہ حکمت عملی دو تکنیکی اشارے کو جوڑتی ہے: رشتہ دار طاقت انڈیکس (آر ایس آئی) اور حرکت پذیر اوسط کنورجنسی تغیر (ایم اے سی ڈی) ۔ یہ اوور بُک اور اوور سیلڈ حالات کا تعین کرنے کے لئے آر ایس آئی اور رجحان کی سمت کی نشاندہی کرنے کے لئے ایم اے سی ڈی کا استعمال کرتی ہے ، جس سے ایک مکمل لانگ شارٹ حکمت عملی تشکیل ملتی ہے۔ جب آر ایس آئی اوور بُک ہو جاتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے ، اور جب ایم اے سی ڈی فاسٹ لائن سست لائن سے اوپر عبور کرتی ہے تو پوزیشن بند ہوجاتی ہے۔ جب آر ایس آئی اوور سیلڈ ہوتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے ، اور جب ایم اے سی ڈی فاسٹ لائن سست لائن سے نیچے عبور کرتی ہے تو پوزیشن بند ہوجاتی ہے۔ اسٹاپ نقصان کا نقطہ اثاثہ کی اوسط قیمت کی تبدیلی کا نصف حساب کرکے طے کیا جاتا ہے۔
زیادہ خریدنے اور زیادہ فروخت ہونے والے حالات کا تعین کرنے کے لئے آر ایس آئی کا استعمال کرتے ہوئے ، حکمت عملی الٹ جانے کے آغاز میں داخل ہوتی ہے۔ رجحان کی سمت کی نشاندہی کرنے کے لئے ایم اے سی ڈی کا استعمال کرتے ہوئے ، یہ رجحان کے آغاز میں پوزیشن کو بند کردیتا ہے ، جس سے مؤثر طریقے سے رجحان کو پکڑ لیا جاتا ہے۔ دونوں اشارے ایک دوسرے کی تکمیل کرتے ہیں ، ایک مکمل تجارتی نظام تشکیل دیتے ہیں۔
یہ حکمت عملی اوور بک اور اوور سیلڈ حالات کا تعین کرنے کے لئے آر ایس آئی اور رجحان کی سمت کی نشاندہی کرنے کے لئے ایم اے سی ڈی کا استعمال کرتی ہے ، جس سے ایک مکمل لانگ شارٹ ٹریڈنگ سسٹم تشکیل ملتا ہے۔ حکمت عملی کا منطق واضح ہے ، اور فوائد واضح ہیں ، جبکہ کچھ خطرات بھی ہیں۔ پیرامیٹر کی اصلاح ، فلٹرنگ کے حالات ، پوزیشن مینجمنٹ کو شامل کرنے اور دیگر حکمت عملیوں کے ساتھ مل کر ، اس حکمت عملی کی کارکردگی کو مزید بہتر بنایا جاسکتا ہے ، جس سے یہ ایک مضبوط تجارتی حکمت عملی بن جاتی ہے۔
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="RSI & MACD Strategy", shorttitle="RSI & MACD", overlay=true) // Définition des entrées rsi_length = 14 rsi_overbought = 70 rsi_oversold = 30 macd_fast_length = 12 macd_slow_length = 26 macd_signal_length = 9 // Fonction pour calculer le RSI calculate_rsi(source, length) => price_change = ta.change(source) up = ta.rma(price_change > 0 ? price_change : 0, length) down = ta.rma(price_change < 0 ? -price_change : 0, length) rs = up / down rsi = 100 - (100 / (1 + rs)) rsi // Fonction pour calculer le MACD calculate_macd(source, fast_length, slow_length, signal_length) => fast_ma = ta.ema(source, fast_length) slow_ma = ta.ema(source, slow_length) macd = fast_ma - slow_ma signal = ta.ema(macd, signal_length) hist = macd - signal [macd, signal, hist] // Calcul des indicateurs rsi_value = calculate_rsi(close, rsi_length) [macd_line, signal_line, _] = calculate_macd(close, macd_fast_length, macd_slow_length, macd_signal_length) // Conditions d'entrée et de sortie // Entrée en vente : RSI passe de >= 70 à < 70 sell_entry_condition = ta.crossunder(rsi_value, rsi_overbought) // Sortie en vente : MACD fast MA croise au-dessus de slow MA sell_exit_condition = ta.crossover(macd_line, signal_line) // Entrée en achat : RSI passe de <= 30 à > 30 buy_entry_condition = ta.crossover(rsi_value, rsi_oversold) // Sortie en achat : MACD fast MA croise en-dessous de slow MA buy_exit_condition = ta.crossunder(macd_line, signal_line) // Affichage des signaux sur le graphique plotshape(series=sell_entry_condition, title="Sell Entry", location=location.belowbar, color=color.red, style=shape.triangleup, size=size.small) plotshape(series=sell_exit_condition, title="Sell Exit", location=location.abovebar, color=color.green, style=shape.triangledown, size=size.small) plotshape(series=buy_entry_condition, title="Buy Entry", location=location.abovebar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=buy_exit_condition, title="Buy Exit", location=location.belowbar, color=color.red, style=shape.triangledown, size=size.small) // Entrées et sorties de la stratégie if (sell_entry_condition) strategy.entry("Short", strategy.short) if (sell_exit_condition) strategy.close("Short") if (buy_entry_condition) strategy.entry("Long", strategy.long) if (buy_exit_condition) strategy.close("Long")