Momentum 2.0

Schriftsteller:ChaoZhang, Datum: 2022-05-10 10:24:44
Tags:Trends

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

img


/*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)

Verwandt

Mehr