https://www.mql5.com/en/forum/139654
Your loop is wrong it has to count down if you check your trades especially if you close trades inside the loop
- Loops and Closing or Deleting Orders - MQL4 forum count down
int temp69=StrToInteger(OrderComment());
brokers can change comments, including complete replacement.
ok i change my code in blow,but still not normal run
for(int sd=0;sd<OrdersTotal();sd++) { if(OrderSelect(sd,SELECT_BY_POS,MODE_TRADES)==true) { if((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) { int temp10=OrderMagicNumber(); if((chicangshu[temp10]==0)&&(guacangshu[temp10]>0)) { for(int cc1=OrdersTotal()-1;cc1>=0;cc1--) { if(OrderSelect(cc1,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==temp10) { if(OrderDelete(OrderTicket(),Blue)==true) { Alert(temp10,"号仓已经平仓完毕,剩余挂单自动删除成功"); } } } } } } } }
zdj229:
ok i change my code in blow,but still not normal run
for(int sd=0;sd<OrdersTotal();sd++)
deVries:
https://www.mql5.com/en/forum/139654
Your loop is wrong it has to count down if you check your trades especially if you close trades inside the loop
ok,i modefy my code blew,but not still normal run
for(int sd=OrdersTotal()-1;sd>=0;sd--) { if(OrderSelect(sd,SELECT_BY_POS,MODE_TRADES)==true) { if((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) { int temp10=OrderMagicNumber(); if((chicangshu[temp10]==0)&&(guacangshu[temp10]>0)) { for(int cc1=OrdersTotal()-1;cc1>=0;cc1--) { if(OrderSelect(cc1,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==temp10) { if(OrderDelete(OrderTicket(),Blue)==true) { Alert(temp10,"号仓已经平仓完毕,剩余挂单自动删除成功"); } } } } break; } } } }
ok i am ok
tell frients,thank you very much
i modiry my code below problom
Perfect solution
int getguacangshu(int guandan) { int guacangshu[10000]; int zuidasuocangshu2=getzuidasuocangshu(); if(OrdersTotal()>0) { for(i=0;i<=zuidasuocangshu2;i++) { guacangshu[i]=0; } } if(OrdersTotal()>0) { for(int um=OrdersTotal()-1;um>=0;um--) { if(OrderSelect(um,SELECT_BY_POS,MODE_TRADES)==true) { if((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) { guandan=OrderMagicNumber(); guacangshu[guandan]=1; } } } } return(guacangshu[guandan]); } void shandan() { //仓平空的时候,删除所有挂单止损完以后平掉所有挂单开 始 for(int sd=0;sd<OrdersTotal();sd++) { if(OrderSelect(sd,SELECT_BY_POS,MODE_TRADES)==true) { if((OrderType()==OP_BUY)||(OrderType()==OP_SELL)) { int temp666=StrToInteger(OrderComment()); if((getchicangshu(temp666)==0)&&(getguacangshu(temp666)>0)) { for(int cc1=OrdersTotal()-1;cc1>=0;cc1--) { if(OrderSelect(cc1,SELECT_BY_POS,MODE_TRADES)==true) { if(OrderMagicNumber()==temp666) { if(OrderDelete(OrderTicket(),Blue)==true) { Alert(temp666,"号仓已经平仓完毕,剩余挂单自动删除成功"); } } } } } } } }
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
this code is run very beautiful,but if this code put in EA, use history test,Continuous cycle delete orderticket,why