tudy("Impulse MACD [LazyBear]", shorttitle="IMACD_LB", overlay=false) lengthMA = input(34) lengthSignal = input(9) calc_smma(src, len) => smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len smma calc_zlema(src, length) => ema1=ema(src, length) ema2=ema(ema1, length) d=ema1-ema2 ema1+d src=hlc3 hi=calc_smma(high, lengthMA) lo=calc_smma(low, lengthMA) mi=calc_zlema(src, lengthMA) md=(mi>hi)? (mi-hi) : (mi<lo) ? (mi - lo) : 0 sb=sma(md, lengthSignal) sh=md-sb mdc=src>mi?src>hi?lime:green:src<lo?red:orange plot(0, color=gray, linewidth=1, title="MidLine") plot(md, color=mdc, linewidth=2, title="ImpulseMACD", style=histogram) plot(sh, color=blue, linewidth=2, title="ImpulseHisto", style=histogram) plot(sb, color=maroon, linewidth=2, title="ImpulseMACDCDSignal") ebc=input(false, title="Enable bar colors") barcolor(ebc?mdc:na)
时间: 2024-02-17 22:03:30 浏览: 173
这是一个基于LazyBear的Impulse MACD指标的TradingView代码。以下是代码的分析和解释:
```text
//@version=4
study("Impulse MACD [LazyBear]", shorttitle="IMACD_LB", overlay=false)
// 设置MA计算周期和Signal计算周期
lengthMA = input(34)
lengthSignal = input(9)
// 定义计算SMMA和ZLEMA的函数
calc_smma(src, len) =>
smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len
smma
calc_zlema(src, length) =>
ema1=ema(src, length)
ema2=ema(ema1, length)
d=ema1-ema2
ema1+d
// 计算Impulse MACD指标的各项数值
src=hlc3
hi=calc_smma(high, lengthMA)
lo=calc_smma(low, lengthMA)
mi=calc_zlema(src, lengthMA)
md=(mi>hi)? (mi-hi) : (mi<lo) ? (mi - lo) : 0
sb=sma(md, lengthSignal)
sh=md-sb
mdc=src>mi?src>hi?lime:green:src<lo?red:orange
// 绘制Impulse MACD指标图形
plot(0, color=gray, linewidth=1, title="MidLine")
plot(md, color=mdc, linewidth=2, title="ImpulseMACD", style=histogram)
plot(sh, color=blue, linewidth=2, title="ImpulseHisto", style=histogram)
plot(sb, color=maroon, linewidth=2, title="ImpulseMACDCDSignal")
// 是否开启柱形颜色区分
ebc=input(false, title="Enable bar colors")
barcolor(ebc?mdc:na)
```
上述代码中,首先通过设置input函数,定义了MA计算周期和Signal计算周期。然后,使用calc_smma和calc_zlema函数计算了SMMA和ZLEMA指标,并将其用于计算Impulse MACD指标的各项数值。
最后,使用plot函数绘制Impulse MACD指标的图形,并使用barcolor函数对柱形颜色进行区分。
需要注意的是,以上代码仅供参考,具体的计算公式和参数需要根据自己的需求和实际情况进行调整。同时,Impulse MACD指标是商业指标,需要购买相关的授权才能使用。因此,为了遵守法律法规和商业道德,建议您在使用之前先了解相关的授权情况。
阅读全文