Strategi ini menggunakan isyarat persilangan Williams % R dan menambah penapis purata bergerak untuk mewujudkan sistem perdagangan jangka pendek yang fleksibel. Ia dapat menangkap situasi overbought dan oversold dengan jelas, sementara penapis MA mengelakkan bunyi pasaran untuk kestabilan yang lebih tinggi.
Mengira Williams %R dan purata mudah bergerak (MA) 200 tempoh.
Pergi panjang apabila %R melintasi tahap di atas -50 dengan ambang dan menutup di atas MA.
Pergi pendek apabila %R melintasi tahap di bawah -50 dengan ambang dan menutup di bawah MA.
Jika panjang, tutup kedudukan apabila hampir mencapai mengambil keuntungan (harga kemasukan + mengambil keuntungan pips) atau tahap stop loss (harga kemasukan - stop loss pips).
Jika pendek, tutup kedudukan apabila hampir mencapai mengambil keuntungan (harga kemasukan - mengambil keuntungan pips) atau tahap stop loss (harga kemasukan + stop loss pips).
Strategi ini memanfaatkan sifat overbought/oversold Williams %R, dan menggabungkan penapis trend MA untuk isyarat yang lebih boleh dipercayai. Logik stop loss/take profit adalah mudah dan jelas. Secara keseluruhan ia adalah sistem jangka pendek yang lengkap.
Williams %R secara berkesan mengenal pasti tahap overbought / oversold dengan isyarat yang jelas.
Penapis MA menambah bias trend untuk mengelakkan whipsaws.
Parameter yang boleh disesuaikan untuk fleksibiliti.
Mengikuti stop loss mengunci dalam kebanyakan keuntungan.
Logik yang mudah, mudah difahami dan dilaksanakan.
Boleh digunakan untuk pelbagai produk dengan fleksibiliti.
Williams %R mempunyai kesan kelewatan, mungkin terlepas beberapa peluang.
Penapis MA juga mempunyai beberapa lag.
Peraturan overbought/oversold yang ketat mungkin terlepas beberapa trend.
Stop loss terlalu ketat boleh dihentikan oleh whipsaws.
Stop loss yang terlalu luas boleh mengehadkan keuntungan.
Parameter perlu disesuaikan untuk persekitaran pasaran yang berbeza.
Mengoptimumkan parameter untuk kadar kemenangan yang lebih tinggi.
Tambah penapis lain seperti MACD, KDJ dll.
Cuba pelbagai jenis MA seperti MA eksponensial.
Tambah bias trend, hanya berdagang ke arah trend.
Mengoptimumkan strategi stop loss seperti berhenti dinamik, keluar candelier dan sebagainya
Cuba saiz kedudukan seperti pecahan tetap, Martingale dan lain-lain.
Menggunakan pembelajaran mesin untuk pengoptimuman parameter yang lebih baik.
Strategi ini menggabungkan isyarat overbought / oversold Williams % R dengan penapis trend MA ke dalam sistem jangka pendek yang mudah. Ia mempunyai isyarat kemasukan yang jelas dan logik stop loss / take profit. Penambahbaikan lanjut boleh dibuat melalui penyesuaian parameter, pemilihan penunjuk, pengurusan stop loss dan lain-lain untuk lebih mantap. Mudah dilaksanakan dan berkembang, strategi ini sesuai untuk peniaga jangka pendek.
/*backtest start: 2023-08-19 00:00:00 end: 2023-09-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Williams %R Cross Strategy with MA Filter", overlay=true) // User Inputs wrLength = input(14, title="Williams %R Length") crossPips = input(10, title="Cross Threshold (Pips)") takeProfitPips = input(30, title="Take Profit (Pips)") stopLossPips = input(20, title="Stop Loss (Pips)") // Calculate Williams %R wrHigh = ta.highest(high, wrLength) wrLow = ta.lowest(low, wrLength) wr = (wrHigh - close) / (wrHigh - wrLow) * -100 // Calculate 200-period Simple Moving Average ma200 = ta.sma(close, 200) // Entry Conditions enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200 enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200 // Exit Conditions exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick)) exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick)) // Order Management if enterLong strategy.entry("Long", strategy.long) if enterShort strategy.entry("Short", strategy.short) if exitLong strategy.close("Long") if exitShort strategy.close("Short")