Strategi perdagangan crossover Williams dikombinasikan dengan filter rata-rata bergerak


Tanggal Pembuatan: 2023-09-19 21:57:46 Akhirnya memodifikasi: 2023-09-19 21:57:46
menyalin: 0 Jumlah klik: 870
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan sinyal silang Williamson dan memfilternya dengan moving average, untuk mencapai strategi perdagangan garis pendek yang lebih fleksibel. Strategi ini dapat menangkap situasi overbought dan oversold yang lebih jelas, sementara filter moving average dapat menghindari dampak dari gejolak pasar, sehingga memiliki stabilitas yang lebih tinggi.

Prinsip Strategi

  1. Perhitungan indikator William ((%R), dan rata-rata bergerak sederhana 200 periode ≠

  2. William melakukan lebih banyak ketika indikator menembus garis 50 ke atas dan mencapai titik terendah yang ditetapkan, dan harga penutupan lebih tinggi dari rata-rata bergerak.

  3. Indeks William turun di bawah garis 50 ketika mencapai titik terendah yang ditetapkan dan ditutup di bawah rata-rata bergerak.

  4. Setelah melakukan over, jika harga close out mencapai stop stop ((harga masuk ditambah stop stop) atau stop loss ((harga masuk dikurangi stop loss)).

  5. Setelah melakukan penarikan, jika harga penutupan mencapai stop stop (atau stop loss) atau stop loss (atau stop loss).

Strategi ini memanfaatkan fitur overbought dan oversold dari Williamstown, yang dikombinasikan dengan penilaian tren dari moving averages, untuk membuat sinyal perdagangan lebih jelas dan dapat diandalkan. Strategi stop loss juga lebih jelas dan ringkas, dan secara keseluruhan merupakan sistem strategi garis pendek yang lebih lengkap.

Analisis Keunggulan Strategi

  1. Indikator William dapat secara efektif mengidentifikasi overbought dan oversold, dan sinyalnya lebih jelas.

  2. Filter rata-rata bergerak meningkatkan penilaian terhadap tren dan menghindari dampak guncangan.

  3. Parameter indikator dan filter dapat disesuaikan dan disesuaikan secara fleksibel.

  4. Menggunakan Stop Loss Trend Tracking, Anda dapat mengunci sebagian besar keuntungan Anda.

  5. Aturan sinyal strategi sederhana, jelas, mudah dipahami, dan cocok untuk perdagangan garis pendek.

  6. Dapat digunakan untuk berbagai varietas, fleksibel dan universal.

Analisis risiko

  1. Indeks William terbelakang dan mungkin kehilangan beberapa peluang.

  2. Moving Average juga memiliki masalah keterlambatan sebagai filter.

  3. Pengadilan overbought dan oversold yang ketat mungkin melewatkan beberapa peluang tren.

  4. Stop loss yang terlalu kecil bisa saja terganggu oleh pergerakan harga.

  5. Stop loss yang terlalu besar dapat membatasi keuntungan.

  6. Parameter harus disesuaikan dengan kondisi pasar yang berbeda.

Arah optimasi strategi

  1. Optimalkan parameter indikator untuk meningkatkan strategi kemenangan.

  2. Tambahkan indikator lain untuk memfilter, seperti MACD, KDJ, dll.

  3. Cobalah berbagai jenis rata-rata bergerak, seperti rata-rata bergerak indeks.

  4. Meningkatkan penilaian tren, hanya berdagang di arah tren.

  5. Mengoptimalkan strategi stop loss, seperti stop loss dinamis, stop loss skala, dll.

  6. Cobalah untuk menambahkan manajemen posisi, seperti posisi tetap, Martingale, dll.

  7. Menggunakan pembelajaran mesin untuk menemukan kombinasi parameter yang lebih baik.

Meringkaskan

Strategi ini mengintegrasikan penilaian overbought dan oversold William dan filter tren dari moving average untuk membentuk strategi garis pendek yang sederhana dan praktis. Ini memiliki sinyal perdagangan yang jelas dan aturan stop loss. Dengan perbaikan dalam hal pengoptimalan parameter, pengoptimalan indikator, dan pengelolaan stop loss, strategi dapat dibuat lebih stabil dan realistis.

Kode Sumber Strategi
/*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")