Harami Berkurangan Backtest Strategi

Penulis:ChaoZhang, Tarikh: 2023-11-23 11:47:10
Tag:

img

Ringkasan

Strategi Backtest Pembalikan Harami Buruh mengenal pasti corak pembalikan Harami Buruh dalam carta lilin dan secara automatik memperdagangkannya. Ia pergi pendek apabila mengesan corak Harami Buruh dan menutup kedudukan apabila stop loss atau mengambil keuntungan dicetuskan.

Logika Strategi

Indikator pengenalan corak teras strategi ini ialah: penutupan lilin pertama adalah lilin bullish yang panjang dan penutupan lilin kedua berada di dalam badan lilin pertama, membentuk lilin bearish. Ini menunjukkan corak pembalikan Harami Bearish yang berpotensi. Apabila corak ini terbentuk, strategi menjadi pendek.

Logiknya ialah:

  1. Mengira jika saiz badan lilin pertama ABS ((Close1 - Open1) adalah lebih besar daripada saiz badan minimum yang ditetapkan
  2. Periksa sama ada lilin pertama menaik Tutup1 > Buka1
  3. Periksa sama ada lilin semasa menurun Buka > Tutup
  4. Periksa sama ada lilin semasas terbuka adalah kurang daripada atau sama dengan penutupan sebelumnya Terbuka <= Tutup1
  5. Periksa sama ada lilin sebelumnya terbuka adalah kurang daripada atau sama dengan lilin semasa tutup Buka1 <= Tutup
  6. Periksa sama ada badan lilin semasa adalah lebih kecil daripada badan sebelumnya Buka - Tutup < Tutup1 - Buka1
  7. Jika semua keadaan berlalu, Harami Bearish telah terbentuk dan strategi gagal.

Analisis Kelebihan

Kelebihan strategi ini ialah:

  1. Menggunakan isyarat pembalikan penurunan Harami yang kuat untuk kemungkinan keuntungan yang lebih tinggi
  2. Hasil data backtest yang luas adalah positif
  3. Logik yang mudah difahami dan optimum
  4. Pendapatan yang boleh disesuaikan dengan stop loss dan mengambil keuntungan untuk kawalan risiko

Analisis Risiko

Terdapat juga beberapa risiko:

  1. Pasaran mungkin mempunyai pecah palsu yang membawa kepada kehilangan kedudukan. boleh meluaskan stop loss atau menambah penapis.
  2. Volatiliti tinggi boleh mencetuskan stop loss lebih awal.
  3. Data backtest yang tidak mencukupi mungkin tidak mencerminkan keadaan pasaran sebenar.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dalam bidang berikut:

  1. Tambah Volume, MACD dan penapis lain untuk meningkatkan kualiti isyarat
  2. Mengoptimumkan strategi stop loss dan mengambil keuntungan, menyesuaikan tahap secara dinamik
  3. Meningkatkan kecekapan memegang kedudukan, digabungkan dengan trend dan faktor lain untuk mengurangkan perdagangan yang tidak berkesan
  4. Uji produk perdagangan yang berbeza untuk mencari alternatif turun naik yang lebih rendah

Kesimpulan

Strategi Backtest Pembalikan Harami Bearish mempunyai logika yang jelas, mudah difahami, hasil backtest yang baik dan risiko yang boleh dikawal. Ia mempunyai ruang untuk penyesuaian dan pengoptimuman perdagangan langsung. Secara keseluruhan isyarat perdagangan boleh dipercayai dan bernilai pengoptimuman dan pengesahan lanjut dalam perdagangan langsung.


/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-19 23:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/01/2019 
//    This is a bearish reversal pattern formed by two candlesticks in which a short 
//    real body is contained within the prior session's long real body. Usually the 
//    second real body is the opposite color of the first real body. The Harami pattern 
//    is the reverse of the Engulfing pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Bearish Harami Backtest", overlay = true)
input_takeprofit = input(20, title="Take Profit pip")
input_stoploss = input(10, title="Stop Loss pip")
input_minsizebody = input(3, title="Min. Size Body pip")
barcolor(abs(close- open) >= input_minsizebody ? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? yellow :na :na : na : na : na : na)
pos = 0.0
barcolor(nz(pos[1], 0) == -1 ? red: nz(pos[1], 0) == 1 ? green : blue )
posprice = 0.0
posprice := abs( close - open) >= input_minsizebody? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? close :nz(posprice[1], 0) :nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0): nz(posprice[1], 0)
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))


Lebih lanjut