Die Breakout-Pullback-Strategie ist eine Trend-Folge-Strategie. Ihr Grundprinzip ist es, lang oder kurz zu gehen, wenn der Preis durch das Hoch oder Tief der vorherigen Kerze bricht und den Gewinn nach der Einstellung des Take-Profits und Stop-Loss weiterlaufen lässt.
Die Kernlogik dieser Strategie besteht darin, den Eintrittszeitpunkt zu bestimmen, indem beurteilt wird, ob der Preis durch das Höchst- oder Tief des vorherigen Leuchters bricht.
Wenn das Hoch der aktuellen Kerze höher ist als das Hoch der vorherigen Kerze, wird ein langes Signal ausgelöst.
Wenn das Tief der aktuellen Kerze niedriger ist als das Tief der vorherigen Kerze, wird ein kurzes Signal ausgelöst.
Nach dem Eintritt in die Position setzen Sie den Take-Profit auf 50 Pips und den Stop-Loss auf 100 Pips.
Wenn der Verlust größer oder gleich den Stop-Loss-Pips oder der Gewinn größer oder gleich den Take-Profit-Pips ist, tritt man aktiv aus der Position aus.
Diese Breakout-Pullback-Strategie hat folgende Vorteile:
Diese Strategie birgt auch einige Risiken:
Die Strategie kann in folgenden Bereichen weiter optimiert werden:
Hinzufügen einer Validitätskontrolle für Preisüberschreitungen, um falsche Überschreitungen zu vermeiden, z. B. durch Verwendung von Indikatorfiltern und Volumenbestätigungen.
Hinzufügen eines Mechanismus zur Trendbestimmung, um Risiken in Bereichsgebundenen Märkten zu vermeiden.
Optimieren Sie die Gewinn- und Stop-Loss-Strategie, z. B. Trailing Stop-Loss, Bewegung von Stop-Loss nach Gewinn usw., um Gewinne zu maximieren.
Optimierung der Parameter, um die optimalen Gewinn- und Stop-Loss-Pips zu finden.
Im Allgemeinen hat diese Breakout-Pullback-Strategie den Vorteil einfacher Logik, einfacher Implementierung und effektiver Erfassung von Trendstarts. Sie hat auch eine gute Fähigkeit, Risiken und Drawdowns zu kontrollieren.
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Breakout Strategy", shorttitle="BS", overlay=true) // Input for take profit and stop loss in pips tp_pips = input(50, title="Take Profit (in pips)") sl_pips = input(100, title="Stop Loss (in pips)") // Calculate take profit and stop loss levels in points tp_level = tp_pips * syminfo.mintick sl_level = sl_pips * syminfo.mintick // Function to check if a breakout has occurred breakout(high_or_low) => high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false // Buy condition buy_condition = breakout(high) strategy.entry("Buy", strategy.long, when=buy_condition) // Sell condition sell_condition = breakout(low) strategy.entry("Sell", strategy.short, when=sell_condition) // Take profit and stop loss conditions for Buy tp_buy_condition = strategy.position_avg_price + tp_level sl_buy_condition = strategy.position_avg_price - sl_level strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition) // Take profit and stop loss conditions for Sell tp_sell_condition = strategy.position_avg_price - tp_level sl_sell_condition = strategy.position_avg_price + sl_level strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)