Strategi ini adalah sistem perdagangan momentum pelbagai dimensi yang menggabungkan Volume On-Balance (OBV), Purata Bergerak Sederhana (SMA), dan Indeks Kekuatan Relatif (RSI). Ia menangkap momentum pasaran dengan memantau isyarat silang antara OBV dan purata bergerak, sambil menggunakan RSI sebagai penapis untuk mengelakkan mengejar trend yang berlebihan. Strategi ini juga menggabungkan mekanisme stop-loss dan mengambil keuntungan berasaskan peratusan untuk mencapai pengurusan risiko-balasan yang seimbang.
Logik teras dibina pada tiga dimensi:
Strategi ini menggunakan paras stop loss peratusan tetap (2%) dan mengambil keuntungan (4%), mewujudkan kerangka pengurusan risiko simetri yang membantu mengekalkan nisbah risiko-balasan yang stabil.
Ini adalah strategi perdagangan momentum pelbagai dimensi yang direka dengan baik yang membina sistem perdagangan yang lengkap dengan menggabungkan kelebihan penunjuk teknikal. Kekuatan utamanya terletak pada mekanisme pengesahan isyarat berlapis-lapis dan rangka kerja pengurusan risiko yang disesuaikan. Walaupun terdapat risiko yang berpotensi, arah pengoptimuman yang dicadangkan dapat meningkatkan lagi ketahanan dan daya adaptasi strategi. Nilai praktikal strategi ini terutama tercermin dalam logiknya yang jelas, kemudahan pelaksanaan, dan penyelenggaraan.
/*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)