Strategi ini adalah sistem perdagangan momentum multi-dimensi yang menggabungkan Volume On-Balance (OBV), Simple Moving Average (SMA), dan Relative Strength Index (RSI). Strategi ini menangkap momentum pasar dengan memantau sinyal silang antara OBV dan rata-rata bergerak, sambil menggunakan RSI sebagai filter untuk menghindari mengejar tren yang berlebihan. Strategi ini juga menggabungkan mekanisme stop-loss dan take-profit berbasis persentase untuk mencapai manajemen risiko-imbalan yang seimbang.
Logika inti dibangun pada tiga dimensi:
Strategi ini menggunakan tingkat stop-loss (2%) dan take-profit (4%) persentase tetap, menciptakan kerangka manajemen risiko simetris yang membantu mempertahankan rasio risiko-manfaat yang stabil.
Ini adalah strategi perdagangan momentum multi-dimensi yang dirancang dengan baik yang membangun sistem perdagangan yang lengkap dengan menggabungkan keuntungan dari indikator teknis. Kekuatan inti terletak pada mekanisme konfirmasi sinyal multi-lapisan dan kerangka manajemen risiko standar. Meskipun ada risiko potensial, arah optimasi yang disarankan dapat lebih meningkatkan ketahanan dan kemampuan beradaptasi strategi. Nilai praktis strategi ini terutama tercermin dalam logika yang jelas, kemudahan implementasi, dan pemeliharaan. Pedagang disarankan untuk menguji secara menyeluruh kinerja di bawah kondisi pasar yang berbeda dan mengoptimalkan parameter sesuai dengan kebutuhan spesifik sebelum penyebaran langsung.
/*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)