Price Momentum Oscillator

everget · study · 27 行 · 点赞 2,786 · TradingView 原页

本页源码来自 TradingView 公开发布的开源脚本,版权归原作者所有, 请遵循其原始许可(Pine 脚本常见 CC BY-NC-SA / MPL-2.0 / MIT)。 本项目仅用于研究检索与许可范围内的移植。

Pine Script

//@version=3
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Price Momentum Oscillator indicator script may be freely distributed under the MIT license.
study("Price Momentum Oscillator", shorttitle="PMO")
 
firstLength = input(title="1st Smoothing Length", type=integer, defval=35, minval=1)
secondLength = input(title="2nd Smoothing Length", type=integer, defval=20, minval=1)
signalLength = input(title="Signal Length", type=integer, defval=10, minval=1)
applyFilling = input(title="Apply Filling ?", type=bool, defval=false)
src = input(title="Source", type=source, defval=close)
 
rocMA = 0.0
rocMA := (nz(rocMA[1]) + (roc(src, 1) - nz(rocMA[1])) * (2 / firstLength))
 
pmo = 0.0
pmo := nz(pmo[1]) + (10 * rocMA - nz(pmo[1])) * (2 / secondLength)
 
pmoSignal = 0.0
pmoSignal := (2 / signalLength) * (pmo - nz(pmoSignal[1])) + nz(pmoSignal[1])
 
pmoPlot = plot(pmo, title="PMO", color=#1155cc, transp=0)
pmoSignalPlot = plot(pmoSignal, title="Signal", color=red, transp=0)
 
fillColor = applyFilling ? (pmo > pmoSignal ? #0ebb23 : #cc0000) : color(white, 100) 
fill(pmoPlot, pmoSignalPlot, color=fillColor, transp=0)
 
hline(0, title="Zero Level", linestyle=dotted)

← 返回列表