Die Double Moving Average Oscillation Trading Strategy erzeugt Handelssignale, indem sie den exponentiellen gleitenden Durchschnitt von 2/20 und den Indizator für die Oszillation der Adaptive Price Zone kombiniert, um in oszillierenden Märkten zu profitieren.
Die Handelsstrategie für den Handel mit doppelten gleitenden Durchschnittsschwingungen besteht aus zwei Teilen:
Dieser Indikator erzeugt ein Kaufsignal, wenn der Preis die 20-Tage-Linie durchbricht und nicht die 2-Tage-Linie beim Anstieg durchbricht; er erzeugt ein Verkaufssignal, wenn der Preis die 2-Tage-Linie durchbricht und die 20-Tage-Linie beim Abstieg nicht überschreitet.
Dieser Indikator konstruiert Preisbänder basierend auf dem Volatilitätsbereich der Preise und beurteilt Marktwendepunkte anhand von Preisen, die die oberen und unteren Preisbänder durchbrechen, um Kauf- und Verkaufssignale zu generieren.
Die Doppelbewegliche Durchschnitts-Oszillations-Handelsstrategie erzeugt nur dann tatsächliche Handelssignale, wenn der exponentielle gleitende Durchschnitt von 2/20 und der Adaptive Price Zone-Oszillationsindikator gleichzeitig Signale ausgeben, um den Strategiehandel umzusetzen. Dies kann einige ungültige Signale effektiv filtern und die Signalqualität verbessern.
Die Handelsstrategie für den Handel mit doppelten gleitenden Durchschnittsschwingungen kombiniert die Vorteile von gleitenden Durchschnittsindikatoren und Volatilitätsindikatoren mit folgenden Merkmalen:
Zuverlässige Handelssignale: Die Doppelindikatorüberprüfung verbessert die Signalqualität und filtert ungültige Signale effektiv aus.
Die Kombination von gleitenden Durchschnitts- und Preisbandindikatoren ermöglicht eine genaue Bestimmung von Wendepunkten in schwankenden Märkten.
Im Vergleich zur Strategie des doppelten exponentiellen gleitenden Durchschnitts kann sie das Auftreten ungültiger Transaktionen reduzieren.
Die Signalregeln sind klar und die Parameter sind einfach einzustellen, was einfach zu programmieren ist, um automatischen Handel zu erzielen.
Die Handelsstrategie mit doppelten gleitenden Durchschnittsschwingungen birgt außerdem folgende Risiken:
Die Kombination von doppelten Indikatoren zu Filtersignalen kann Möglichkeiten für schnelle Preisumkehrungen verpassen.
Die Strategie stützt sich hauptsächlich auf schwankende Märkte, und Handelssignale und Gewinnspannen werden abnehmen, wenn die Volatilität abnimmt.
Die Einstellungen der Indikatorparameter können einen größeren Einfluss auf die Handelsergebnisse haben und müssen systematisch für optimale Parameter optimiert werden.
Als Reaktion auf die oben genannten Risiken können Methoden wie die dynamische Anpassung von Parametern angewendet werden, um sich an die Veränderungen des Marktumfelds anzupassen und gleichzeitig Stop-Loss-Strategien zur Kontrolle des Abwärtsrisikos festzulegen.
Die Handelsstrategie mit doppeltem gleitenden Durchschnittsschwingung kann in folgenden Aspekten optimiert werden:
Test mehr Kombinationen von gleitenden Durchschnitten und Preisbanden.
Durch die Kombination von abnormalen Handelsvolumensignalen mit Filterpreissignalen von gleitenden Durchschnitten kann die Signalqualität weiter verbessert werden.
Wenn die Marktvolatilität abnimmt, werden die Stop-Loss-Punkte angemessen verschärft, um einzelne Verluste zu reduzieren.
Verwenden Sie LSTM und andere Deep-Learning-Modelle, um Handelssignale zu überprüfen, um Strategien intelligenter zu machen.
Die Double Moving Average Oscillation Trading Strategie erzeugt hochwertige Schwingungshandelssignale, indem sie den exponentiellen gleitenden Durchschnitt von 2/20 und den Adaptive Price Zone-Oszillationsindikator kombiniert, der sich an volatile Märkte wie Aktienindex, Forex, Rohstoffe mit großen Schwankungen anpassen und häufige Handelsarbitrage innerhalb des Schwingungsbereichs durchführen kann. Die Strategie hat Vorteile wie hohe Signalqualität und einfache Automatisierung. Gleichzeitig müssen Risiken wie verzögerte Identifizierung von Wendepunkten und dynamische Anpassung von Parametern auch kontrolliert werden, und es gibt immer noch großen Raum für Optimierung auf dieser Grundlage.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 02/03/2022 // This is combo strategies for get a cumulative signal. // // First strategy // This indicator plots 2/20 exponential moving average. For the Mov // Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. // // Second strategy // The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors // identify possible market turning points, which can be especially useful in a sideways-moving // market. It was created by technical analyst Lee Leibfarth in the article “Identify the // Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue // of the journal Technical Analysis of Stocks and Commodities. // This indicator attempts to signal significant price movements by using a set of bands based on // short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. // It can help short-term investors and day traders profit in volatile markets by signaling price // reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be // implemented as part of an automated trading system and can be applied to the charts of all tradeable assets. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// EMA20(Length) => pos = 0.0 xPrice = close xXA = ta.ema(xPrice, Length) nHH = math.max(high, high[1]) nLL = math.min(low, low[1]) nXS = nLL > xXA or nHH < xXA ? nLL : nHH iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0) pos := nXS > close[1] ? -1 : iff_1 pos APZ(nPeriods,nBandPct) => pos = 0.0 xHL = high - low nP = math.ceil(math.sqrt(nPeriods)) xVal1 = ta.ema(ta.ema(close,nP), nP) xVal2 = ta.ema(ta.ema(xHL,nP), nP) UpBand = nBandPct * xVal2 + xVal1 DnBand = xVal1 - nBandPct * xVal2 pos := low < DnBand ? 1 : high > UpBand ? -1 : pos[1] pos strategy(title='Combo 2/20 EMA & Adaptive Price Zone', shorttitle='Combo', overlay=true) var I1 = '●═════ 2/20 EMA ═════●' Length = input.int(14, minval=1, group=I1) var I2 = '●═════ Adaptive Price Zone ═════●' nPeriods = input(20) nBandPct = input(2) var misc = '●═════ MISC ═════●' reverse = input.bool(false, title='Trade reverse', group=misc) var timePeriodHeader = '●═════ Time Start ═════●' d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader) m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader) y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader) StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false posEMA20 = EMA20(Length) prePosAPZ = APZ(nPeriods,nBandPct) iff_1 = posEMA20 == -1 and prePosAPZ == -1 and StartTrade ? -1 : 0 pos = posEMA20 == 1 and prePosAPZ == 1 and StartTrade ? 1 : iff_1 iff_2 = reverse and pos == -1 ? 1 : pos possig = reverse and pos == 1 ? -1 : iff_2 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)