Запара с OrdersHistoryTotal()
- - - - - - - - -
Эта конструкция полностью работоспособна. Но только в случае, если на поле нету дргих игроков (т.е. если нет рыночных ордеров с другим MagicNumber )
Если же таковые имеються - тестер полностью останавливаеться. При этом : ордера с MagicNumber не равным MagicNumber_15 отбрасываются и GetLastError()=0.
Мне же нужно найти последний ордер в истории по каждому MagicNumber. Остатки мозгов сплавились в одну непонятную массу. Подскажите как это можно решить.
Как минимум, цикл с ошибкой:
for(k=OrdersHistoryTotal()-1;k<=OrdersHistoryTotal();k--)
а надо:
for(k=OrdersHistoryTotal()-1;k>=0;k--)
Как минимум, цикл с ошибкой:
а надо:
Дело сдвинулось. Поиграемся дальше.
Спасибо большое!
Существует такая конструкция:
if(tf_15)
{
int last_close_order_15=0;
if(TotalTradeFrame(MagicNumber_15)==0)
{
if(OrdersHistoryTotal()!=0)
{
for(k=OrdersHistoryTotal()-1;k<=OrdersHistoryTotal();k--)
{
if(OrderMagicNumber() !=MagicNumber_15) continue;
if(OrderMagicNumber()==MagicNumber_15)
{
OrderSelect(k, SELECT_BY_POS,MODE_HISTORY);
last_close_order_15=OrderTicket();
break;
}
}
}
OrderSelect(last_close_order_15,SELECT_BY_TICKET,MODE_HISTORY);
- - - - - - - - -
Эта конструкция полностью работоспособна. Но только в случае, если на поле нету дргих игроков (т.е. если нет рыночных ордеров с другим MagicNumber )
Если же таковые имеються - тестер полностью останавливаеться. При этом : ордера с MagicNumber не равным MagicNumber_15 отбрасываются и GetLastError()=0.
Мне же нужно найти последний ордер в истории по каждому MagicNumber. Остатки мозгов сплавились в одну непонятную массу. Подскажите как это можно решить.