Strategi Pembebasan Momentum

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

Ringkasan

Ini adalah strategi perdagangan intraday yang menggunakan penunjuk momentum dan tahap sokongan / rintangan utama untuk perdagangan pecah. Ia menggabungkan indeks Choppiness untuk mengenal pasti trend dan hanya berdagang apabila trend jelas, untuk mengawal risiko.

Logika Strategi

Strategi ini menggunakan indeks Choppiness untuk mengenal pasti trend. Nilai Choppiness yang rendah menunjukkan trend yang jelas manakala nilai yang tinggi menunjukkan penyatuan. Strategi hanya berdagang apabila Choppiness di bawah 44.

Untuk isyarat kemasukan, ia mengira tahap sokongan / rintangan intraday utama termasuk H4, H5 dan lain-lain. Ia pergi panjang apabila harga ditutup di atas H4 dan pergi pendek apabila harga ditutup di bawah L4.

Khususnya, ia mengira tahap intraday berikut:

  • Pivot = (tinggi + rendah + dekat) / 3
  • Julat = Tinggi - Rendah
  • H1-H6 = Pivot + Julat * Nisbah
  • L1-L6 = Pivot - Julat * Nisbah

Selepas mengira tahap ini, ia menggunakan H4 dan L4 sebagai tahap pecah utama.

Apabila harga pecah di atas H4, ia menandakan peningkatan momentum menaik dan strategi pergi panjang. Apabila harga pecah di bawah L4, ia menandakan peningkatan momentum menurun dan strategi pergi pendek.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Menggunakan Choppiness untuk mengenal pasti trend yang jelas mengelakkan whipsaws dalam penyatuan.

  2. Tahap sokongan / rintangan yang dikira biasanya bermakna. Perdagangan pecah dari tahap ini memberikan kebarangkalian kemenangan yang lebih tinggi.

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

  4. Isyarat breakout mempunyai kadar kemenangan yang sangat tinggi. Pecahan H4 dan L4 yang sah biasanya meneruskan trend.

  5. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan untuk pemula.

Analisis Risiko

Risiko strategi ini termasuk:

  1. Mengandalkan Choppiness untuk mengenal pasti trend boleh gagal dan salah membaca trend.

  2. Tahap yang dikira mungkin tidak bertahan dan harga boleh menerobos, menyebabkan berhenti.

  3. Isyarat pecah boleh menjadi pecah palsu dengan pembalikan cepat.

  4. Tanpa mengambil kira trend keseluruhan, kerugian boleh terkumpul di pasaran yang bergelombang.

  5. Tiada stop loss bermakna kerugian perdagangan tunggal yang besar adalah mungkin dalam pergerakan yang melampau.

Penyelesaian:

  1. Tambah penunjuk lain untuk pengesahan silang dan meningkatkan ketepatan.

  2. Melaksanakan pergerakan stop loss untuk mengawal kerugian perdagangan tunggal.

  3. Masukkan penapis trend jangka panjang untuk mengelakkan perdagangan yang bertentangan dengan trend.

  4. Tambah isyarat masuk semula untuk mengelakkan mengejar pelarian palsu.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dengan:

  1. Mengoptimumkan parameter Choppiness untuk mencari nilai yang lebih baik.

  2. Uji tahap penyebaran yang berbeza seperti H3 dan L3 untuk kecekapan yang lebih baik.

  3. Menambah pergerakan stop loss untuk perlindungan keuntungan dan kawalan risiko.

  4. Menambah isyarat masuk semula untuk mengelakkan kehilangan daripada pelarian palsu.

  5. Memasukkan penapis trend jangka panjang untuk mengelakkan perdagangan yang bertentangan dengan trend.

  6. Mengoptimumkan masa perdagangan seperti hanya sesi perdagangan AS atau Eropah.

  7. Menambah peraturan saiz kedudukan seperti kuantiti tetap atau peratusan tetap.

  8. Menganalisis data backtest untuk penyesuaian parameter.

Kesimpulan

Ringkasnya, idea utama adalah untuk berdagang selepas mengenal pasti trend. Ia mempunyai logik yang mudah dan peluang kemenangan yang baik. Tetapi risiko ada dan penyempurnaan lanjut diperlukan untuk mengawal risiko dan meningkatkan keuntungan. Dengan penyesuaian parameter, stop loss, penapis trend dan lain-lain ia boleh menjadi sistem breakout intraday yang sangat praktikal. Ia menyediakan kerangka kerja breakout momentum yang merupakan strategi perdagangan intraday yang berkesan.


/*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 lanjut