Mehrzeitrahmen-Trendstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-28 11:57:00 Uhr
Tags:

img

Übersicht

Diese Strategie verwendet 4 verschiedene Zeitrahmen, um die Trendrichtung zu bestimmen, um den langfristigen Trend zu entdecken und dabei den kurzfristigen als Einstiegsmöglichkeiten zu nutzen. Wenn die offenen Preise der 4 Zeitrahmen (täglich, wöchentlich, 15 Tage, monatlich) alle niedriger sind als die Schlusskurse, wird sie als langfristiger bullischer Trend bestimmt; wenn die offenen Preise der 4 Zeitrahmen alle höher sind als die Schlusskurse, wird sie als langfristiger bärischer Trend bestimmt. Die Strategie eröffnet Positionen, wenn der langfristige Trend bestätigt wird und ein kurzfristiges Signal generiert wird.

Strategie Logik

Diese Strategie verwendet vier Zeitrahmen: täglich, wöchentlich, 15-tägig und monatlich.

Wenn die Öffnungskurse der Tages-, Wochen-, 15-Tage- und Monatszeiträume alle niedriger sind als die Schlusskurse, zeigt dies, dass die Preise in diesen 4 Zeitrahmen einen Aufwärtstrend zeigen, so dass es als Bullenmarkt und langfristig bullish bezeichnet wird.

Im Gegenteil, wenn die Öffnungspreise dieser vier Zeitrahmen alle höher sind als die Schlusskurse, deutet dies darauf hin, dass die Preise in diesen vier Zeitrahmen einen Abwärtstrend zeigen, so dass es sich um einen Bärenmarkt und einen langfristigen Bärenmarkt handelt.

Nach der Bestimmung der langfristigen Trendrichtung eröffnet die Strategie Positionen, wenn kurzfristig ein Kauf-/Verkaufssignal generiert wird.

Analyse der Vorteile

Diese Strategie hat folgende Vorteile:

  1. Mehrzeitrahmen-Urteilsvermögen verbessern die Genauigkeit

    Die Verwendung von 4 verschiedenen Zeitrahmen zur umfassenden Beurteilung der langfristigen Entwicklung kann die Richtigkeit der Beurteilung verbessern und verhindern, dass man durch kurzfristige Marktgeräusche irregeführt wird.

  2. Kombination einer langfristigen und einer kurzfristigen, flexiblen Strategie

    Diese Strategie ist flexibel und kann kurzfristige Chancen nutzen, ohne sich von der Haupttrendrichtung abzuwenden.

  3. Einfache Parameter, einfach umzusetzen

    Die wichtigsten Beurteilungsindikatoren dieser Strategie sind lediglich die Eröffnungs- und Schlusskurse der 4 Zeitrahmen.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Langfristige Trendumkehrung

    Wenn sich der langfristige Aufwärtstrend in einen langfristigen Abwärtstrend umkehrt, kann diese Strategie nicht sofort beurteilen, was zu größeren Verlusten führen kann.

  2. Schlechte kurzfristige Leistung

    Diese Strategie stützt sich hauptsächlich auf kurzfristige Signale, um spezifische Einstiegsmöglichkeiten zu bestimmen. Wenn die kurzfristige Performance schlecht ist und nicht in der Lage ist, Positionen zur richtigen Zeit zu eröffnen, wirkt sich dies auf die Gesamtperformance aus. Die kurzfristigen Parameter können angepasst oder die kurzfristige Strategie kann in diesem Fall optimiert werden.

Optimierungsrichtlinien

Für diese Strategie gibt es weitere Optimierungsmöglichkeiten:

  1. Hinzufügen einer Stop-Loss-Strategie

    Bewegung oder Stop-Loss-Order können so eingestellt werden, dass der maximale Verlust kontrolliert wird.

  2. Optimierung der kurzfristigen Strategie

    Verschiedene kurzfristige Indikatoren können getestet werden, um geeignete kurzfristige Strategien zu finden und die Einstiegsleistung zu verbessern.

  3. Dynamische Anpassung der Positionen

    Positionen können dynamisch anhand der Marktvolatilität angepasst und erhöht werden, wenn der Trend offensichtlicher wird.

  4. Kombination von maschinellem Lernen

    Eine große Datenmenge kann gesammelt werden und Maschinenlernmethoden können zur dynamischen Optimierung von Parametern und Regeln verwendet werden.

Schlussfolgerung

Diese Strategie bestimmt die Trendrichtung über mehrere Zeitrahmen hinweg, übernimmt die Idee der Kombination von langfristigem und kurzfristigem, was das Urteil über wichtige Trends gewährleistet und kurzfristige Chancen nutzt. Die Gesamtlogik ist klar und vernünftig, einfach zu implementieren und es ist eine effektive Trendfolgestrategie. Mit der Einführung von Techniken wie Stop-Loss und dynamischem Positionsmanagement hat diese Strategie großen Verbesserungsspielraum und lohnt sich zu üben und zu optimieren.


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

//@version=2
strategy("[RichG] Easy MTF Strategy", overlay=false)

TF_1_time = input("D", "Timeframe 1")
TF_2_time = input("5D", "Timeframe 2")
TF_3_time = input("15D", "Timeframe 3")
TF_4_time = input("45D", "Timeframe 4")

transaction_size = input(1, "Contract/Share Amount")

src = close, len = 20
out = sma(src, len)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line

TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor

TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor

TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor


TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor

TF_global = TF_1 and TF_2 and TF_3 and TF_4 
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width

plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)    

exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global

longCondition = TF_global
if (longCondition)
    strategy.entry("MTF_Long", strategy.long, qty=transaction_size, when=strategy.position_size == 0)

shortCondition = TF_global_bear
if (shortCondition)
    strategy.entry("MTF_Short", strategy.short, qty=transaction_size, when=strategy.position_size == 0)
    
strategy.close("MTF_Long", when=exitCondition_Long)    
strategy.close("MTF_Short", when=exitCondition_Short)


Mehr