Diese Strategie kombiniert das 123 Umkehrmuster und die Ease of Movement (EOM) zum Handel an Wendepunkten. Das 123 Umkehrmuster erzeugt Signale, wenn der Preis über 3 aufeinanderfolgende Tage bestimmte Muster bildet. Die EOM-Strategie nutzt Veränderungen in Preis und Volumen, um die Marktdynamik zu messen. Die Kombination beider Strategien berücksichtigt technische Muster sowie die Dynamik und verbessert die Genauigkeit der Handelssignale.
Die Strategie besteht aus zwei Bestandteilen:
Die Strategie geht lang, wenn EOM und 123 Signale auf der langen Seite ausgerichtet sind, und geht kurz, wenn Signale auf der kurzen Seite ausgerichtet sind.
Die Vorteile dieser Strategie:
Kombination von Preismustern und Dynamik für eine bessere Signalgenauigkeit
123 Musterfängnisse Wendepunkte, EOM Messgeräte Trendmomentum, zwei ergänzen sich
Stoch vermeidet Schlagzeilen bei der Konsolidierung
Einfach und einfach umzusetzen
Anpassbare Parameter für verschiedene Marktumgebungen
Die zu berücksichtigenden Risiken:
Übermäßige Abhängigkeit von Parameter-Einstellungen, unsachgemäße Einstellungen können zu Über- oder fehlenden Trades führen
Viele Filter können zu wenige Signale erzeugen
EOM ist anfällig für Volatilität, kann falsche Signale erzeugen
Live-Leistung schwächer als Backtest, muss die Positionsgröße kontrollieren
Nur für Trendbestände geeignet, nicht für Marktbereiche
Die Strategie kann verbessert werden, indem
Optimierung von Parametern zur Ausgewogenheit von Signalfrequenz und -qualität
Hinzufügen von Stop Loss zur Kontrolle von Einzelhandelsverlusten
Hinzufügen eines Trendfilters zur Vermeidung von Gegentrends
Einbeziehung einer auf Volatilität basierenden Positionsgröße
Die Verwendung von maschinellem Lernen zur dynamischen Optimierung von Parametern
Diese Strategie integriert Preismuster und Dynamik für einen hohen praktischen Wert. Aber Handelsfrequenz, Verlustkontrolle und Gegentrendrisiken müssen verwaltet werden. Weitere Verbesserungen der Parameter, Stop-Loss, Trendfilterung können Stabilität und Rentabilität verbessern. Die Logik ist für Quant-Händler klar und einfach umzusetzen.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 14/04/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 // This indicator gauges the magnitude of price and volume movement. // The indicator returns both positive and negative values where a // positive value means the market has moved up from yesterday's value // and a negative value means the market has moved down. A large positive // or large negative value indicates a large move in price and/or lighter // volume. A small positive or small negative value indicates a small move // in price and/or heavier volume. // A positive or negative numeric value. A positive value means the market // has moved up from yesterday's value, whereas, a negative value means the // market has moved down. // // 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 EOM(BuyZone, SellZone) => pos = 0 xHigh = high xLow = low xVolume = volume xHalfRange = (xHigh - xLow) * 0.5 xMidpointMove = mom(xHalfRange, 1) xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0) nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0) pos := iff(nRes > BuyZone, 1, iff(nRes < SellZone, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Ease of Movement (EOM)", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- BuyZone = input(4000, minval=1) SellZone = input(-4000) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posEOM = EOM(BuyZone, SellZone) pos = iff(posReversal123 == 1 and posEOM == 1 , 1, iff(posReversal123 == -1 and posEOM == -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 )