Duale Momentum-Strategie


Erstellungsdatum: 2023-09-28 15:03:57 zuletzt geändert: 2023-09-28 15:03:57
Kopie: 2 Klicks: 715
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Doppeldynamik-Strategie verwendet zwei Dynamik-Indikatoren, schnell und langsam, um Handels- und Ausstiegssignale zu erzeugen. Es ist eine schnell reagierende Strategie, die für die Trendvarianten auf der Tages- und der 4-Stunden-Linie geeignet ist.

Die Bedienung kann auf mehrfach oder nur mehrfach eingestellt werden.

Es ist möglich, einen festen Stop-Loss oder einen Ignorieren-Stop-Loss einzurichten, sodass die Strategie nur auf Einstiegs- und Ausstiegssignalen basiert.

Strategieprinzip

Die Strategie verwendet die Dynamometer mit schnellen Zyklen (default 5 Tage) und langsamen Zyklen (default 10 Tage).

Wenn die langsame und die schnelle Bewegung gleichzeitig größer als 0 sind, wird ein Mehrfachsignal erzeugt.

Wenn die langsame Bewegung oder die schnelle Bewegung kleiner als 0 ist, erzeugt ein Gleichgewichtssignal.

Ähnlich erzeugt das Stop-Signal, wenn die langsame und die schnelle Bewegung gleichzeitig kleiner als 0 sind. Wenn die langsame Bewegung oder die schnelle Bewegung größer als 0 ist, erzeugt es ein Gleichgewichtssignal.

Die Strategie nutzt daher die Kreuzung zweier unterschiedlicher Periodendynamik, um Trendänderungen zu erfassen und Trendverfolgung zu ermöglichen.

Analyse der Stärken

  • Die Verwendung von Doppel-Dynamik-Indikatoren ermöglicht es, Veränderungen der Markttrends zu erfassen und falsche Signale zu reduzieren.

  • Schnelle Phasen sind empfindlich auf Marktveränderungen und können schnell auf Trends reagieren. Langsame Phasen filtern Marktlärm ab und sorgen dafür, dass die Handelsrichtung korrekt ist.

  • Flexible Optionen für mehrere oder zweiseitige Transaktionen, die sich an unterschiedliche Handelspräferenzen anpassen.

  • Sie können wählen, ob Sie Stop Loss oder Risikokontrolle verwenden wollen.

  • Die Strategie ist reaktionssensibel und eignet sich besonders für den Trendhandel an der Sonnenlinie oder höheren Perioden, bei denen zusätzliche Erträge erzielt werden können.

Risikoanalyse

  • Die Doppeldynamikstrategie entscheidet über Trends abhängig von Indikatoren, die größer oder kleiner als 0 sind.

  • Die Strategie ist tendenziell und schlägt in den konsolidierten Märkten schlecht ab, was zu einer Überhöhung der Transaktionen führt, was zu erhöhten Transaktionsgebühren führt.

  • Wenn Sie keine Stop-Loss verwenden, besteht ein höheres Risiko für Einzelverluste.

  • Die richtige Sorte und die falsche Periode führen auch zu schlechten Strategieergebnissen.

Um das Risiko zu kontrollieren, empfiehlt es sich, die Parameter für die Dynamik-Zyklen angemessen anzupassen und eine angemessene feste Stop-Loss-Rate einzurichten. Die Strategie sollte gleichzeitig mit der Auswahl von Sorten ausgeführt werden, bei denen ein eindeutiger Trend besteht und die Strategie in der Tageslinie oder höheren Zyklen ausgeführt wird.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Hinzufügen von Filtern für andere Indikatoren, wie MACD oder RSI, um falsche Trades an Trendwendepunkten zu vermeiden.

  2. Erhöhung der Stop-Loss-Anpassungsmechanismen und dynamische Anpassung der Stop-Loss-Werte an die Marktschwankungen.

  3. Optimierung der Dynamikparameter, um die geeignetere Kombination von Parametern für verschiedene Sorten zu finden. Dies kann durch Schritt-zu-Schritt-Optimierung, Walk Forward Analysis und andere Methoden erreicht werden.

  4. Erhöhung der Positionsverwaltung und Anpassung der Größe neuer Positionen an die vorherige Ertragslage.

  5. Unterscheiden Sie zwischen Ballast- und Ballastmärkten und verwenden Sie asymmetrische Einstiegsstrategien. Ballastmärkte können aggressiver und Ballastmärkte können vorsichtiger sein.

Zusammenfassen

Die Doppeldynamik-Strategie kann durch die Kreuzung von schnellen und langsamen Dynamik-Indikatoren die Richtung des Trends beurteilen, die Veränderungen der Markttrends mit einfachen Indikatoren erfassen, die für die Verfolgung von intraday- oder intraday-trendhaften Trends geeignet sind, um einen besseren Überschuss zu erzielen. Die Strategie birgt jedoch auch ein gewisses Rückstandsrisiko, das in Kombination mit Stop-Loss und anderen Indikatoren benötigt wird, um das Risiko zu kontrollieren und für Sorten und Parameter zu optimieren, um eine stabilere Performance zu erzielen.

Strategiequellcode
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 1h
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/
// © QuantCT

//@version=4
strategy("Momentum Strategy Idea",
         shorttitle="Momentum", 
         overlay=false,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.075)

// ____ Inputs

fast_period = input(title="Fast Period", defval=5) 
slow_period = input(title="Slow Period", defval=10)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

mom_fast = mom(close, fast_period)
mom_slow = mom(close, slow_period)
    
enter_long = (mom_slow > 0 and mom_fast > 0)
exit_long = (mom_slow < 0 or mom_fast < 0)
enter_short = (mom_slow < 0 and mom_fast < 0)
exit_short = (mom_slow > 0 or mom_fast > 0)

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 
   
// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)
    
// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange

mom_fast_plot = plot(mom_fast, color=colors)
mom_slow_plot = plot(mom_slow, color=colors)
fill(mom_fast_plot, mom_slow_plot, color=colors, transp=50)