Strategi dagangan Williams %R menghasilkan isyarat berdasarkan penunjuk Julat Peratusan Williams, yang mengukur momentum pasaran dengan membandingkan arus yang dekat dengan julat tinggi-rendah dalam tempoh tertentu.
Strategi ini berjalan lama apabila garis %R melintasi di atas oversold, dan menjual apabila garis melintasi di bawah overbought. Logikanya adalah:
Mengira Williams %R dalam jangka masa (contohnya 14 tempoh)
Tetapkan paras terlalu banyak dibeli (contohnya -20) dan terlalu banyak dijual (contohnya -80)
Pergi panjang apabila garis %R melintasi melalui oversold
Tutup jangka panjang apabila garis %R melintasi ke bawah melalui overbought
Ini membolehkan entri di sekitar titik pembalikan yang berpotensi untuk memanfaatkan pergerakan jangka pendek.
Parameter dan peraturan mudah
Pengesanan awal pembelian berlebihan/penjualan berlebihan
Perdagangan breakout yang sistematik
Kelewatan % R mungkin kehilangan peluang
Memerlukan pengoptimuman input
Tahap oversold/bought adalah panduan kasar
Strategi Williams %R bertujuan untuk menangkap pembalikan dengan berdagang kawasan overbought / oversold. Dengan saiz kedudukan yang betul dan berhenti, risiko dapat dikawal. Tetapi lag adalah batasan utama yang memerlukan alat tambahan untuk pengesahan dan berhati-hati dalam penggunaan.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-13 00:00:00 period: 12h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // © Julien_Eche //@version=5 strategy("Williams %R Strategy", overlay=true, initial_capital=100000, shorttitle="W%R Strategy") // Paramètres length = input(14, "Length") overboughtLevel = input(-20, "Overbought Level") oversoldLevel = input(-80, "Oversold Level") // Calcul du Williams %R williamsR = -100 * (ta.highest(high, length) - close) / (ta.highest(high, length) - ta.lowest(low, length)) // Conditions d'achat et de vente buySignal = ta.crossover(williamsR, oversoldLevel) sellSignal = ta.crossunder(williamsR, overboughtLevel) // Entrée en position longue if buySignal strategy.entry("Buy", strategy.long) // Sortie de la position longue if sellSignal strategy.close("Buy")