Ошибки, баги, вопросы - страница 883

 

Вопрос: гарантируется ли неизменность request после вызова

bool OrderSend( [in] MqlTradeRequest& request, [in,out] MqlTradeResult& result )

вопрос связан с тем что хотя перед request нет const, но описано как [in] и возникает необходимость повторного использования. И тот же вопрос для

bool OrderSendAsync([in] MqlTradeRequest& request, [in,out] MqlTradeResult& result)
 
A100 хотя перед request нет const

 Наверное, отсутствие const связано вот с этой оговоркой:

Спецификатор const неприменим к членам структур и классов 

А так все, видимо, исходят из того, что нет смысла изменять внутри функций значения request и спокойно используют request  повторно. 
 
A100:

Вопрос: гарантируется ли неизменность request после вызова

Скорее всего да, хотя const там конечно не хватает. Напишите в СД, вдруг поправят.

Yedelkin:

 Наверное, отсутствие const связано вот с этой оговоркой

Нет это вообще ни при чем.

papaklass:

 Если Вы не будете вносить изменения в request, то в пределах своей видимости она изменяться не должна.

Ы?

A100:

Ну и собственно едитор:

Так что нет повода для беспокойства.

 

TheXpert:

Yedelkin: Наверное, отсутствие const связано вот с этой оговоркой:

Спецификатор const неприменим к членам структур и классов 

 Нет это вообще ни при чем.

 Да, утром дошло, что речь в той оговорке идёт об одном из правил создания структуры/класса. Так сказать, о внутреннем строении структуры/класса.
 

А почему в окне Инструменты во вкладках Торговля и История в столбце ID все поля всегда пустые? 

 

В Справке написано, что: 

  • ID — идентификатор ордера во внешней торговой системе;

Что имеется ввиду под внешней торговой системой? 

 
tol64: А почему в окне Инструменты во вкладках Торговля и История в столбце ID все поля всегда пустые? 

А срабатывание Stop Limit ордеров при биржевой торговле проверяли?

 
Yedelkin:

А срабатывание Stop Limit ордеров при биржевой торговле проверяли?

Да, только что специально внимательно понаблюдал за этим и в момент срабатывания ордера тоже в этом поле ничего не появляется. Так этот столбец есть ещё и на вкладке История (можно скрывать/устанавливать в контекстном меню), но там тоже все поля пустые на всех сделках и ордерах.

Не думал, что есть в терминале что-то, чего я не знаю. )) 

 
tol64: Да, только что специально внимательно понаблюдал за этим и в момент срабатывания ордера тоже в этом поле ничего не появляется. 
Тогда не знаю. Полагал, что при биржевой торговле будет ненулевой результат.
 
tol64:
При обсуждении кода возврата 10008 Сергеев упоминал ещё вот про такую ситуацию: https://www.mql5.com/ru/forum/6599/page3#comment_188465 Может, и ордерам новый идентификатор присваивается..
Функция OrderSendAsync()
Функция OrderSendAsync()
  • www.mql5.com
Вопрос 1: Где именно (на какой стадии) генерируется код 10008 для функции OrderSendAsync?
 
Yedelkin:
При обсуждении кода возврата 10008 Сергеев упоминал ещё вот про такую ситуацию: https://www.mql5.com/ru/forum/6599/page3#comment_188465 Может, и ордерам новый идентификатор присваивается..
Спасибо. Буду иметь ввиду. Может ещё, кто-нибудь подскажет, в каких случаях этот столбец заполняется, а в каких (как в моём случае) нет. Если что, спрошу в Сервисдеске.
Причина обращения: