Momentum 2.0 ist ein normalisierter Momentum-Oszillator mit einer beweglichen Basisstufe. Der Oszillatorwert wird durch seine Standardabweichung normalisiert, ähnlich der Z-Score-Technik. Anstelle des Nullniveaus verwendet der Indikator die Basisstufe, die als umgekehrter langfristiger Durchschnittswert des Oszillators berechnet wird. Ähnlich dem Nullniveaus-Kreuzungssignal, das für den Momentum-Oszillator verwendet wird, berechnet unser Oszillator das Basisniveaus-Kreuzungssignal. Der bewegliche Basislevel hilft, die Anzahl der falschen Signale zu reduzieren. In einem Aufwärtstrend ist der Basislevel unter Null, in einem Abwärtstrend ist er darüber. Dies ermöglicht es uns, den Trendstabilitätseffekt zu berücksichtigen. In diesem Fall muss der Oszillator, um ein Umkehrsignal zu bilden, einen niedrigeren Wert in einem Aufwärtstrend und einen höheren Wert in einem Abwärtstrend überschreiten.
Wie zu verwenden Wenn der Oszillator über das Basisniveau geht, gibt er ein Aufwärtssignal, wenn er darunter ist, gibt er ein Abwärtssignal. Die Farbe des Histogramms zeigt die aktuelle Richtung der Kursdynamik an. Grün zeigt eine Aufwärtsbewegung an und Rot eine Abwärtsbewegung an. Die blaue Linie stellt das Basisniveau dar.
Einstellungen Periode des Oszillators - bestimmt die Periode des Momentumsoszillators Basis-Level-Periode - bestimmt den für die Berechnung des Basisniveaus und die Normalisierung des Oszillators verwendeten Zeitraum für die langfristige Durchschnittsberechnung
Zurückprüfung
/*backtest start: 2022-04-09 00:00:00 end: 2022-05-08 23:59:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © AstrideUnicorn //@version=5 indicator("Momentum 2.0", overlay = false) source = close // Script Inputs window = input(defval=15, title="Oscillator Period") base_level_window = input.int(defval=450, title="Base Level Period", minval=300) // Calculate normalized and smoothed momentum oscillator momentum = ta.mom(source, window) momentum_normalized = ( momentum ) / ta.stdev(momentum, base_level_window) momentum_smoothed = ta.linreg(momentum_normalized, 30,0) // Calculated the base-level momentum_base = -ta.ema(momentum_normalized,base_level_window) // Calculate base-level cross signals bullish = ta.crossover(momentum_smoothed, momentum_base) bearish = ta.crossunder(momentum_smoothed, momentum_base) if bullish strategy.entry("Enter Long", strategy.long) else if bearish strategy.entry("Enter Short", strategy.short)