Скачать MetaTrader 5

Обработка асинхронных ордеров

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Risk
755
Risk 2013.03.04 10:18 

Разработчики, выложите внятный алгоритм обработки.

То что вы сделали - это верх идиотизма, кто вообще додумался до того что нет никакой связи между отсылкой ордера и получение события о транзакции ?

В ордере на кой черт отправляется 2 структуры, в обработчике аж ТРИ  структуры ... и между собой никак не связаны.

Вы что там курите вообще ? На отправку ордера прилетает куча бестолковых мессажей, в которых нет даже никакой связи с отправкой.

 

И почему OrdersTotal выдаем мне все ордера - а вы не хотите хотя бы описании указать что он выдаем данные по глобальному списку а не только для данного эксперта, не ? 

MetaQuotes
Админ
25036
Renat Fatkhullin 2013.03.04 10:33  

Неразумно делать такие заявления, не разобравшись в сути.

Почитайте, пожалуйста, детально прототипы функций и подумайте над ними. Мы предоставляем максимально полный контроль за сделками, включая все промежуточные стадии исполнения ордера.

Если хотите просто совершать сделки без раздумий, используйте класс CTrade. Но если хотите полный контроль и асинхронное исполнение, то нужно разбираться и работать с деталями.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
MetaQuotes
Админ
25036
Renat Fatkhullin 2013.03.04 10:35  

OrdersTotal работает правильно - любой эксперт имеет доступ ко всем данным без ограничений.

При необходимости эксперт может метить свои ордера и позиции с помощью Magic, а потом работать только с ними.

Risk
755
Risk 2013.03.04 10:45  

Тогда скажите как это  OnTradeTransaction(const MqlTradeTransaction &trans,const MqlTradeRequest &request,const MqlTradeResult &result) связано с этим bool OrderSendAsync(MqlTradeRequest& request, MqlTradeResult& result ) ?

Я уже программировал Micex, FIX и RTS-Plaza, и такого маразма как у Вас еще не видел.

Самая важная часть в любой торговой системе и нет внятного описания, это вообще ужас. 

И на кой черт мне три структуры в OnTradeTransaction ????  Почему не двадцать ? Давайте там еще состояние погоды будем передавать или информацию о пробках ?

А чтобы у программистов вообще мозг взорвался  - вы еще и названия структур сделали одинаковые, ваще жесть. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
Risk
755
Risk 2013.03.04 10:48  

OrdersTotal должен выдавать кол-во ордеров для ДАННОГО ЭКСПЕРТА !

OrdersTotalGlobal - а это для всех открытых ордеров во всех экспертов. Фантазии не хватило ? или свою историю ордеров разрулить уже не в состоянии ?  нам этим маразмом заниматься ?

sion
1086
sion 2013.03.04 10:51  
Risk:

Тогда скажите как это  OnTradeTransaction(const MqlTradeTransaction &trans,const MqlTradeRequest &request,const MqlTradeResult &result) связано с этим bool OrderSendAsync(MqlTradeRequest& request, MqlTradeResult& result ) ?


Может быть этим 

uint     request_id;       // Идентификатор запроса, устанавливается терминалом при отправке 


У меня нормально, через   OnTradeTransaction, все работает с  асинхронной отправкой ордеров(ток с тестером некоторые проблемы, но это уже детали).


Risk
755
Risk 2013.03.04 10:57  
sion:

Может быть этим 

uint     request_id;       // Идентификатор запроса, устанавливается терминалом при отправке 


У меня нормально, через   OnTradeTransaction, все работает с  асинхронной отправкой ордеров(ток с тестером некоторые проблемы, но это уже детали).


Вы хотите сказать что request_id из OrderSend вернется в OnTradeTransaction ?
sion
1086
sion 2013.03.04 10:59  
Risk:
Вы хотите сказать что request_id из OrderSend вернется в OnTradeTransaction ?
Из OrderSendAsync возвращается.
Risk
755
Risk 2013.03.04 11:07  
sion:
Из OrderSendAsync возвращается.
В одном из 4 прилетевших OnTradeTransaction действительно есть request_id с таким же номером. Посмотрю сейчас что там можно вытянуть.
Risk
755
Risk 2013.03.04 11:24  
sion:
Из OrderSendAsync возвращается.

Ну вернулся и чо ... тикета ордера в этом сообщении нет.

Как Вы работаете то интересно ????????????????????

Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - Документация по MQL5
Комбинатор
16023
Комбинатор 2013.03.04 11:31  
Risk:

Не ну если ты не понимаешь специфику асинхронных ордеров, чего соваться вообще?

Нафига надеяться и ждать чего-то от сервера?

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий