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