Strategi Pemecahan Momentum

Penulis:ChaoZhang, Tanggal: 2023-10-09 15:15:22
Tag:

Gambaran umum

Ini adalah strategi perdagangan intraday yang memanfaatkan indikator momentum dan level support/resistance utama untuk perdagangan breakout. Ini menggabungkan indeks Choppiness untuk mengidentifikasi tren dan hanya berdagang ketika tren jelas, untuk mengendalikan risiko.

Logika Strategi

Strategi ini menggunakan indeks Choppiness untuk mengidentifikasi tren. Nilai Choppiness rendah menunjukkan tren yang jelas sementara nilai tinggi menunjukkan konsolidasi. Strategi hanya diperdagangkan ketika Choppiness di bawah 44.

Untuk sinyal masuk, ia menghitung level support/resistance intraday utama termasuk H4, H5 dll. Ini akan panjang ketika harga ditutup di atas H4 dan akan pendek ketika harga ditutup di bawah L4.

Secara khusus, ia menghitung tingkat intraday berikut:

  • Pivot = (tinggi + rendah + dekat) / 3
  • Rentang = Tinggi - Rendah
  • H1-H6 = Pivot + Range * Rasio
  • L1-L6 = Pivot - Range * Rasio

Setelah menghitung tingkat ini, ia menggunakan H4 dan L4 sebagai tingkat key breakout.

Ketika harga melanggar di atas H4, itu menandakan momentum bullish meningkat dan strategi pergi panjang. Ketika harga melanggar di bawah L4, itu menandakan momentum bearish meningkat dan strategi pergi pendek.

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Menggunakan Choppiness untuk mengidentifikasi tren yang jelas menghindari whipsaws dalam konsolidasi.

  2. Tingkat support/resistance yang dihitung biasanya berarti. Perdagangan breakout dari level ini memberikan probabilitas menang yang lebih tinggi.

  3. Jeda perdagangan H4 dan L4 yang dekat dengan harga penutupan menangkap jeda intraday yang penting.

  4. Sinyal breakout memiliki tingkat kemenangan yang sangat tinggi.

  5. Logika yang sederhana dan jelas, mudah dipahami dan diimplementasikan untuk pemula.

Analisis Risiko

Risiko dari strategi ini meliputi:

  1. Mengandalkan Choppiness untuk mengidentifikasi tren dapat gagal dan salah membaca tren.

  2. Tingkat yang dihitung mungkin tidak bertahan dan harga bisa menerobos, menyebabkan berhenti.

  3. Sinyal breakout bisa menjadi breakout palsu dengan pembalikan cepat.

  4. Tanpa mempertimbangkan tren keseluruhan, kerugian dapat menumpuk di pasar bergolak.

  5. Tidak ada stop loss berarti kerugian perdagangan tunggal yang besar mungkin terjadi dalam gerakan ekstrim.

Solusi:

  1. Tambahkan indikator lain untuk konfirmasi silang dan meningkatkan akurasi.

  2. Mengimplementasikan stop loss bergerak untuk mengendalikan kerugian perdagangan tunggal.

  3. Masukkan filter tren jangka panjang untuk menghindari perdagangan yang bertentangan dengan tren.

  4. Tambahkan sinyal masuk kembali untuk menghindari mengejar pelarian palsu.

Arahan Optimasi

Strategi ini dapat lebih dioptimalkan dengan:

  1. Mengoptimalkan parameter Choppiness untuk menemukan nilai yang lebih baik.

  2. Mencoba tingkat penyebaran yang berbeda seperti H3 dan L3 untuk efisiensi yang lebih baik.

  3. Menambahkan stop loss bergerak untuk perlindungan keuntungan dan kontrol risiko.

  4. Menambahkan sinyal re-entry untuk menghindari kerugian dari kebocoran palsu.

  5. Mengintegrasikan filter tren jangka panjang untuk menghindari perdagangan kontra-tren.

  6. Mengoptimalkan waktu perdagangan seperti hanya sesi perdagangan AS atau Eropa.

  7. Menambahkan aturan ukuran posisi seperti kuantitas tetap atau persentase tetap.

  8. Menganalisis data backtest untuk pengaturan parameter.

Kesimpulan

Pada dasarnya, ide utamanya adalah untuk melakukan perdagangan setelah mengidentifikasi tren. Ini memiliki logika sederhana dan peluang menang yang layak. Tetapi risiko ada dan penyempurnaan lebih lanjut diperlukan untuk mengontrol risiko dan meningkatkan profitabilitas. Dengan penyesuaian parameter, stop loss, filter tren dll, ini dapat menjadi sistem breakout intraday yang sangat praktis. Ini memberikan kerangka momentum breakout yang merupakan strategi perdagangan intraday yang efektif.


/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by AS
strategy(title="ASH1Strategy", shorttitle="AS_H1_Strategy", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,3)

pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)
    


shortCondition = close <dtime_l4
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
    


Lebih banyak