Die "Bearish Harami Reversal Backtest"-Strategie identifiziert bearish Harami Umkehrmuster in Kerzenkarten und handelt automatisch mit ihnen.
Der Kernmustererkennungsindikator dieser Strategie ist: Der Schluss der ersten Kerze ist eine lange bullische Kerze und der Schluss der zweiten Kerze befindet sich innerhalb des Körpers der ersten Kerze und bildet eine bärische Kerze. Dies zeigt ein potenzielles bärisches Harami-Umkehrmuster an. Wenn sich dieses Muster bildet, geht die Strategie kurz.
Die spezifische Logik lautet:
Die Vorteile dieser Strategie sind:
Es gibt auch einige Risiken:
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Die Bearish Harami Reversal Backtest Strategie verfügt über eine klare, leicht verständliche Logik, gute Backtest-Ergebnisse und kontrollierbare Risiken.
/*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))