2MetaQuotes: API, случился глюк с GetTradeRecords

 
2MetaQuotes: API, случился глюк с GetTradeRecords
Эта функция, у меня, уже вполне отлажена и до сих пор нормально работала, но вот глюк вылез.
GetTradeRecords возвращает массив TradeRecord. поля Open_Price, Close_Price, и др, показывают правильные значения, а вот Profit = 0, в BUI все поля выдают нормальные значения, а Profit=0 и Balance=Equity.
MT запущенный по тому же счету показывае всё ОК.
--
демо счёт 1744, сервер 195.2.82.152:1919
Проверьте пожалуйста.
 
Дополнение
другой счёт на сервере 195.2.82.152:1950,
другой счёт на том же сервере 195.2.82.152:1919 - те же глюки:
TradeRecord.Profit = 0, BUI.Profit=0, BUI.Balance=BUI.Equity
----------------------------------------
Открыл ещё несколько позиций.
Глюк проявляется только на GBPJPY. Остальные пары дают нормальные данные.
Причём в BUI Profit слагается из профитов всех пар кроме GBPJPY, там он показывает 0.

Функция вызывается по событию ON_BIDASK, иногда профит в TradeRecord показывается, но при этом в BUI.Profit он не учитывается.
 
Дополнение 2: в МТ тоже, условия проявления.
Установил что глюк проявляется когда функцией AddSymbol добавлено (или после HideSymbol оставлено) всего несколько символов. Если увеличивать число добавленных символов, то глюк изчезает.

Поэкспериментировав с добавлением/удалением символов в MT, в MT вылез тот же глюк.
 
почему так случается
Почему перестает считаться профит у сделки?
Дело в том, что если отключить подкачку данных по символу сделки, то данные по этому инструменту вообще не поступают. В результате и профит не считается.
Будьте внимательны и всегда контролируйте список активных инструментов.

Кстати, скачайте обновленную версию MetaTrader SDK. Поправлена небольшая ошибка в кроссах.
 
нет, символ включен.
Нет, я по разному проверял.
И именно при включенном GBPJPY, тики по нему идут, по _этому_ событию обновляются TradeRecord и BUI и проявляются глюки как через АPI так в MT.
 
а в новой версии API это проявляется?
а в новой версии API это проявляется?
напишите нам на support@metaquotes.ru - разберемся.
 
А есть уже новая? Где? Поддержку IE добавили?
B mtapi.zip на Вашем сайте, инфы о версии dll нет, размер тот же что раньше, только пример № 3 добавлен. Или это и есть новое API?

впрочем сейчас проверю.
 
поддержка IE всегда была и есть
 
Объясните пожалуйста, где она есть и как функционирует.
На сколько я понял, IE - это передача котировок брокера в потоке. И котировки брокера могут отличаться от тиков. Поправте если это не так.
В потоке передаются котировки приходящие по событию UPDATE_BIDASK и как я понял - это не котировки брокера, а тики.
Сейчас, для получения котировок брокера необходимо вызывать функцию MtGetPrices, вызов которой - это не приход данных в потоке.

Иного пути получить котировки брокера пока не нашел (я ожидал бы, например, событие UPDATE_BrokerBIDASK ). Далее, вы говорили, что цены брокера зависят от количества лотов в ожидаемой ставке. Где функция передачи этого количества на сервер?
Где тут IE?

Объясните, pls, что я пропустил или что не так понял?
 
при исполнении IE
При совершении сделок по IE текущие цены берутся из приходящего потока тиков по UPDATE_BIDASK. Отдельного потока для цен брокера нет.
 
Здорово! Спасибо.
Здорово! Я так понимаю, MtGetPrices в таком случае, совсем неиспользуется?
Есть ли какой либо флаг в переменных, указывающий на работу сервера в IE режиме?
(МТ автоматически это распознаёт.)

И ответьте, pls, про количество лотов. Вы говорили цена зависит от количества лотов в ожидаемой ставке. Как это отражается в работе с апи (в режиме IE)? Или это была всё же шутка?
Причина обращения: