Động lực 2.0

Tác giả:ChaoZhang, Ngày: 2022-05-10 10:24:44
Tags:Xu hướng

Momentum 2.0 là một bộ dao động Momentum bình thường hóa với mức cơ sở chuyển động. Giá trị dao động được bình thường hóa bằng độ lệch chuẩn của nó, tương tự như kỹ thuật điểm số z. Thay vì mức không, chỉ số sử dụng mức cơ sở được tính theo giá trị trung bình dài hạn đảo ngược của bộ dao động. Tương tự như tín hiệu chéo mức không được sử dụng cho bộ dao động Momentum, bộ dao động của chúng tôi tính tín hiệu chéo mức cơ sở. Mức độ cơ sở chuyển động giúp giảm số lượng tín hiệu sai. Trong xu hướng tăng, mức độ cơ sở dưới 0, trong xu hướng giảm nó cao hơn. Điều này cho phép chúng ta tính đến hiệu ứng ổn định xu hướng. Trong trường hợp này, để tạo ra tín hiệu đảo ngược, dao động phải vượt qua một giá trị thấp hơn trong xu hướng tăng và một giá trị cao hơn trong xu hướng giảm.

Cách sử dụng Khi dao động vượt trên mức cơ sở, nó đưa ra tín hiệu tăng, khi dưới nó đưa ra tín hiệu giảm. Màu sắc của biểu đồ biểu đồ cho thấy hướng hiện tại của đà tăng giá. Màu xanh lá cây cho thấy một động thái tăng và màu đỏ cho thấy một động thái giảm. Đường màu xanh lá cây đại diện cho mức cơ sở.

Cài đặt Thời gian dao động - xác định thời gian của dao động Momentum Thời gian mức cơ sở - xác định thời gian được sử dụng để tính trung bình dài hạn khi tính mức cơ sở và bình thường hóa dao động.

backtest

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)

Có liên quan

Thêm nữa