Impulso 2.0

El autor:¿ Qué pasa?, Fecha: 2022-05-10 10:24:44
Las etiquetas:Tendencias

Momentum 2.0 es un oscilador de momento normalizado con un nivel base móvil. El valor del oscilador se normaliza por su desviación estándar, similar a la técnica de puntaje z. En lugar del nivel cero, el indicador utiliza el nivel base calculado como el valor promedio invertido a largo plazo del oscilador. Similar a la señal de cruce de nivel cero utilizada para el oscilador de momento, nuestro oscilador calcula la señal de cruce de nivel base. El nivel de base móvil ayuda a reducir el número de señales falsas. En una tendencia alcista, el nivel de base está por debajo de cero, en una tendencia bajista está por encima de él. Esto nos permite tener en cuenta el efecto de estabilidad de la tendencia. En este caso, para formar una señal de inversión, el oscilador debe cruzar un valor más bajo en una tendencia alcista y un valor más alto en una tendencia bajista.

Cómo utilizar Cuando el oscilador cruza por encima del nivel base, da una señal alcista, cuando por debajo da una señal bajista. El color del histograma muestra la dirección actual del impulso del precio. El verde indica un movimiento ascendente y el rojo indica un movimiento descendente. La línea azul representa el nivel base.

Configuración Período del oscilador - determina el período del oscilador de impulso Período de nivel base - determina el período utilizado para la media a largo plazo al calcular el nivel base y normalizar el oscilador.

Prueba posterior

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)

Relacionados

Más.