
この戦略は,成交量エネルギー指数 (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)