OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)

 

int i; 

int accTotal=OrdersHistoryTotal();
         for(i=accTotal-1;i>=0;i--)
           {

            if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)

 

как сюда прикрутить выбор ордера Buy или Sell

 

OP_BUY

0

OP_SELL

1

 

 
djo:


 

как сюда прикрутить выбор ордера Buy или Sell


никак, тип определяется после выбора ордера.
 
evillive:
никак, тип определяется после выбора ордера.
т.е. из истории нельзя взять определенный ордер по OrderType() ?
 
djo:
т.е. из истории нельзя взять определенный ордер по OrderType() ?
Можно. 
 
tara:
Можно, но не так, а совсем не так. 
Да но мне именно надо из закрытых ордеров
 

Какая разница - из закрытых, или нет. 

 

Код не вставляется, извините за нижеследующее: 

 if( OrderSelect( ...) ){

            if( OrderSymbol() != Symbol() ) continue;

            if( OrderMagicNumber() != MagicNumber ) continue;

            if( OrderType() != OP_BUY ) continue;

 
tara:

Код не вставляется, извините за нижеследующее: 

 if( OrderSelect( ...) ){

            if( OrderSymbol() != Symbol() ) continue;

            if( OrderMagicNumber() != MagicNumber ) continue;

            if( OrderType() != OP_BUY ) continue;

int accTotal=OrdersHistoryTotal();
         for(i=accTotal-1;i>=0;i--)
           {
            if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)
               if(OrderSymbol()==Symbol())
                 {

                 if( OrderType() != OP_SELL ) continue;

Спасибо! ))) Вот так хорошо 

 
djo:
 Вот так хорошо 
Только код воспринимается тяжелее - происходит множественные вхождение во все новые блоки if. У tara код читается легче - как только условие не подходит, то дальше можно не читать, происходит переход на следующую итерацию. В Вашем же варианте для осмысления кода нужен лишний напряг.
Причина обращения: