Cette stratégie est un système de trading basé sur plusieurs indicateurs techniques, combinant le MACD, le RSI et les moyennes mobiles (MA) pour la confirmation des signaux commerciaux.
La logique de base est basée sur la confirmation de trois indicateurs techniques:
Cette stratégie construit un système robuste de suivi des tendances grâce à la synergie de plusieurs indicateurs techniques. Son mécanisme de gestion de l'argent complet et sa conception de paramètres réglables offrent une bonne praticité et une bonne adaptabilité.
/*backtest start: 2024-12-29 00:00:00 end: 2025-01-05 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Saudi Market Buy-Only Strategy (Customizable)", overlay=true) // مدخلات المستخدم لتخصيص القيم // رأس المال وإدارة المخاطر capital = input.float(10000, title="رأس المال (ريال)", minval=1000) // رأس المال الافتراضي riskPercent = input.float(2, title="نسبة المخاطرة (%)", minval=0.1, maxval=10) / 100 // نسبة المخاطرة buySLPercent = input.float(1, title="وقف الخسارة (%)", minval=0.1, maxval=10) / 100 // وقف الخسارة tp1Percent = input.float(2, title="الهدف الأول (%)", minval=0.1, maxval=20) / 100 // الهدف الأول tp2Percent = input.float(3, title="الهدف الثاني (%)", minval=0.1, maxval=30) / 100 // الهدف الثاني // إعدادات المؤشرات الفنية macdFastLength = input.int(12, title="MACD - فترة المتوسط السريع", minval=1) macdSlowLength = input.int(26, title="MACD - فترة المتوسط البطيء", minval=1) macdSignalLength = input.int(9, title="MACD - فترة الإشارة", minval=1) rsiLength = input.int(14, title="RSI - فترة المؤشر", minval=1) rsiThreshold = input.int(50, title="RSI - مستوى الدخول", minval=1, maxval=100) ma50Length = input.int(50, title="MA50 - فترة المتوسط المتحرك", minval=1) ma200Length = input.int(200, title="MA200 - فترة المتوسط المتحرك", minval=1) // حساب إدارة المخاطر riskAmount = capital * riskPercent // قيمة المخاطرة // حساب المؤشرات الفنية [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength) rsiValue = ta.rsi(close, rsiLength) ma50 = ta.sma(close, ma50Length) ma200 = ta.sma(close, ma200Length) // تعريف الاتجاه العام للسوق باستخدام المتوسطات isBullishTrend = ma50 > ma200 // شروط الدخول شراء فقط if ta.crossover(macdLine, signalLine) and rsiValue > rsiThreshold and isBullishTrend entryPrice = close stopLoss = entryPrice * (1 - buySLPercent) // وقف الخسارة أسفل نقطة الدخول takeProfit1 = entryPrice * (1 + tp1Percent) // الهدف الأول takeProfit2 = entryPrice * (1 + tp2Percent) // الهدف الثاني strategy.entry("Buy", strategy.long) // فتح صفقة شراء strategy.exit("TP1", "Buy", limit=takeProfit1, stop=stopLoss) strategy.exit("TP2", "Buy", limit=takeProfit2) // رسم خطوط المتوسطات plot(ma50, color=color.blue, title="MA50") plot(ma200, color=color.orange, title="MA200")