龙听期货论坛's Archiver

龙听 发表于 2021-10-30 19:30

MultiCharts平台上面编写东方财富及通达信中的EMA(指数加权移动平均)均线并依此编写MACD指标

MultiCharts平台上面编写东方财富及通达信中的EMA(指数加权移动平均)均线并依此编写MACD指标
EMA即指数加权移动平均在MC中对应的是xaverage函数。
xaverage 函数:

[code]inputs:
        PriceValue( numericseries ),
        Len( numericsimple ) ;                                             

variables:
        var0( 2 / ( Len + 1 ) ) ;

if CurrentBar = 1 then
        XAverage = PriceValue
else
        XAverage = XAverage[1] + var0 * ( PriceValue - XAverage[1] ) ;
[/code]


为了与东方财富对应起来,在MC的函数里面我们自己做一个EMA函数,如下:
函数:EMA

代码:

[code]
inputs:
        PriceValue( numericseries ),
        Len( numericsimple ) ;                                             

variables:
        var0( 2 / ( Len + 1 ) ) ;

if CurrentBar = 1 then
       EMA = PriceValue
else
        EMA =EMA[1] + var0 * ( PriceValue - EMA[1] ) ;
[/code]

龙听 发表于 2021-10-30 19:38

然后在指标中直接调用ema函数即可做MACD类要求ema函数写的指标。
东方财富中的MACD的公式如下:
[attach]29238[/attach]
[code]
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,MID);
MACD:(DIF-DEA)*2,COLORSTICK;[/code]
在mc中写这个指标的程式码如下:

**** Hidden Message *****


在mc中的效果如下:
[attach]29239[/attach]

龙听 发表于 2021-10-30 19:47

怎么样,是不是满满的中国风了。。。。。

龙听 发表于 2021-10-30 20:02

再加一个中国版的KDJ指数,程式码如下:
指标:KDJ

程式码:

**** Hidden Message *****

效果图:
[attach]29240[/attach]

阿土伯 发表于 2021-11-2 16:19

学习标注一下

阿土伯 发表于 2021-11-2 16:29

学习了

一個人 发表于 2023-2-12 00:51

感謝版主分享

页: [1]