SuperTrend Multi Timeframe Backtest-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-05 10:59:54
Tags:

img

Übersicht

Die Hauptidee dieser Strategie besteht darin, Handelssignale mit dem Supertrend-Indikator über mehrere Zeitrahmen hinweg zu generieren und mit einem Intraday-Filter zu kombinieren, um offene Positionen während des Tages zu quadrieren, um Multi-Timeframe-Handel umzusetzen und die Signalqualität zu verbessern.

Strategie Logik

Die Strategie ruft zunächst die Supertrend-Funktion an und gibt die Parameter mult und len ein, um die Supertrend-Linie SuperTrend und Richtung dir zu generieren. Dann zeichnet sie das Supertrend-Liniendiagramm. Der Eingabeparameter intraday steuert, ob offene Positionen intraday quadriert werden sollen. Wenn intraday wahr ist, werden offene intraday-Positionen nach 2:45 Uhr quadriert.

Die Regeln für die Erzeugung von Signalen sind: Wenn der Schlusskurs über der Supertrend-Linie liegt, wird ein Kaufsignal generiert; wenn der Schlusskurs unter der Supertrend-Linie liegt, wird ein Verkaufssignal generiert. Wenn ein Kaufsignal empfangen wird, wird ein Kauf Auftrag ausgeführt, um eine Long-Position zu eröffnen; wenn ein Verkaufssignal empfangen wird, wird ein Verkaufsauftrag ausgeführt, um eine Short-Position zu eröffnen. Wenn der Intraday-Filter-Intraday aktiviert ist, d.h. auf True gesetzt ist, werden alle offenen Long- und Short-Positionen jeden Tag nach 14.45 Uhr geschlossen.

Analyse der Vorteile

Der größte Vorteil dieser Strategie ist, dass sie den einfachen, aber praktischen Supertrend-Indikator verwendet, um Multi-Timeframe-Handelssignalgenerierung zu implementieren.

Darüber hinaus ist die Strategie sehr prägnant, sie implementiert die Kernlogik mit sehr wenig Code, der leicht zu verstehen, zu ändern und zu erweitern ist.

Risikoanalyse

Das Hauptrisiko dieser Strategie besteht darin, dass der Supertrend-Indikator eine gewisse Verzögerung aufweist, was zu zusätzlichen Verlusten führen kann.

Um diese Risiken zu mindern, wird empfohlen, die Supertrend-Parameter mult und len zu optimieren, um die optimale Parameterkombination zu finden. Andere Indikatoren können auch getestet werden, um Supertrend zu ergänzen und mehr Faktoren zu nutzen, um die Stabilität der Strategie zu verbessern. Darüber hinaus kann die feste Intraday-Quadratzeit entfernt und ein dynamischer Mechanismus verwendet werden, um den Quadratzeitpunkt basierend auf Volatilitätsbedingungen zu bestimmen.

Optimierungsrichtlinien

Die wichtigsten Optimierungsrichtungen für diese Strategie sind:

  1. Testen Sie mehrere Supertrend-Parametermengen, um die optimale Parameterkombination zu finden.

  2. Fügen Sie andere technische Indikatoren wie Kerzenmuster, gleitende Durchschnitte usw. hinzu, um Signale mit mehr Faktoren zu filtern.

  3. Optimierung und dynamische Anpassung der spezifischen Intraday-Quadrate-off-Zeit, um vorzeitige Quadrate-off zu reduzieren.

  4. Zusätzliche Stop-Loss-Mechanismen wie ein fester Stop-Loss-Prozentsatz oder ein ATR-Stop-Loss.

  5. Testen Sie geeignete Strategien zur Kapitalverwertung und zur Positionsgrößerung.

  6. Zur Überprüfung der Robustheit der Parameter wird ein längerer Zeitrahmen für Backtests durchgeführt.

Schlussfolgerung

Zusammengefasst ist diese Supertrend Multi-Timeframe-Backtest-Strategie sehr praktisch. Sie implementiert Multi-Timeframe-Trading mit dem einfachen Supertrend-Indikator und steuert Verluste mit dem Intraday-Filter. Es gibt viel Raum für Optimierung und Benutzer können Parameter anpassen oder mit anderen technischen Indikatoren entsprechend ihren Bedürfnissen kombinieren. Die Backtestleistung ist auch relativ stabil und zuverlässig. Insgesamt ist diese Strategie für den mittelfristigen und langfristigen Trendhandel geeignet und ist auch gut für Anfänger, Modifikationen zu lernen und zu üben.


/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-04 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//@Gurjant_Singh IISMA-Indian Institute of stock Market Analysis 

strategy("SupterTrend ", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=300, calc_on_order_fills=false, calc_on_every_tick=false)




mult = input(type=input.float, defval=3)
len = input(type=input.integer, defval=5)
[superTrend, dir] = supertrend(mult, len)



plot(superTrend)

intrady = input(false, "Do you want to exit intrday position", type = input.bool)

IntraDay_SquareOff = minute >= 45 and hour >= 14



buy = close > superTrend

sell = close < superTrend

if buy
    strategy.entry("Buy", true)
    
if sell
    strategy.entry("sell", false)

if intrady and IntraDay_SquareOff
    strategy.close("buy")
    strategy.close("sell")






Mehr