
Eine Trendbasierte Kreislauf-Trading-Strategie ist eine quantitative Trading-Strategie, bei der die Richtung eines Trends anhand eines 200-Tage-Simplen Moving Averages beurteilt wird. Die Strategie bietet zwei Modelle “Tracking Uptrends” und “Tracking Downtrends”, die je nach den Präferenzen des Traders ausgewählt werden können. Die Strategie erlaubt es dem Händler, seine eigenen Stop-Loss- und Stop-Off-Punkte anzupassen, was eine größere Flexibilität bietet.
Der Kern der Strategie ist der 200-Tage-Simple-Moving-Average. Die Strategie ist in zwei Modelle unterteilt:
Folgen Sie dem Aufwärtstrend-Modus: Machen Sie mehr, wenn der Schlusskurs über dem 200-Tage-Moving-Average liegt; schließen Sie, wenn ein Stop-Loss oder ein Stop-Stop ausgelöst wird.
Folgen Sie dem Abwärtstrend: Machen Sie mehr, wenn der Schlusskurs unter dem 200-Tage-Moving-Average liegt; Machen Sie Platz, wenn ein Stop-Loss oder ein Stopp ausgelöst wird.
Mehr als nur die BedingungenlongConditionVariablen definiert, basierend auf der Beziehung zwischen dem Schlusskurs und dem 200-Tage-Moving-Average.closeConditionVariablen definiert, basierend auf der Beziehung zwischen Stop-Loss, Stop-Loss und Moving Averages.
Das heißt, wenn mehr als eine Bedingung erfüllt ist, wird der Antrag angenommen.strategy.entryDie Bank hat die Möglichkeit, mehr Positionen zu eröffnen, wenn die Bedingungen erfüllt sind.strategy.exitDie Lage ist stabil.
Diese Strategie hat folgende Vorteile:
Einfach zu verstehen und zu implementieren.
Zwei Optionen zur Auswahl, die den jeweiligen Marktbedingungen entsprechen.
Risikogewinn-Eigenschaften, die durch eine benutzerdefinierte Stop-Loss- und Stop-Out-Strategie angepasst werden können.
Der 200-Tage-Moving-Average ist ein bekannter technischer Indikator, der die Richtung des Trends bestimmen kann.
Automatische Erzeugung von Handelssignalen, ohne menschliche Intervention, reduziert das operative Risiko.
Die Strategie birgt auch folgende Risiken:
Übermäßige Abhängigkeit von einem einzigen technischen Indikator kann zu falschen Signalen führen. Es kann in Erwägung gezogen werden, andere Indikatoren wie MACD, KDJ usw. zu überprüfen.
Stopps und Stoppschläge sind zu klein und leicht von Marktschwankungen beeinträchtigt; zu groß, um den idealen Ausstiegspunkt zu verpassen. Die Parameter sollten entsprechend getestet und optimiert werden.
Bei einem Signal, das nach dem Schlusskurs beurteilt wird, besteht eine Beobachtungs-/Beobachtungsverzerrung. Es kann in Erwägung gezogen werden, das Signal nach der K-Linie zu beurteilen oder die nächste K-Linie nach der Signalgenerierung zu bestätigen.
Die Auswirkungen der Transaktionsgebühren werden nicht berücksichtigt.
Die Strategie kann in folgenden Richtungen optimiert werden:
Hinzufügen von anderen Technik-Indikatoren, um Fehlsignale zu vermeiden. Zum Beispiel MACD-Indikatoren.
Optimierung der Stop-Loss-Stopp-Parameter, um die optimale Kombination von Parametern zu finden. Die Parameter können durch Rückmessung von mehreren Gruppen verglichen werden.
Trend-Filter hinzugefügt, um nur dann zu handeln, wenn ein Trend eindeutig ist. Zum Beispiel die Einführung des ADX-Indikators.
Umstellung des Zugangs, Berücksichtigung der K-Line-Entity-Beziehungen oder Einbindung in die Bestätigungsmechanismen.
Die Auswirkungen des Handelsvolumens berücksichtigt werden. Die Signalsicherheit wird bei einer großen Anzahl von Transaktionen überprüft.
Verschiedene Moving Average-Parameter werden getestet, um die optimalen Parameter zu finden.
Insgesamt ist die Strategie klar und verständlich und hat einen gewissen praktischen Wert. Allerdings gibt es eine Blindzone, die nur auf einen einzigen Indikator beruht. Es ist notwendig, weitere Beurteilungsbedingungen hinzuzufügen, um zu überprüfen, und die Parameter müssen getestet und optimiert werden, um bessere Ergebnisse in der Realität zu erzielen.
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L
//@version=5
strategy("Cycle Position Trading", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false)
// Input for selecting the mode
mode = input.string("Buy Uptrend", options = ["Buy Uptrend", "Buy Downtrend"])
// Input for customizing stop loss and take profit levels
stopLoss = input.float(0.9, title="Stop Loss (SL) level", step=0.01)
takeProfit = input.float(1.1, title="Take Profit (TP) level", step=0.01)
// Calculate the 200-day Simple Moving Average (SMA)
sma = ta.sma(close, 200)
// Plot the SMA on the chart
plot(sma)
// Define the conditions for entering a long position based on the selected mode
longCondition = mode == "Buy Uptrend" ? close > sma and close[5] > sma : close < sma
// Define the conditions for closing a position based on the selected mode
closeCondition = mode == "Buy Uptrend" ? (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close < sma * 0.95) : (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close > sma * 1.05)
// Execute a long position if the longCondition is met
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
// Close the position if the closeCondition is met
if (closeCondition)
strategy.exit("Exit", limit = close)