How to keep consistency of trade functions

Back to topics list To post a new topic, please log in or register
avatar
3
trade1532 2015.12.08 22:51
 
// Current order 

// [#1] [#2] [#4] 

 

for (int pos = 0; pos < OrdersTotal(); ++pos)


// when pos is 0, [#1] is selected.

if (OrderSelect(pos, SELECT_BY_POS) == false)

{

}



// (1) long long process... (More than 10 sec) 

// canceled or closed order [#1] [#2] and new order [#5]  => [#4] [#5]

// then next loop (pos is 1)

// OrdersTotal() return 2 and OrderSelect() select [#5] => Warning: [#4] is skipped !

 

How to avoid the above problem ? 
avatar
Moderator
3412
GumRai 2015.12.08 23:11 #
 
   while(true)
     {
      //Do something
      if(everything completed and want to leave loop)
        break;
     }
You have to have a break to exit the loop as while(true) will always be true.
avatar
3
trade1532 2015.12.08 23:47 #
 
GumRai:
You have to have a break to exit the loop as while(true) will always be true.

Commonly Your answer is ok but It isn't that I want to know....

 I just want to know that the problem occurs instantaneously as above.

and solution. 

 

Another example

for (int pos = 0; pos < OrdersTotal(); ++pos)

{

if (OrderSelect(pos, SELECT_BY_POS) == false)

{

// EA process this line, if instantaneously order count is changed.

}

avatar
Moderator
3412
GumRai 2015.12.09 00:18 #
 

As you have not described what problems you are having and your examples don't make any sense, it is not possible to give you any advice.

As your first example was an endless loop, I gave the only answer that was possible. 

avatar
3
trade1532 2015.12.09 13:31 #
 
GumRai:

As you have not described what problems you are having and your examples don't make any sense, it is not possible to give you any advice.

As your first example was an endless loop, I gave the only answer that was possible. 

 

Sorry, I changed example of problem.

Back to topics list  

To add comments, please log in or register