Strategi ini adalah sistem perdagangan mengikut trend berdasarkan pelbagai penunjuk teknikal, menggabungkan MACD, RSI, dan Moving Averages (MA) untuk pengesahan isyarat perdagangan. Ia menggunakan pendekatan pengurusan wang konservatif dengan sasaran stop-loss dan pelbagai keuntungan untuk kawalan risiko. Strategi ini memberi tumpuan kepada menangkap trend pasaran menaik melalui kedudukan panjang sahaja.
Logik teras adalah berdasarkan pengesahan tiga penunjuk teknikal:
Strategi ini membina sistem trend yang kukuh melalui sinergi pelbagai penunjuk teknikal. Mekanisme pengurusan wang yang komprehensif dan reka bentuk parameter yang boleh disesuaikan memberikan kepraktisan dan kebolehsesuaian yang baik. Penambahbaikan masa depan boleh memberi tumpuan kepada pengenalan keadaan pasaran dan pengoptimuman mekanisme keluar untuk meningkatkan lagi kestabilan dan keuntungan strategi.
/*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")