请教一下各位,我这个函数的问题在哪里,只有返回结果等于1和2时才开仓,-1和和-2,不开单,只开多单不开空单,如果空单用返回结果1和2就能开
int signa4()
{
int res=0;
double ev1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
double ev2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);
double ev3=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
double ev4=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,2);
if(ev1>0&&ev2<0)//与0轴金叉
{res=1;}
if(ev1<0&&ev2>0)//与0轴死叉
{res=-1;}
if(0>ev2>ev4&&0>ev3>ev1)//0轴以下金叉
{res=2;}
if(0<ev2<ev4&&0<ev3<ev1 )//0轴以上死叉
{res=-2;}
return(res);
}
|