расхождение между AccountNumber() и OrdersHistoryTotal(), OrdersTotal() и OrderSelect(i, SELECT_BY_POSE, MODE_HISTORY) - страница 2

 
Я тоже заметил, что тестер правильно перебирает ордера MODE_HYSTORY, а терминал - почему то нет???
 
valenok2003:

или всё-таки нужно в функцию ClosePosBySelect() передать тикет ордера с которым производятся манипуляции, и выбрать ордер по тикету для дальнейших манипуляций


В любом случае - лучше явно передавать тикет ордера, а не полагаться на то, что программа что-то запомнит и всё пройдет удачно.
 

Доброго дня.

Тема поднятая автором, как я понимаю осталась открытой. Терминал перелогинивается... но этап, когда можно сказать, что все данные от нового аккаунта получены, неизвестен.

Прием указанный как void RefreshAccountInfo() неработает, потому как в этот момент новые данные(в том числе и по истории) могут быть от другого эккаунта.

 
graymag:

Доброго дня.

Тема поднятая автором, как я понимаю осталась открытой. Терминал перелогинивается... но этап, когда можно сказать, что все данные от нового аккаунта получены, неизвестен.

Прием указанный как void RefreshAccountInfo() неработает, потому как в этот момент новые данные(в том числе и по истории) могут быть от другого эккаунта.

Чисто практический совет - не работайте с одного терминала на разных счетах. Можно долго рассуждать о правильности/неправильности такого подхода и о том что "нужно ликвидировать глюки и добиться чётких и корректных переключений". Я заранее согласен. Да. Да. Да. Но таки....
 

Развивая тему, ордера в базе обновляются с опозданием, что совершенно сбивает с толку советников.

Теперь советник не может доверять функциям OrdersTotal() и OrderSelect() непосредственно после срабытывания отдельных ордеров.

И это и не обновление списочка при переключении счетов стопроцентный баг, извинити(

 
Andrey Ziablytsev:

Развивая тему, ордера в базе обновляются с опозданием, что совершенно сбивает с толку советников.

Теперь советник не может доверять функциям OrdersTotal() и OrderSelect() непосредственно после срабытывания отдельных ордеров.

И это и не обновление списочка при переключении счетов стопроцентный баг, извинити(


Вы про MQL4? Там такого не замечал. А в MQL5, как раз так, как Вы пишите. Там точно нельзя надеяться на список ордеров, т. к. торговые операции асинхронны. 

 
Время загрузки истории при смене счета зависит от количества в ней ордеров. Помогает выбор последнего месяца или даже последней недели.
Причина обращения: