我正在通过以下方式为MACD指示器制作信号处理程序。此刻,我只想知道主曲线何时过零线。但是,仅当曲线从上到下与零线交叉而不是向后交叉时才起作用。 (附加的捕获)。
更新 我知道这个问题。有时iMACD()函数会返回负零。 ¿有人知道如何解决?
class MACD
{
public:
MACD()
{
}
double Signal(int pos=0)
{
return iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,pos);
}
double Main(int pos=0)
{
return iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,pos);
}
double ZeroAcross()
{
if( (Main(1)>0 && Main(0)<0) || (Main(1)<0 && Main(0)>0) )
{
drawVerticalLine(0);
}
}
};
MACD macd;
int start()
{
mcd.ZeroAcross();
}