Trading-Strategie für den Ausbruch aus gleitenden Durchschnittskanälen


Erstellungsdatum: 2024-01-29 14:31:25 zuletzt geändert: 2024-01-29 14:31:25
Kopie: 0 Klicks: 631
1
konzentrieren Sie sich auf
1617
Anhänger

Trading-Strategie für den Ausbruch aus gleitenden Durchschnittskanälen

Überblick

Die Strategie basiert auf dem Gold-Doppel-Doppel-Prinzip des einfachen Moving Averages und trifft Kauf- und Verkaufsschlüsse durch die Kreuzung der 7-Tage-Mittellinie und der 14-Tage-Mittellinie. Es gibt ein Kaufsignal, wenn die 7-Tage-Mittellinie von unten die 14-Tage-Mittellinie überschreitet, und ein Verkaufsignal, wenn die 7-Tage-Mittellinie von oben die 14-Tage-Mittellinie überschreitet. Die Strategie bietet gleichzeitig Stop-Loss, Stop-Stop und Tracking-Stop-Loss-Funktionen, um Gewinne zu sichern und Risiken zu kontrollieren.

Strategieprinzip

Die Kernlogik der Strategie basiert auf der Überschneidung der 7-Tage-Mittellinie und der 14-Tage-Mittellinie. Die kurzfristige Tendenz der 7-Tage-Mittellinie und die mittlere Tendenz der 14-Tage-Mittellinie zeigen, dass die kurzfristige Tendenz stärker ist, wenn sie die mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mittlere mitt

Konkret berechnet die Strategie den einfachen Moving Average der Tage 7 und 14 über den SMA. Nach der Bildung jeder K-Linie wird die Größe der aktuellen Tage 7 mit der der Tage 14 verglichen. Wenn die Tage 7 die Tage 14 überschreitet, wird ein Mehrsignal ausgegeben, um in eine lange Position zu gehen.

Darüber hinaus werden Stop-Loss, Stop-Stops und Tracking-Stops eingestellt, um Gewinne zu sichern und Risiken zu kontrollieren. Die spezifischen Parameter können basierend auf den Rückmeldungen optimiert werden.

Strategische Vorteile

Diese Strategie hat folgende Vorteile:

  1. Die Regeln sind einfach, klar, verständlich und für Anfänger geeignet.
  2. Das Gleichlinien-Kreuzprinzip funktioniert gut und die Siegerquote ist höher.
  3. mit Stop-Loss, Stopp-Loss und Tracking-Loss, um das Risiko effektiv zu kontrollieren;
  4. Weniger Parameter, einfacher zu testen und zu optimieren.

Risiken und Gegenmaßnahmen

Die Strategie birgt auch einige Risiken:

  1. Wenn ein Trendwechsel eintritt, verbleibt das Signal des Gleichgewichtskreuzes und kann nicht rechtzeitig auf eine Trendwechselreaktion reagieren, was zu größeren Verlusten führen kann.
  2. In schweren Quermärkten treten häufiger Signalkreuzungen auf, die mehr Falschsignale erzeugen und die Effektivität der Strategie beeinträchtigen.

Um diese Risiken abzuwenden, können folgende Maßnahmen in Betracht gezogen werden:

  1. In Kombination mit anderen Indikatoren filtern Sie die linearen Kreuzungen, z. B. MACD, KDJ usw., um falsche Signale an Trendwendepunkten zu vermeiden.
  2. Erhöhung der Stop-Loss-Marge und Verkürzung der Haltedauer, um die Auswirkungen von Einzelschäden zu verringern;
  3. Optimieren Sie die Parameter für die Durchschnittslinie für verschiedene Marktbedingungen, erhöhen Sie die Durchschnittslinie-Periode in den Querkursen entsprechend und reduzieren Sie die Häufigkeit der Kreuzung.

Optimierungsrichtung

Die Strategie kann in folgenden Richtungen optimiert werden:

  1. Tests mit unterschiedlichen Gleichgewichtskombinationen und Parametern zur Ermittlung der optimalen Parameter;
  2. Das Programm wurde in den letzten Jahren von der Regierung der Vereinigten Staaten unterstützt, um die Auswirkungen der Globalisierung zu verbessern.
  3. Optimierung der Stop-Loss-Parameter, Reduzierung der Rücknahmen und Erhöhung der Rendite;
  4. Die Parameter werden je nach Sorte und Handelszeit eingeschränkt.

Zusammenfassen

Die Strategie als Ganzes ist für Anfänger sehr geeignet, die Prinzipien sind einfach, leicht zu verstehen und zu implementieren. Sie hat auch eine gute Marktadaptibilität, bietet einen großen Spielraum für Parameteranpassungen und Optimierungen und erwartet stabile Gewinne.

Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bensonsuntw

strategy("Strategy Template[Benson]", pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

backtest_year = input(2019, type=input.integer, title='backtest_year')
backtest_month = input(01, type=input.integer, title='backtest_month', minval=1, maxval=12)
backtest_day = input(01, type=input.integer, title='backtest_day', minval=1, maxval=31)
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)
stop_loss_and_tp = input(title="Enable Stop Loss and Take Profit", type=input.bool, defval=true)
trail_stop = input(title="Enable Trail Stop", type=input.bool, defval=true)
buy_stop_loss = input(0.2, type=input.float, title='buy_stop_loss')
sell_stop_loss = input(0.1, type=input.float, title='sell_stop_loss')
buy_tp = input(0.4, type=input.float, title='buy_tp')
sell_tp =input(0.2, type=input.float, title='sell_tp')
trail_stop_long = input(1.1, type=input.float, title='trail_stop_long')
trail_stop_short = input(0.9, type=input.float, title='trail_stop_short')
trail_stop_long_offset = input(0.05, type=input.float, title='trail_stop_long_offset')
trail_stop_short_offset = input(0.05, type=input.float, title='trail_stop_short_offset')


// you can set your own logic here
shortCondition = crossunder(sma(close,7),sma(close,14))
longCondition = crossover(sma(close,7),sma(close,14))

strategy.entry("Buy", strategy.long, when=longCondition  )
strategy.close("Buy", when=shortCondition)
strategy.exit("Close Buy","Buy", limit= stop_loss_and_tp?strategy.position_avg_price * (1+buy_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1-buy_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_long:na,trail_offset=trail_stop?-strategy.position_avg_price *trail_stop_long_offset:na)

strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Sell", when=longCondition)
strategy.exit("Close Sell","Sell", limit= stop_loss_and_tp?strategy.position_avg_price * (1-sell_tp):na, stop = stop_loss_and_tp?strategy.position_avg_price * (1+sell_stop_loss):na,trail_price=trail_stop?strategy.position_avg_price *trail_stop_short:na,trail_offset=trail_stop?strategy.position_avg_price *trail_stop_short_offset:na)


net_profit = strategy.netprofit + strategy.openprofit

plot(net_profit, title="Net Profit", linewidth=2, style=plot.style_area, transp=50, color=net_profit >= 0 ? #26A69A : color.red)