Momentum 2.0

Penulis:ChaoZhang, Tarikh: 2022-05-10 10:24:44
Tag:Trend

Momentum 2.0 adalah pengayun Momentum yang dimansyari dengan tahap asas bergerak. Nilai pengayun dinormalisasi oleh penyimpangan standardnya, serupa dengan teknik z-score. Daripada tahap sifar, penunjuk menggunakan tahap asas yang dikira sebagai nilai purata jangka panjang pengayun yang terbalik. Sama seperti isyarat penyeberangan tahap sifar yang digunakan untuk pengayun Momentum, pengayun kami mengira isyarat penyeberangan tahap asas. Tingkat asas bergerak membantu mengurangkan bilangan isyarat palsu. Dalam aliran naik, tahap asas adalah di bawah sifar, dalam aliran turun ia di atasnya. Ini membolehkan kita mengambil kira kesan kestabilan trend. Dalam kes ini, untuk membentuk isyarat pembalikan, osilator mesti melintasi nilai yang lebih rendah dalam aliran naik dan nilai yang lebih tinggi dalam aliran turun.

Cara Menggunakan Apabila osilator melintasi di atas paras asas, ia memberikan isyarat menaik, apabila di bawah ia memberikan isyarat menurun. Isyarat dipaparkan sebagai label hijau dan merah, masing-masing. Warna histogram menunjukkan arah momentum harga semasa. Hijau menunjukkan pergerakan ke atas dan merah menunjukkan pergerakan ke bawah. Garis biru mewakili tahap asas.

Tetapan Tempoh Osilator - menentukan tempoh Osilator Momentum Tempoh paras asas - menentukan tempoh yang digunakan untuk purata jangka panjang ketika mengira paras asas dan menormalkan osilator

Ujian belakang

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)

Berkaitan

Lebih lanjut