Strategi Pembebasan Berdasarkan Saluran Camarilla

Penulis:ChaoZhang, Tarikh: 2023-10-24 16:18:30
Tag:

img

Ringkasan

Strategi ini terutamanya menggunakan saluran Camarilla dan purata bergerak untuk mengenal pasti titik pecah di pasaran, dan dengan itu melaksanakan trend berikut.

Logika Strategi

  1. Mengira tahap sokongan dan rintangan menggunakan saluran Camarilla, termasuk H4, L4 dll.

  2. Tentukan sama ada harga melanggar garis saluran ini. Sebagai contoh, tutup di atas H4 dan buka di bawah H4 menunjukkan isyarat pecah.

  3. Tambah penapis purata bergerak untuk pengesahan lanjut.

  4. Masukkan kedudukan panjang dengan stop loss dan ambil keuntungan.

  5. Logik yang sama berlaku untuk kedudukan pendek.

Logiknya mudah dan mudah difahami. Dengan penangguhan stop loss, strategi ini boleh menunggang trend dengan berkesan.

Kelebihan

Kelebihan strategi ini:

  1. Saluran Camarilla dengan tepat mencari sokongan dan rintangan yang berpotensi.

  2. Penapis purata bergerak membantu mengesahkan isyarat penembusan yang benar.

  3. Penghentian kerugian yang mengikuti mengambil keuntungan sambil mengelakkan penghentian pembalikan.

  4. Isyarat jelas dan mudah untuk bertindak.

  5. Tiada penyesuaian yang kerap diperlukan untuk perdagangan automatik.

Risiko dan Penyelesaian

Terdapat beberapa risiko yang perlu diketahui:

  1. Saluran Camarilla tidak dapat mengenal pasti titik perubahan dengan berkesan.

    • Penyelesaian: Tambah pengayun untuk mengesan pembalikan trend.
  2. Tetapan titik stop loss yang tidak betul boleh membawa kepada keluar awal atau kehilangan yang diperbesar.

    • Penyelesaian: Optimumkan dan uji tahap stop loss yang berbeza.
  3. Isyarat yang keluar mungkin menjadi isyarat palsu.

    • Penyelesaian: Tambah lebih banyak penapis untuk pengesahan, atau meredakan kriteria keluar.
  4. Banyak kebocoran palsu boleh berlaku di pasaran pelbagai.

    • Penyelesaian: Elakkan berdagang dalam jangka masa yang berbeza, atau melonggarkan kriteria.

Cadangan Peningkatan

Strategi ini boleh ditingkatkan lagi dari aspek berikut:

  1. Tambah lebih banyak penunjuk sebagai penapis untuk meningkatkan ketepatan penembusan, seperti KDJ, MACD dll.

  2. Mengoptimumkan keluar, seperti kehilangan hentian dinamik, mengintegrasikan ATR dll.

  3. Mengoptimumkan parameter untuk produk yang berbeza untuk meningkatkan ketahanan.

  4. Tambah penapis trend jangka masa yang lebih tinggi untuk mengelakkan perdagangan kontra-trend.

  5. Fokus pada jumlah yang tinggi untuk pengesahan.

  6. Membangunkan pengoptimuman parameter automatik untuk penyesuaian dinamik.

  7. Memperluaskan strategi arbitraj pelbagai produk.

Kesimpulan

Strategi ini mempunyai logik yang jelas dan mudah dengan kepraktisan yang kuat. Ia mengenal pasti sokongan dan rintangan yang berpotensi menggunakan Camarilla dan mengesahkan arah pecah dengan purata bergerak. Kaedah keluar juga munasabah. Terdapat juga potensi yang besar untuk peningkatan, seperti menambah lebih banyak penunjuk, pengembangan pelbagai produk dll. Secara keseluruhan ini adalah strategi yang menjanjikan dengan potensi yang baik.


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

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyV1", shorttitle="CD_Camarilla_StrategyV1", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)

//Camarilla
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 and open < dtime_h4 and EMA < close
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit ("Exit Long","Long",  trail_points = 140,trail_offset = 1, loss =170) 
    //trail_points = 40, trail_offset = 3, loss =70 and


shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)
    


Lebih lanjut