Die Schlusskursvergleichs-Doppel-Bewegliche Durchschnitts-Kreuzung ist eine relativ einfache quantitative Handelsstrategie. Sie berechnet den letzten 7 Kerzen durchschnittlichen Schlusskurs und 20 Kerzen durchschnittlichen Schlusskurs. Wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt von unten kreuzt, signalisiert er eine lange Position. Wenn der kurzfristige gleitende Durchschnitt unter den langfristigen gleitenden Durchschnitt kreuzt, signalisiert er eine kurze Position. Dies ermöglicht es der Strategie, die Wendepunkte in den mittelfristigen Trends des Marktes zu erfassen.
Die Kernlogik dieser Strategie besteht darin, den durchschnittlichen Schlusskurs der letzten 7 Kerzen (ohne die aktuelle Kerze) als kurzfristigen gleitenden Durchschnitt und den durchschnittlichen Schlusskurs von 20 Kerzen (ohne die letzten 7 Kerzen) als langfristigen gleitenden Durchschnitt zu berechnen.
Bei einem Long Signal wird eine Long Position mit dem gesamten Kontokapital eröffnet. Bei einem Short Signal wird die bestehende Long Position zuerst geschlossen, bevor die Short Position mit dem gleichen Betrag eröffnet wird. Jede geöffnete Position wird für 20-25 Kerzen gehalten. Während dieser Zeit wird 50% der Position bei Verlust gestoppt. Bei ausreichendem Gewinn wird 50% der Position als Gewinn betrachtet.
Die Vorteile dieser einfachen doppelten Kreuzung der gleitenden Durchschnittswerte sind:
Als einfache Trendstrategie ist es auch mit einigen potenziellen Risiken konfrontiert:
Die Optimierungen zur Bewältigung dieser Risiken sind:
Als einfache Dual Moving Average Crossover-Strategie sind die wichtigsten Optimierungen:
Optimierung der MA-Parameter, Prüfung verschiedener kurz- und langfristiger MA-Kombinationen für die besten Parameter;
Hinzufügen anderer Filterindikatoren wie Volumen, Volatilitätsindex usw., um falsche Signale in unruhigen Märkten zu vermeiden;
Optimieren Sie Stop-Loss- und Take-Profit-Strategien, testen Sie verschiedene Verhältnisse, um das optimale zu finden;
Testen Sie die Wirksamkeit über verschiedene Marktzyklen hinweg und optimieren Sie die Aufbewahrungszeit;
Fügen Sie maschinelle Lernalgorithmen hinzu, optimieren Sie die Parameter durch Back-Testing für mehr Robustheit.
Zusammenfassend ist dies eine einfache doppelte gleitende Durchschnitts-Crossover-Strategie, bei der MA-Crossovers über verschiedene Perioden verwendet werden, um mittelfristige Trend-Wendepunkte zu bestimmen. Sie hat eine hohe Praktikabilität und ist einfach zu bedienen. Aber sie hat auch Einschränkungen bei der effektiven Bestimmung wahrer Marktumkehrpunkte. Weitere Optimierungen beim Hinzufügen von Filtern, Parameter-Tuning, maschinellem Lernen usw. sind erforderlich, um sie unter unterschiedlichen Marktbedingungen für ein konsistentes Alpha robuster zu machen.
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 2h basePeriod: 15m 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/ // © nrathi2211 //@version=5 strategy("Closing Prices", overlay=true) //variables closingB7 = ta.highest(close, 7)[7] closingB14 = ta.highest(close, 7)[20] highB14 = ta.highest(low, 50)[7] capital = 50000 //functions qty_find(float price) => capital / int(price) profit_take() => profit = strategy.opentrades.profit(strategy.opentrades - 1) profit*.95 if(closingB7 < closingB14) if(ta.crossover(close, closingB7)) strategy.entry("long_buy", strategy.long, qty_find(close)) current_profit = strategy.opentrades.profit(strategy.opentrades - 1) if(current_profit < 0) strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50) else if(current_profit < profit_take()) strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50) if(ta.crossunder(close, closingB7)) strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7) plot(closingB7, "cl", color.green, 2) //plot(closingB14, "cl", color.red, 2) plot(highB14, "cl", color.purple, 2)