Diese Strategie basiert auf dem goldenen Kreuz und dem Todeskreuz von doppelten gleitenden Durchschnitten. Sie geht lang, wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt geht, und schließt die Position, wenn der kurzfristige gleitende Durchschnitt unter den langfristigen gleitenden Durchschnitt geht. Die Strategie ist einfach und leicht zu verstehen, geeignet für Anfänger zu lernen.
Die Strategie basiert hauptsächlich auf den Indikatoren sma (close, 14) und sma (close, 28).
Zuerst definieren Sie die kurzen und langen gleitenden Durchschnitte:
short_ma = sma(close, 14)
long_ma = sma(close, 28)
Dann bestimmen Sie Ein- und Ausstieg nach dem goldenen Kreuz und dem Todeskreuz:
longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)
Verlängern, wenn der kurze MA über den langen MA kreuzt:
strategy.entry("Buy", strategy.long, when = longCondition)
Schließungsposition, wenn der kurze MA unter den langen MA fällt:
strategy.close_all(when = shortCondition)
Die Logik ist einfach und klar, wobei die Kreuzungen von doppelten MAs zur Bestimmung von Eingängen und Ausgängen verwendet werden.
Die Strategie kann in folgenden Aspekten optimiert werden:
Versuche verschiedene kurze und lange MA-Perioden, wie (5, 10), (10, 20), (20, 60) usw., um die optimale Kombination zu finden.
Hinzufügen von Filtern wie Handelsvolumen, Preisunterschiede usw. in der Nähe von MA-Kreuzungen, um übermäßige Transaktionen in verschiedenen Märkten zu vermeiden.
Sie können den Stop-Loss-Preis festlegen oder die MA als Stop-Loss-Linie verwenden, um Einzelhandelsverluste zu kontrollieren.
Zusätzliche Indikatoren wie MACD, KDJ usw. werden hinzugefügt, um die Strategieleistung zu verbessern.
Finden Sie bessere Einstiegspunkte in der Nähe von MA, anstatt direkt an der Kreuzung einzutreten.
Die Dual-MA-Strategie ist für Anfänger einfach zu verwenden. Aber sie ist empfindlich gegenüber Marktschwankungen und birgt Verlustrisiken. Wir können sie verbessern, indem wir Parameter optimieren, Filter hinzufügen, Stop Loss integrieren, andere Indikatoren kombinieren usw. Sie kann bei starken Trends gut funktionieren, sollte aber mit Vorsicht oder angemessenem Stop Loss in den unterschiedlichen Märkten verwendet werden.
[/trans]
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=2 // strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25) minGainPercent = input(0.6) gainMultiplier = minGainPercent * 0.01 + 1 longCondition = crossover(sma(close, 14), sma(close, 28)) shortCondition = crossunder(sma(close, 14), sma(close, 28)) avg_protection = input(1) gain_protection = input(1) strategy.entry("Buy", strategy.long, when = longCondition and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true)) strategy.close_all(when = shortCondition and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))