Diese Strategie ist eine Multi-Faktor-Combo-Strategie, die Umkehrfaktoren und Momentumfaktoren kombiniert, um Umkehrchancen auf dem Markt zu entdecken.
Die Strategie besteht aus zwei Teilen:
123 Umkehrfaktor
Dieser Teil verwendet die Idee der Intraday-Umkehrung, um den Zusammenhang zwischen dem Schlusskurs des vorherigen Tages und dem Schlusskurs der vor 2 Tagen zu bestimmen, um Umkehrmöglichkeiten mit langsamer K-Linie zu identifizieren.
Kaufsignal: Nach zwei aufeinanderfolgenden Tagen des Rückgangs des Schlusskurses wird, wenn der Schlusskurs am aktuellen Tag steigt und die 9-tägige langsame K-Linie unter 50 liegt, ein Kaufsignal generiert.
Verkaufssignal: Nach zwei aufeinanderfolgenden Tagen des Anstiegs des Schlusskurses wird ein Verkaufssignal erzeugt, wenn der Schlusskurs am aktuellen Tag sinkt und die 9-tägige schnelle K-Linie höher als 50 ist.
Der Ehlers Dynamic Momentum Oscillator (ETSI)
Dieser Teil verwendet die drei EMA-Gleichungs-Preismomentum-Methode, um einen Momentumindikator zu konstruieren.
xPrice1 = close - close[1]
xPrice2 = abs(close - close[1])
xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u)
xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u)
xTSI = xSMA_R / xSMA_aR * 100
xEMA_TSI = EMA(xTSI, N)
xSMA_R ist der glatte EMA-Wert der Kursdynamik, xSMA_aR ist der glatte EMA-Wert der Kursvolatilität, xTSI ist der aus dem Verhältnis der beiden konstruierte Momentum-Indikator und xEMA_TSI ist die sekundäre EMA-Gleichung von xTSI. Der Indikator bestimmt die Handelssignalrichtung auf der Grundlage der Beziehung zwischen xTSI und xEMA_TSI.
Schließlich ANDs die Signale aus den beiden Teilen, und nur die tatsächlichen Handelsorder ausstellt, wenn die Signale von beiden Faktoren übereinstimmen.
Der größte Vorteil dieser Strategie liegt in ihrem Multi-Faktor-Design, das falsche Signale filtern und qualitativ hochwertige Handelsmöglichkeiten entdecken kann.
Der Umkehrfaktor 123 kann kurzfristige Rebound-Punkte nach Spannungsbereichsabschwächungen erkennen.
Der Ehlers-Momentumsindikator kann die Richtung des großen Trends effektiv bestimmen, um Umkehrsignale zu vermeiden, die unter einem großen Trend auftreten, wodurch falsche Signale ausgefiltert werden.
Die AND-Operation auf den beiden Signalteilen kann die Signalqualität verbessern und die Stabilität der Strategie verbessern.
Obwohl die Strategie eine mehrfache Konzeption zur Risikokontrolle anwendet, bestehen nach wie vor folgende Hauptrisiken:
Bei schwankenden Trends können Umkehrsignale auftreten und keine Gewinne erzielen.
Es gibt eine Subjektivität in den Parameter-Einstellungen zwischen den beiden Faktoren, die bestimmte Produkte überanpassen können.
Das Risiko eines erhöhten Verlusts nach der Preisumkehr kehrt wieder um.
Diese Risiken können durch die Optimierung der Parameter zur Anpassung an mehr Varianten, die Kontrolle von Positionen nach der Umkehrung, die Echtzeitüberwachung von Veränderungen der Indikatorbeziehungen und andere Mittel verringert werden.
Zu den wichtigsten Aspekten für die Optimierung dieser Strategie gehören:
Anpassung der Parameter der beiden Faktoren, um bessere Datenproben zu finden.
Erhöhung der Stop-Loss-Strategien zur Kontrolle einzelner Verluste.
Verwendung verschiedener Parameterkombinationen für Trend- und Oszillationsvarianten.
Erhöhung des Faktorgewichtungsmechanismus, um besser funktionierenden Faktoren ein größeres Gewicht zu verleihen.
Erhöhung von Algorithmen für maschinelles Lernen zur automatischen Optimierung und Aktualisierung von Parametern.
Die Strategie kombiniert erfolgreich Umkehrfaktoren und Impulsindikatoren, um ein multifaktoroptimiertes Design zu erzielen. Sie kann kurzfristige Umkehrchancen effektiv identifizieren und Impulsindikatoren verwenden, um die Signale sekundär zu überprüfen, wodurch die Gewinnrate der Strategie verbessert wird. Obwohl es noch Raum für Verbesserungen in der Strategie gibt, bietet ihre Kernidee eine gute Referenz für die Gestaltung quantitativer Strategien.
/*backtest start: 2023-10-21 00:00:00 end: 2023-11-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/07/2020 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // r - Length of first EMA smoothing of 1 day momentum 4 // s - Length of second EMA smoothing of 1 day smoothing 8 // u- Length of third EMA smoothing of 1 day momentum 6 // Length of EMA signal line 3 // Source of Ergotic TSI Close // // This is one of the techniques described by William Blau in his book "Momentum, // Direction and Divergence" (1995). If you like to learn more, we advise you to // read this book. His book focuses on three key aspects of trading: momentum, // direction and divergence. Blau, who was an electrical engineer before becoming // a trader, thoroughly examines the relationship between price and momentum in // step-by-step examples. From this grounding, he then looks at the deficiencies // in other oscillators and introduces some innovative techniques, including a // fresh twist on Stochastics. On directional issues, he analyzes the intricacies // of ADX and offers a unique approach to help define trending and non-trending periods. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos ETSI(r,s,u,SmthLen) => pos = 0 xPrice = close xPrice1 = xPrice - xPrice[1] xPrice2 = abs(xPrice - xPrice[1]) xSMA_R = ema(ema(ema(xPrice1,r), s),u) xSMA_aR = ema(ema(ema(xPrice2, r), s),u) Val1 = 100 * xSMA_R Val2 = xSMA_aR xTSI = iff (Val2 != 0, Val1 / Val2, 0) xEMA_TSI = ema(xTSI, SmthLen) pos:= iff(xTSI > xEMA_TSI, 1, iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- r = input(4, minval=1) s = input(8, minval=1) u = input(6, minval=1) SmthLen = input(3, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posETSI = ETSI(r,s,u,SmthLen) pos = iff(posReversal123 == 1 and posETSI == 1 , 1, iff(posReversal123 == -1 and posETSI == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )