Ini adalah strategi perdagangan kuantitatif berdasarkan pengesahan terobosan momentum berganda menggunakan Williams %R dan Indeks Kekuatan Relatif (RSI). Strategi ini mengenal pasti isyarat perdagangan melalui penembusan silang dua penunjuk momentum, dengan berkesan mengurangkan risiko terobosan palsu. Ia mencari peluang perdagangan di kawasan yang terlalu banyak dibeli dan terlalu banyak dijual, meningkatkan ketepatan perdagangan melalui pengesahan bersama kedua-dua penunjuk.
Strategi ini menggunakan 30 tempoh Williams %R dan 7 tempoh RSI sebagai penunjuk utama. Isyarat beli diaktifkan apabila Williams %R melintasi di atas -80 dan RSI serentak melintasi di atas 20; isyarat jual dihasilkan apabila Williams %R melintasi di bawah -20 dan RSI serentak melintasi di bawah 80. Mekanisme pengesahan berganda ini berkesan menapis isyarat palsu yang berpotensi dari satu penunjuk. Strategi melaksanakan pengiraan manual Williams %R dengan mengira harga tertinggi dan terendah dalam tempoh untuk nilai penunjuk yang lebih tepat.
Strategi ini membina sistem perdagangan yang kukuh melalui sinergi Williams %R dan RSI. Mekanisme pengesahan momentum berganda secara berkesan mengurangkan risiko isyarat palsu, sementara perdagangan di zon overbought dan oversold menawarkan potensi keuntungan yang baik. Melalui kawalan risiko yang betul dan pengoptimuman berterusan, strategi ini dapat mengekalkan prestasi yang stabil di pelbagai persekitaran pasaran.
/*backtest start: 2024-11-12 00:00:00 end: 2024-12-11 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Williams %R + RSI Strategy", overlay=true) // Inputs for Williams %R wpr_length = input.int(30, title="Williams %R Length", minval=1) wpr_upper = input.int(-20, title="Williams %R Upper Band", minval=-100, maxval=0) wpr_lower = input.int(-80, title="Williams %R Lower Band", minval=-100, maxval=0) // Inputs for RSI rsi_length = input.int(7, title="RSI Length", minval=1) rsi_upper = input.int(80, title="RSI Upper Band", minval=0, maxval=100) rsi_lower = input.int(20, title="RSI Lower Band", minval=0, maxval=100) // Calculate Williams %R Manually highest_high = ta.highest(high, wpr_length) lowest_low = ta.lowest(low, wpr_length) wpr = ((highest_high - close) / (highest_high - lowest_low)) * -100 // Calculate RSI rsi = ta.rsi(close, rsi_length) // Entry and Exit Conditions longCondition = ta.crossover(wpr, wpr_lower) and ta.crossover(rsi, rsi_lower) shortCondition = ta.crossunder(wpr, wpr_upper) and ta.crossunder(rsi, rsi_upper) // Plot Buy/Sell Signals 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") // Strategy Entry and Exit if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)