Strategi Harami Closing Price adalah strategi perdagangan kuantitatif berdasarkan corak lilin. Strategi ini mengenal pasti corak
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
Purata badan lilin digunakan sebagai garis stop loss. Apabila badan lebih besar daripada separuh daripada garis stop loss, stop loss diaktifkan.
Kelebihan utama strategi Harga Penutupan Harami ialah:
Terdapat juga beberapa risiko untuk strategi ini:
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.
Strategi Harga Penutupan Harami juga boleh ditingkatkan dari aspek berikut:
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()