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.
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:
Kelebihan strategi ini ialah:
Terdapat juga beberapa risiko:
Strategi ini boleh dioptimumkan lagi dalam bidang berikut:
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))