Adaptive Crossover-Strategie für gleitende Durchschnitte mit mehreren Zeitrahmen


Erstellungsdatum: 2023-10-09 14:56:37 zuletzt geändert: 2023-10-09 14:56:37
Kopie: 0 Klicks: 667
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie ist eine Trendverfolgungsstrategie, die sich an das Prinzip der Moving Average Crossover anhand von mehreren Zeitrahmen anpasst. Die Strategie nutzt gleichzeitig die Schnell-, die Lang- und die MACD-Indikatoren, um Handelssignale zu beurteilen und zusätzliche Gewinne aus den mittleren und langen Trends zu erzielen.

Grundsätze

Die Strategie basiert hauptsächlich auf der Kombination von zwei beweglichen EQUAL-Cross-Systemen mit MACD-Indikatoren. Die zwei beweglichen EQUAL-Cross-Systeme bestehen aus einer kurzfristigen EMA und einer langfristigen EMA, die die kurzfristigen und langfristigen EQUAL-Linien berechnen. Wenn ein Kaufsignal auf der schnellen Linie durch die langsame Linie erzeugt wird, um den Kurs von einem Rückschlag zu bewegen, können mehrere Positionen eingerichtet werden.

Die Strategie kombiniert die Trendbeurteilung der doppelten beweglichen Mittellinie mit dem Momentumumum-Wechselsignal des MACD, um falsche Durchbrüche effektiv zu filtern, während die Mittel-Langstrecken-Trendgewinne erzielt werden. Insbesondere wird ein zuverlässigerer Mehrfachsignal erzeugt, wenn die MACD-Säule gleichzeitig grün wird, wenn die Schnelllinie die langsame Linie durchläuft; im Gegensatz dazu wird ein stärkeres Fehlsignal erzeugt, wenn die MACD-Säule gleichzeitig rot wird, wenn die Schnelllinie die langsame Linie durchläuft.

Darüber hinaus wurde die Strategie mit einer Parameter-Adaptionsfunktion ausgestattet. Während der Parameteroptimierung werden die Schnell- und Langzeitschnell-Perioden sowie die MACD-Parameter automatisch an die Wirkung in verschiedenen Zeiträumen angepasst, um die optimale Leistung der Strategie unter verschiedenen Umständen zu gewährleisten.

Vorteile

  1. Die Integration von Doppel-Einheitlichkeits-System und MACD-Indikatoren, um mehrere Faktoren zu integrieren, um Entscheidungen zu treffen und falsche Signale durch Lärm zu vermeiden.

  2. Die Anwendung von Adaptive Parameter ermöglicht es der Strategie, die Parameter dynamisch an Marktveränderungen anzupassen, um die Handelsentscheidungen automatisch zu optimieren.

  3. Das ist die beste Möglichkeit, um die langen und mittleren Trends besser zu erfassen, um falsche Durchbrüche in den wackligen Märkten zu filtern und zusätzliche Gewinne bei Trends zu erzielen.

  4. Mit Hilfe von Analysen über Zeiträume können Trends auf einer größeren Ebene identifiziert werden.

  5. Die Strategie ist klar und einfach, die Code-Struktur ist optimiert, leicht zu verstehen und zu ändern, um sie an unterschiedliche Anforderungen anzupassen.

Die Gefahr

  1. Bei einem doppelten Gleichgewichtssystem besteht die Gefahr eines Karton-Whipsaws. Es ist nicht geeignet für ein bewegliches Geschäft. Die Aktien und Zeitabschnitte mit deutlicheren Trends sollten ausgewählt werden.

  2. Der MACD ist nachlässig und ist nicht geeignet, Trends mit starken Veränderungen zu verfolgen. Er sollte in Kombination mit anderen Indikatoren verwendet werden.

  3. Die Optimierung der Parameter erfordert eine ausreichend große Rücklaufphase und eine strenge Risikobewertung, um eine Überpassung zu vermeiden.

  4. Bei der Positionierung der Langleine ist auf die systematische Gefahr von Unvorhergesehenen zu achten und die Schäden rechtzeitig abzuwenden.

  5. Die Möglichkeit einer Überoptimierung der Anpassungsparameterfunktion muss überprüft werden, um zu vermeiden, dass die Parameter zu häufig angepasst werden.

Optimierungsrichtung

  1. Verschiedene Kombinationen von schnellen und langsamen Durchschnittslinien können getestet werden, wobei die Durchschnittsparameter gewählt werden, die die Geräusche filtern und den Trends folgen können.

  2. Es ist möglich, mehrere Parameter des MACDs zu testen, um Kombinationsparameter zu finden, die den Trendwechselpunkt der Reaktion vorwegnehmen können.

  3. Trendindikatoren können als Filter eingesetzt werden, um den Handel auszusetzen, wenn der Trend unklar ist, und Whipsaw zu vermeiden.

  4. Es kann ein Stop-Loss-Mechanismus eingeführt werden, der eine mobile Stop-Loss-Option oder eine Stop-Loss-Option zum Steuern von Einzelschäden enthält.

  5. Es kann versucht werden, ein maschinelles Lernen einzubeziehen, um die Regeln mit einer größeren Anzahl von Daten-Trainingsparametern anzupassen und die Strategie-Stabilität zu verbessern.

  6. Es ist möglich, Arbitrage zwischen verschiedenen Sorten zu versuchen, um ein Portfolio von Geschäften zwischen den verschiedenen Sorten zu bilden, um das systemische Risiko des Marktes zu verteilen.

Zusammenfassen

Die Strategie integriert die doppelte Moving Average Crossover und MACD Dynamik-Indikator, um eine organische Kombination von Trend-Tracking und Pace-Control zu erreichen. Die Einführung von Adaptive Parameter macht die Strategie robuster und kann sich reibungslos an Marktveränderungen anpassen. Im Vergleich zu einer einzelnen Indikator-Strategie bildet die Strategie eine stärkere Entscheidungswirkung, die in der Lage ist, reiche Handelserträge in mittleren und langen Trends zu erzielen.

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

//@version=3

// To enable alerts: Change 'Strategy' to read 'Study' below  and you also need to comment out lines 43 and 47 - Strategy code

// strategy(title="Riz Coloured MACD", shorttitle="Riz MACD" , initial_capital=5000, default_qty_value=3  )
//study(title="Riz Coloured MACD", shorttitle="Riz MACD")

source = close
fastLength = input(21, minval=1), slowLength=input(55,minval=1)
signalLength=input(9,minval=1)
MACDCandlesCheckedBack=input(6,minval=1)
MACDTolerance=input(4,minval=1)

fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal

// ====== BASIC COLOURING - IF HISTOGRAM IS HIGHER THAN PREVIOUS 2 CANDLES THEN WE ARE TICKING UP and VISA VERSA ============//

isTickingUp = hist > hist[1] and hist > hist[2] //and hist > hist[3]
isTickingDown = hist < hist[1] and hist < hist[2] // and hist < hist[3]


// ======= MACD STRATEGY CODE ========== //

// Check if MACD is ticking in the right direction to take a trade - adding 1 at the end means it starts at -1 so not to include the current candle
MACDHistHighestHigh= highest(hist, MACDCandlesCheckedBack)[1]
MACDHistLowestLow = lowest(hist, MACDCandlesCheckedBack)[1]

MACDConfirmsLong() => (hist - MACDHistLowestLow) > MACDTolerance
MACDConfirmsShort() => (MACDHistHighestHigh - hist) > MACDTolerance


plot(macd,  title="MACD", color=blue, linewidth=3)
plot(signal,  title="SIGNAL", color=orange, linewidth=3)

// === SIMPLE COLOURING BASED ON LAST 2 CANDLES - EASY TO REFERENCE IN DAY TO DAY MACD USE ====//

plot(hist, title="HIST", color=isTickingDown ? fuchsia : isTickingUp ? lime : green, linewidth=3, style=histogram)

// ==== ALTERNATIVE COLOURING FOR PLOT BASED ON STRATEGY SETTINGS INSTEAD

//plot(hist, title="HIST", color=MACDConfirmsLong() ? lime : MACDConfirmsShort() ? fuchsia : green, linewidth=3, style=histogram)


// === STRATEGY - ENTER POSITIONS - COMMENT OUT TO ENABLE ALERTS === //

strategy.entry(id = "Long", long = true, when = MACDConfirmsLong()) // use function to decide when to go long

strategy.entry(id = "Short", long = false, when = MACDConfirmsShort())

// === CREATE ALERT CONDITIONS === // 

alertup = MACDConfirmsLong()
alertdown = MACDConfirmsShort()

alertcondition(alertup, title='MACD Long', message='Riz MACD says go LONG!')
alertcondition(alertdown, title='MACD Short', message='Riz MACD says go SHORT!')