Strategie zur Umkehrung der Dynamik

Schriftsteller:ChaoZhang, Datum: 2023-12-12 17:25:08
Tags:

img

Übersicht

Diese Strategie berechnet den Momentum-Indikator des Preises, um festzustellen, ob sich der Preistrend umgekehrt hat, um Preisumkehrmöglichkeiten zu erfassen. Wenn der Aufwärtstrend oder Abwärtstrend des Preises verlangsamt, zeigt sie an, dass sich der Preismomentum umgekehrt hat. Zu diesem Zeitpunkt wird die Strategie Long- oder Short-Positionen eröffnen.

Strategie Logik

Die Strategie basiert hauptsächlich auf der Berechnung von Dynamikindikatoren. Der Dynamikindikator spiegelt die Geschwindigkeit und Stärke der Preisänderungen wider. Zwei Dynamikindikatoren MOM und MOM1 werden in der Strategie berechnet.

Berechnungsformel für die MOM:

MOM = heutiger Schlusskurs - Schlusskurs vor N Tagen

Berechnungsformel für MOM1:

MOM1 = MOM heute - MOM gestern

Beurteilen Sie, ob sich die Preise nach den Werten von MOM und MOM1 umgekehrt haben. Wenn MOM > 0 und MOM1 < 0, bedeutet dies, dass sich der Aufwärtstrend des Preises verlangsamt hat und ein Umkehrsignal lang zu gehen scheint. Wenn MOM < 0 und MOM1 > 0, bedeutet dies, dass sich der Abwärtstrend des Preises verlangsamt hat und ein Umkehrsignal kurz zu gehen scheint.

Vorteile

  1. Preisumkehrpunkte erfassen und rechtzeitig auf den Markt kommen
  2. Kleine Abzüge, vermeiden Sie Höchstwerte und verkaufen Tiefs
  3. Implementieren Sie automatische Stop-Loss, um Risiken zu reduzieren

Risiken

  1. Häufige Eröffnung und Schließung von Positionen kann bei Preisschwankungen auftreten
  2. Unmöglichkeit, Preisumkehrpunkte genau zu bestimmen, wenn die Parameter falsch festgelegt werden
  3. Marktereignisse können zu falschen Signalen führen

Hauptmethoden zur Risikominderung:

  1. Optimierung der Parameter zur Verbesserung der Urteilsgenauigkeit
  2. Kombination mit anderen Indikatoren, um Signale zu filtern
  3. Manuelle Intervention zur Vermeidung von Verlusten durch abnormale Märkte

Optimierungsrichtlinien

  1. Optimierung der Impulsindikatorparameter zur besseren Erfassung des Timings von Umkehrungen
  2. Hinzufügen von Indikatoren wie Lautstärke, um falsche Signale zu filtern
  3. Hinzufügen von Stop-Loss-Strategien zur Verringerung von Einzelverlusten

Zusammenfassung

Diese Strategie berechnet den Preismomentum-Indikator, um festzustellen, ob sich der Preistrend umgekehrt hat, automatisch lang oder kurz geht. Backtests zeigen, dass diese Strategie insgesamt reibungslos funktioniert und Preisumkehrpunkte effektiv erfasst. Durch die Optimierung der Parameter-Einstellungen, das Hinzufügen von Signalfiltern usw. können die Stabilität und Rentabilität der Strategie weiter verbessert werden.


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

//@version=4
strategy("Momentum - Strategy", overlay = false, precision = 2, initial_capital = 10000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_type = strategy.commission.percent, commission_value = 0.2 )

i_len           =       input(defval = 12,      title = "Length",       minval = 1)
i_src           =       input(defval = close,   title = "Source")
i_percent       =       input(defval = true,    title = "Percent?")
i_mom           =       input(defval = "MOM2",  title = "MOM Choice",   options = ["MOM1", "MOM2"])

momentum(seria, length, percent) =>
	_mom        =       percent ? ( (seria / seria[length]) - 1) * 100 : seria - seria[length]
	_mom

mom0        =       momentum(i_src, i_len, i_percent)
mom1        =       momentum(mom0, 1, i_percent)
mom2        =       momentum(i_src, 1, i_percent)

momX        =       mom1

if i_mom == "MOM2"
    momX    :=     mom2

if (mom0 > 0 and momX > 0)
    strategy.entry("MomLE", strategy.long, stop = high + syminfo.mintick, comment = "MomLE")
else
	strategy.cancel("MomLE")
if (mom0 < 0 and momX < 0)
	strategy.entry("MomSE", strategy.short, stop = low - syminfo.mintick, comment = "MomSE")
else
	strategy.cancel("MomSE")

plot(mom0, color = #0000FF, title = "MOM")
plot(mom1, color = #00FF00, title = "MOM1", display = display.none)
plot(mom2, color = #00FF00, title = "MOM2")

Mehr