发新话题
打印

[指标EA编写讨论] 求教MACD中的慢线值?

求教MACD中的慢线值?

求教MACD中的慢线如何赋值?
..........
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
double DIFF0,DIFF1,DIFF2,DEA0,DEA1,DEA2;

DIFF0=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,0)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,0);//相当于股票MACD的快线DIFF的当前值
DIFF1=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,1)-iMA(NULL, 0,SlowEMA, 0, MODE_EMA, PRICE_CLOSE, 1);//相当于股票MACD的快线DIFF的前1值
DIFF2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,2)-iMA(NULL, 0,SlowEMA, 0, MODE_EMA, PRICE_CLOSE, 2);//相当于股票MACD的快线DIFF的前2值
DEA0=iMAOnArray(DIFF0,Bars,SignalSMA,0,MODE_SMA,0);//相当于股票MACD的慢线DEA的当前值
DEA1=iMAOnArray(DIFF1,Bars,SignalSMA,0,MODE_SMA,1);//相当于股票MACD的慢线DEA的前1值
DEA2=iMAOnArray(DIFF2,Bars,SignalSMA,0,MODE_SMA,2);//相当于股票MACD慢线DEA的前2值
我的慢线赋值好象总是不对?如何改?
比如:
if(DIFF0>DIFF1&&DIFF1>DIFF2&&DIFF0>DEA0&&DIFF2<DEA2)//快线向上并交叉慢线这句话总不听指挥,不知为何?请版主更改,谢谢
{
............)//执行买进定单

TOP

回复 1楼 的帖子

1、iMAOnArray()函数使用错误。
2、你可以直接用iMACD()函数取MACD的两个值。

TOP

请斑竹举个例子,我要象股使中的双线MACD中的慢线值,如何表示?
或者给个双线MACD金死叉买卖的EA带追踪止勋的

TOP

回复 3楼 的帖子

iMACD() - Moving Averages Convergence/Divergence

double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)
计算移动平均数汇总/分离指标并退回它的价值。在系统中, OsMA称MACD直方图, 这个指标被作为二条线。 在客户终端,移动平均数汇总/分离被画作为直方图。
参量:
symbol   -   标志数据,其中应该使用计算指标。 零位意味当前标志。
timeframe   -   期限。 它可以是其中任意 期限列举价值。 0意味当前图期限。
fast_ema_period   -   对于快速移动平均值周期数的计算。
slow_ema_period   -   对于缓慢移动平均值周期数计算。
signal_period   -   对于信号移动平均值周期数计算。
applied_price   -   应用的价格。 它可以是任意指标行的平均值。
mode   -   指标行数组指数。它可以是任意指标行的平均值。
shift   -   从显示缓冲采取的价值的指数(转移相对当前柱特定相当数量期间前)。

例子:
if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0)) return(0);

TOP

TOP

突然发现我 不会编程!
毕业咯!以后会为咯工作四处流浪!!上网的时间就少咯!我会想大家滴!!

TOP

发新话题