Kerzenumkehrmuster erfassen effektiv Wendepunkte des Preises und erhöhen die Gültigkeit der Handelssignale.
Der Mechanismus Take Profit/Stop Loss kontrolliert effektiv Risiken, sperrt Gewinne und verhindert Verluste.
Der automatisierte Handel ohne manuelles Eingreifen senkt die Handelskosten und verbessert die Effizienz.
Subjektivität bei der Identifizierung von Kerzenmustern kann zu Fehleinschätzungen führen.
Die falsche Einstellung des Gewinn-/Stop-Loss-Punkts kann größere Trends verpassen oder den Stop-Loss vorzeitig verhindern.
Strategieparameter müssen ständig getestet und optimiert werden, ansonsten werden sie übermäßig angepasst.
Tests an verschiedenen Handelsinstrumenten, Anpassung von Gewinn-/Stop-Loss-Punkten, Optimierung von Parametern.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/01/2019 // This is a candlestick where the open and close are the same. // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title = "Doji Backtest", overlay = true) input_takeprofit = input(10, title="Take Profit pip", step=0.01) input_stoploss = input(10, title="Stop Loss pip", step=0.01) input_minsizebody = input(0.5, title="Min. Size Body pip", step=0.01) barcolor(abs(close - open) <= input_minsizebody ? open == close ? yellow : na : na) possell = 0.0 posbuy = 0.0 pospricebuy = 0.0 pospricesell = 0.0 barcolornow = blue pospricesell := close< close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) : nz(pospricesell[1], 0) possell := iff(pospricesell > 0 , -1, 0) barcolornow := possell == -1 ? red: posbuy == 1 ? green : blue pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 , nz(pospricesell, 0)) pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 , nz(pospricesell, 0)) pospricebuy := close > close[2] ? abs(close - open) <= input_minsizebody ? open == close ? close : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) : nz(pospricebuy[1], 0) posbuy := iff(pospricebuy > 0 , 1, 0) barcolornow := posbuy == 1 ? green: barcolornow pospricebuy := iff(high >= pospricebuy + input_takeprofit and pospricebuy > 0, 0 , nz(pospricebuy, 0)) pospricebuy := iff(low <= pospricebuy - input_stoploss and pospricebuy > 0, 0 , nz(pospricebuy, 0)) barcolor(barcolornow) if (posbuy == 0 and possell == 0) strategy.close_all() if (posbuy == 1) strategy.entry("Long", strategy.long) if (possell == -1) strategy.entry("Short", strategy.short) pospricebuy := iff(high <= pospricebuy + input_takeprofit and pospricebuy > 0, 0 , nz(pospricebuy, 0)) pospricebuy := iff(low >= pospricebuy - input_stoploss and pospricebuy > 0, 0 , nz(pospricebuy, 0)) pospricesell := iff(low <= pospricesell - input_takeprofit and pospricesell > 0, 0 , nz(pospricesell, 0)) pospricesell := iff(high >= pospricesell + input_stoploss and pospricesell > 0, 0 , nz(pospricesell, 0))