Diese Strategie verfolgt den Trend, indem sie zwei dynamische gleitende Durchschnitte, DEMA und TEMA, berechnet und Long- oder Short-Positionen festlegt, wenn sie Goldkreuze oder Todkreuze erzeugen.
Die Kernlogik dieser Strategie besteht darin, die Trendrichtung auf der Grundlage der Überschneidung zwischen zwei dynamischen gleitenden Durchschnitten, DEMA und TEMA, zu bestimmen.
DEMA steht für Double Exponential Moving Average. Es kombiniert die gewichtete Glättungsfunktion von EMA und optimiert das Verzögerungsproblem von EMA. Seine Formel lautet:
DEMA = 2*EMA (Schließen, N) - EMA (Schließen, N), N)
Hier ist N die Demalength.
TEMA steht für Triple Exponential Moving Average. Es verwendet eine dreifache exponentielle Glättung, um die Verzögerung von gleitenden Durchschnitten zu reduzieren.
EMA1 = EMA ((KLEINE, Temalength) EMA2 = EMA ((EMA1, Temalength) EMA3 = EMA ((EMA2, Temalength) TEMA = 3EMA1 - 3EMA2 + EMA3
Wenn TEMA über DEMA überschreitet, gilt es als ein goldenes Kreuzsignal, um lang zu gehen.
Darüber hinaus setzt die Strategie die DelayBars, um die Gültigkeit der Signale zu gewährleisten und falsche Signale zu vermeiden.
Schließlich wird in der Strategie eine Dual-Checking-Logik angewandt, die prüft, ob die gegenüberliegende Position vor der Eröffnung neuer Trades geschlossen werden muss, um das Risiko von Doppelrichtungspositionen zu vermeiden.
Im Vergleich zu traditionellen EMA und SMA sind DEMA und TEMA empfindlichere dynamische MAs, die Trendveränderungen schnell erfassen können und so die Genauigkeit der Markttrendbeurteilungen verbessern.
Der delayBars-Parameter zwingt die Strategie, nach dem Auftauchen des Signals eine gewisse Zeit zu warten, bevor sie Positionen eintritt.
Durch die Überprüfung, ob die gegenüberliegende Position vor der Eröffnung neuer Trades geschlossen werden muss, vermeidet die Strategie, Doppelrichtungspositionen zu halten, und minimiert Verluste aus Hedging-Trades.
Diese Strategie stützt sich hauptsächlich auf die Überschneidung von Marktindikatoren, einem gemeinsamen technischen Indikator, um Trends und Signale zu ermitteln.
In einem Markt mit enormen seitlichen Schwankungen können sich MAs häufig kreuzen und falsche Signale erzeugen, die Verluste verursachen.
Die Lösungen bestehen darin, die Strategie bei Erkennung seitlicher Trends zu pausieren oder die MA-Parameter und Verzögerungszeiten angemessen anzupassen.
Die Strategie verfolgt lediglich die Preisentwicklung und kann keine kurzfristigen Fallen oder Trendumkehrungen aufgrund großer Ereignisse vorhersagen.
Die Lösungen bestehen darin, andere Indikatoren zur Risikobewertung einzubeziehen oder die Positionsgrößen angemessen zu reduzieren.
Abgesehen von DEMA und TEMA werden Kombinationen von SMA, EMA und anderen verbesserten MA getestet, um die am besten geeigneten für diesen Markt zu finden.
Ausführen von Optimierungen, um die optimalen MA-Längen und Signalverzögerungszeiten für genauere Handelssignale zu finden.
Angesichts der unterschiedlichen Produktmerkmale sind geeignete Kombinationen von MA-Längen, Verzögerungszeiten für die Preisschwankungen und Trends zu finden.
Verwenden Sie Bollinger-Bänder, um Volatilität und Preisniveau zu beurteilen, um Whipsaw-Märkte zu vermeiden. Verwenden Sie Momentum-Indikatoren, um Trendstärken zu bewerten.
Dies ist ein grundlegender Trend nach der Strategie, die auf dynamischen MA-Kreuzungen zwischen DEMA und TEMA basiert. Seine Vorteile sind hohe Stabilität, Zuverlässigkeit und Universalität. Aber es hat auch eine gewisse Nachlässigkeit und schwache Umkehrerkennungskapazität. Dieser Artikel bietet eine umfassende Analyse seiner Vor- und Nachteile und Optimierungsrichtungen, die als wertvolle Referenzen für die Verwendung dieser Strategie dienen. Insgesamt bietet es ein typisches Beispiel für quantitative Handelsstrategie-Design, das einer weiteren Untersuchung würdig ist.
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © jacobdickson255 strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0) //Dema Scripting Demalength = input.int(230, minval=1) src = close e1 = ta.ema(src, Demalength) e2 = ta.ema(e1, Demalength) dema = 2 * e1 - e2 plot(dema, "DEMA", color=#43A047) //Tema Scripting Temalength = input.int(210, minval=1) ema1 = ta.ema(close, Temalength) ema2 = ta.ema(ema1, Temalength) ema3 = ta.ema(ema2, Temalength) tema = 3 * (ema1 - ema2) + ema3 plot(tema, "TEMA", color=#2962FF) delayBars = input(5, title="Bar Delay") var int lastTradeBar = na longCondition = ta.crossover(tema, dema) longExit = ta.crossunder(tema, dema) shortCondition = ta.crossunder(tema, dema) shortExit = ta.crossover(tema, dema) // Exit conditions should be checked before entry conditions // Close short position if a long condition is present if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short strategy.close("Short") // Close long position if a short condition is present if ((longExit and strategy.position_size > 0)) strategy.close("Long") // Now check for entry conditions if (longCondition) strategy.entry("Long", strategy.long) lastTradeBar := bar_index if (shortCondition) strategy.entry("Short", strategy.short) lastTradeBar := bar_index