Harami Strategi Harga Penutupan

Penulis:ChaoZhang, Tarikh: 2023-11-28 16:50:34
Tag:

img

Ringkasan

Strategi Harami Closing Price adalah strategi perdagangan kuantitatif berdasarkan corak lilin. Strategi ini mengenal pasti corak Harami untuk menjana isyarat beli dan jual.

Logika Strategi

Logika terasnya ialah: Apabila lilin semasa adalah lilin merah dan yang sebelumnya adalah lilin hijau, dan harga terendah lilin semasa lebih tinggi daripada harga terendah lilin sebelumnya, harga tertinggi lilin semasa lebih rendah daripada harga tertinggi lilin sebelumnya, corak Harami terbentuk. Ini bermakna momentum kenaikan sedang kehilangan kekuatan dan ia adalah isyarat untuk menjual. Sebaliknya, corak Harami dengan dua lilin terbalik merupakan isyarat beli.

Purata badan lilin digunakan sebagai garis stop loss. Apabila badan lebih besar daripada separuh daripada garis stop loss, stop loss diaktifkan.

Analisis Kelebihan

Kelebihan utama strategi Harga Penutupan Harami ialah:

  1. Penghakiman yang mudah dan munasabah berdasarkan corak candlestick, mudah difahami dan dilaksanakan.
  2. Boleh mengenal pasti penembusan dengan jumlah dagangan yang agak kecil. Apabila julat menaik menyempitkan untuk membentuk corak Harami, momentum menaik kehilangan kekuatan dan ia adalah titik penjualan yang baik.
  3. Terdapat mekanisme stop loss yang jelas untuk mengawal risiko.

Analisis Risiko

Terdapat juga beberapa risiko untuk strategi ini:

  1. Frekuensi pemantauan rendah, mungkin terlepas titik masuk dan keluar terbaik.
  2. Lilin bullish / bearish palsu boleh menghasilkan isyarat yang salah. Perlu digunakan dengan jumlah dagangan dan penapis lain.
  3. Penghakiman hanya berdasarkan corak candlestick tanpa mempertimbangkan penunjuk teknikal dan asas lain, yang membawa kepada beberapa kebutaan.

Untuk mengurangkan risiko ini, menggabungkan dengan jumlah dagangan, purata bergerak dan penunjuk teknikal yang lain adalah disyorkan, untuk membuat penilaian yang lebih komprehensif mengenai trend pasaran.

Arahan pengoptimuman

Strategi Harga Penutupan Harami juga boleh ditingkatkan dari aspek berikut:

  1. Menambah pemeriksaan keadaan jumlah dagangan. Lonjakan dalam jumlah dagangan sering menunjukkan pembalikan trend.
  2. Penyesuaian kriteria stop loss secara dinamik berdasarkan turun naik pasaran dan pilihan risiko.
  3. Analisis jangka masa berbilang. mengenal pasti titik jualan berhampiran tahap sokongan utama pada jangka masa yang lebih tinggi apabila corak Harami terbentuk.
  4. Menggabungkan penunjuk teknikal lain seperti purata bergerak untuk menentukan trend keseluruhan pasaran, atau penunjuk utama untuk meramalkan titik masuk dan keluar.

Ringkasan

Strategi Harami Closing Price mudah difahami dan dilaksanakan untuk menjana isyarat beli dan jual tertentu berdasarkan corak lilin. Tetapi ia juga mempunyai beberapa batasan seperti menjana isyarat palsu dan buta. Masalah ini juga menunjukkan arah untuk pengoptimuman lanjut, dengan menggunakan penilaian yang lebih komprehensif dengan jumlah dagangan, pelbagai jangka masa, dan penunjuk teknikal lain. Ini dapat meningkatkan kecekapan strategi.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Harami Strategy v1.0", shorttitle = "Harami str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)
bar = close > open ? 1 : close < open ? -1 : 0

//Signals
up = bar == 1 and bar[1] == -1 and min > min[1] and max < max[1]
dn = bar == -1 and bar[1] == 1 and min > min[1] and max < max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Lebih lanjut