이 전략은 트레이드 신호 확인을 위해 MACD, RSI 및 이동 평균 (MA) 을 결합한 여러 기술적 지표에 기반한 트렌드 추적 거래 시스템이다. 위험 통제를 위해 스톱 로스 및 여러 이익 목표와 함께 보수적인 화폐 관리 접근 방식을 사용합니다. 전략은 롱 포지션을 통해 상향 시장 추세를 포착하는 데 중점을 둡니다.
핵심 논리는 세 가지 기술 지표 확인에 기반합니다.
이 전략은 여러 가지 기술적 지표의 시너지 효과를 통해 견고한 트렌드-추천 시스템을 구축합니다. 포괄적인 돈 관리 메커니즘과 조정 가능한 매개 변수 설계는 좋은 실용성과 적응력을 제공합니다. 미래의 개선은 전략 안정성과 수익성을 더욱 향상시키기 위해 시장 상태를 식별하고 출구 메커니즘 최적화에 초점을 맞출 수 있습니다.
/*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")