この戦略は多次元的なモメンタム・トレーディングシステムで,オン・バランス・ボリューム (OBV),シンプル・ムービング・平均値 (SMA),および相対強度指数 (RSI) を組み合わせています.この戦略は,OBVと移動平均値との間のクロスオーバー信号をモニタリングすることによって市場のモメンタムを把握し,過剰なトレンド追いかけるのを避けるためにRSIをフィルターとして使用しています.この戦略には,バランスのとれたリスク・報酬管理を達成するために,パーセントベースのストップ・ロストとテイク・プロフィートメカニズムも組み込まれています.
基本的な論理は3つの次元に基づいています
この戦略は固定パーセントのストップ・ロスト (2%) とテイク・プロフィート (4%) を採用し,リスク・リターン比を安定させることに役立つ対称的なリスク管理枠組みを作り出します.
これは,技術指標の利点を組み合わせて完全な取引システムを構築する,よく設計された多次元的なモメンタム・トレーディング戦略である.その核心強みは,多層の信号確認メカニズムと標準化されたリスク管理フレームワークにある.潜在的なリスクがある一方で,提案された最適化方向は,戦略の強度と適応性をさらに高めることができる.戦略の実践的な価値は,主に明確な論理,実装の容易さ,保守に反映されている.トレーダーは,さまざまな市場条件下でパフォーマンスを徹底的にテストし,ライブ展開前に特定のニーズに応じてパラメータを最適化することをお勧めする.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("OBV Strategy with SMA, RSI, SL and TP (Improved Visualization)", overlay=true) // حساب OBV يدويًا obv = ta.cum(math.sign(close - close[1]) * volume) // إعداد المتوسط المتحرك البسيط لـ OBV lengthOBV = input(20, title="OBV SMA Length") obvSMA = ta.sma(obv, lengthOBV) // إعداد مؤشر RSI lengthRSI = input(14, title="RSI Length") rsi = ta.rsi(close, lengthRSI) // إعدادات وقف الخسارة وجني الأرباح stopLossPerc = input(2.0, title="Stop Loss %") / 100 // 2% وقف خسارة takeProfitPerc = input(4.0, title="Take Profit %") / 100 // 4% جني أرباح // حساب مستوى وقف الخسارة وجني الأرباح longStopLoss = close * (1 - stopLossPerc) longTakeProfit = close * (1 + takeProfitPerc) shortStopLoss = close * (1 + stopLossPerc) shortTakeProfit = close * (1 - takeProfitPerc) // إعداد شروط الشراء longCondition = ta.crossover(obv, obvSMA) and rsi < 70 if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("Take Profit/Stop Loss", "Buy", stop=longStopLoss, limit=longTakeProfit) // إعداد شروط البيع shortCondition = ta.crossunder(obv, obvSMA) and rsi > 30 if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("Take Profit/Stop Loss", "Sell", stop=shortStopLoss, limit=shortTakeProfit) // رسم OBV والمؤشرات الأخرى على الرسم البياني plot(obv, title="OBV", color=color.blue, linewidth=2) // رسم OBV بخط أزرق عريض plot(obvSMA, title="OBV SMA", color=color.orange, linewidth=2) // رسم SMA بخط برتقالي // رسم إشارات الشراء والبيع على الرسم البياني plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // رسم RSI في نافذة منفصلة بوضوح أكبر hline(70, "RSI Overbought", color=color.red, linestyle=hline.style_dashed) hline(30, "RSI Oversold", color=color.green, linestyle=hline.style_dashed) plot(rsi, title="RSI", color=color.purple, linewidth=2) // إضافة منطقة RSI بالألوان bgcolor(rsi > 70 ? color.new(color.red, 90) : rsi < 30 ? color.new(color.green, 90) : na)