OrderModify and OrderOpenPrice Problems

 

extern double Zoom = 1.5 ;

extern double Zone = 20 ; 

void OnTick()

{

double zZone_a,zZone_b,a;

zZone_a=Zone;

zZone_b=Zone;
OrdSlctZ= OrderSelect(numberall-1,SELECT_BY_POS);
confZ_a=((Zone*Zoom)-Zone)/2;

typeZ=OrderType() ;a= OrderOpenPrice()+confZ_a*Mypoint;

OrderModify(OrderTicket(),a,OrderStopLoss(),OrderTakeProfit(),0,clrRed);

Comment (a);

}

The problem is that when I do not use it the real "a" in OrderModify The calculation works well ,but if use it in OrderModify the number of real "a" continues to grow....

help me