void VariableMacd(double &ad_0,double &ad_4,double &ad_8,double &ad_12){
int li_16=-1; int ExtDepth=1200; int ExtDeviation=500; int ExtBackstep=300; double li_icustom_00; double li_icustom_04; int li_izigzag_08=0; int li_izigzag_12=0; int long; int short; int mid; for(int l_cnt=0;l_cnt<3200;l_cnt++){ li_icustom_00=iCustom(NULL, 0, "ZigZag",ExtDepth,ExtDeviation,ExtBackstep,1,l_cnt+30); if (li_icustom_00>0){li_izigzag_08=l_cnt;break;} }
for(l_cnt=0;l_cnt<3200;l_cnt++){ li_icustom_04=iCustom(NULL, 0, "ZigZag",ExtDepth,ExtDeviation,ExtBackstep,2,l_cnt+30); if (li_icustom_04>0){li_izigzag_12=l_cnt;break;} } int nH_Count = iHighest(NULL, 0, MODE_HIGH, 5880, 32); int nL_Count = iLowest(NULL, 0, MODE_LOW, 5880, 32) ; long=NormalizeDouble(MathAbs(nH_Count-nL_Count),0) ; long=MathAbs(li_izigzag_12-li_izigzag_08); short=NormalizeDouble(long/26*12,0); mid=NormalizeDouble(long/26*9,0); //Print("高点",li_izigzag_08,"低点",li_izigzag_12,"MACD参数",long,"+",short,"+",mid); ad_0= Macd(short,long,mid,1); ad_4= Macd(short,long,mid,2); ad_8= Signal(short,long,mid,1); ad_12= Signal(short,long,mid,2); //Print(li_izigzag_08,"??",li_izigzag_12); return(0); }
double Macd(int ai_0,int ai_4,int ai_8,int ai_12){ return((iMACD(NULL,0,ai_0,ai_4,ai_8,PRICE_CLOSE,MODE_MAIN,ai_12))*10000); }
double Signal(int ai_0,int ai_4,int ai_8,int ai_12){ return((iMACD(NULL,0,ai_0,ai_4,ai_8,PRICE_CLOSE,MODE_SIGNAL,ai_12))*10000); }
|