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