Всем привет!
Сегодня столкнулся с проблемой, о которой уже и думать забыл. Ветераны MQL4 помнят, пару лет назад на STP и ECN счетах нельзя было открыть рыночный ордер с задаными СЛ и ТП, они должны были стоять по нулям. И только после открытия ордера можно было его модифицировать, установив эти параметры. В принципе, тут смысл ясен, если сделка выводится на межбанк/ECN площадку, заранее неизвестно, по какой цене она исполнится. Поэтому нельзя заранее гарантировать, что СЛ и ТП могут быть установлены.
Потом, насколько я понимаю, MQ внесли изменения в код серверной части и эта особенность стала необязательной, большинство ECN ДЦ стали разрешать ставить стопы/тейки при выполнении OrderSend. А вот крупнейший ДЦ на букву А так и работает по старой схеме.
Вопрос - раньше нельзя было определить программно, какой ДЦ разрешает, а какой запрещает вышесказанное. Может, сейчас появились новые возможности, а я не знаю? Если нет, могли бы MQ ввести функцию для распознавания типа ДЦ?
Сейчас есть только один путь - тупо послать ордер с СЛ и ТП и посмотреть, исполниться он или нет. Это не всегда удобно.
Для меня это не проблема, я например никогда не выставляю ордер с предустановленными тейком и стопом, я модифицирую ордер после его открытия...
как вариант можно позвонить в тех поддержку ДЦ и задать вопрос...
Для меня это не проблема, я например никогда не выставляю ордер с предустановленными тейком и стопом, я модифицирую ордер после его открытия...
как вариант можно позвонить в тех поддержку ДЦ и задать вопрос...
Да, я раньше так и делал, но это увеличивает полное время открытия ордера, а оно и так черепашье. Вчера говорил с людьми, торгуют на бирже в штатах, говорят, через FIX выставляют до 1000 поз/сек. А у нас 300 мс на ордер уже счастье ))
Лично мне в ДЦ не надо звонить, я могу ручной ордер попробовать выставить с ненулевыми стопами и тейками. Но, допустим, я продаю робота. Знаете, сколько покупателей вообще знают хотя бы о существовании Instant & Market Execution? Очень мало, а тут такие тонкости.
В функции MarketInfo куча полезной информации, почему бы и эту не добавить?
Да, я раньше так и делал, но это увеличивает полное время открытия ордера, а оно и так черепашье. Вчера говорил с людьми, торгуют на бирже в штатах, говорят, через FIX выставляют до 1000 поз/сек. А у нас 300 мс на ордер уже счастье ))
Лично мне в ДЦ не надо звонить, я могу ручной ордер попробовать выставить с ненулевыми стопами и тейками. Но, допустим, я продаю робота. Знаете, сколько покупателей вообще знают хотя бы о существовании Instant & Market Execution? Очень мало, а тут такие тонкости.
В функции MarketInfo куча полезной информации, почему бы и эту не добавить?
Алексей, так вроде есть:
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
Посмотри там перечисление типа ENUM_SYMBOL_TRADE_EXECUTION.
А что за брокер? Кинь в личку ссылку, спасибо.
- www.mql5.com
Да, я раньше так и делал, но это увеличивает полное время открытия ордера, а оно и так черепашье. Вчера говорил с людьми, торгуют на бирже в штатах, говорят, через FIX выставляют до 1000 поз/сек. А у нас 300 мс на ордер уже счастье ))
Лично мне в ДЦ не надо звонить, я могу ручной ордер попробовать выставить с ненулевыми стопами и тейками. Но, допустим, я продаю робота. Знаете, сколько покупателей вообще знают хотя бы о существовании Instant & Market Execution? Очень мало, а тут такие тонкости.
В функции MarketInfo куча полезной информации, почему бы и эту не добавить?
Алексей, так вроде есть:
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
Посмотри там перечисление типа ENUM_SYMBOL_TRADE_EXECUTION.
А что за брокер? Кинь в личку ссылку, спасибо.
ENUM_SYMBOL_TRADE_EXECUTION
Идентификатор |
Описание |
SYMBOL_TRADE_EXECUTION_REQUEST |
Торговля по запросу |
SYMBOL_TRADE_EXECUTION_INSTANT |
Торговля по потоковым ценам |
SYMBOL_TRADE_EXECUTION_MARKET |
|
SYMBOL_TRADE_EXECUTION_EXCHANGE |
Биржевое исполнение |
В перечислении об стопах/тейках ни слова, только актуальные для МТ4 инстант и маркет.
//+------------------------------------------------------------------+ //| Функция выводит на печать разрешенные для символа типы ордеров | //+------------------------------------------------------------------+ void Check_SYMBOL_ORDER_MODE(string symbol) { //--- получим значение свойства, описывающего разрешенные типы ордеров int symbol_order_mode=(int)SymbolInfoInteger(symbol,SYMBOL_ORDER_MODE); //--- проверка на рыночные ордера (Market Execution) if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET) Print(symbol+": Рыночные ордера разрешены (Buy и Sell)"); //--- проверка на ордера типа Limit if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT) Print(symbol+": Ордера Buy Limit и Sell Limit разрешены"); //--- проверка на ордера типа Stop if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP) Print(symbol+": Ордера Buy Stop и Sell Stop разрешены"); //--- проверка на ордера типа Stop Limit if((SYMBOL_ORDER_STOP_LIMIT&symbol_order_mode)==SYMBOL_ORDER_STOP_LIMIT) Print(symbol+": Ордера Buy Stop Limit и Sell Stop Limit разрешены"); //--- проверка на возможность установки ордеров Stop Loss if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL) Print(symbol+": Ордера Stop Loss разрешены"); //--- проверка на возможность установки ордеров Take Profit if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP) Print(symbol+": Ордера Take Profit разрешены"); //--- }.
В том то и дело что на открытие ордера без стопов и профитов времени нужно меньше, пару миллесекунд выигрываем, а с последующей модификацией я всегда уверен куда быне был установлен советник он отработает правильно...
Увы, это не пара миллисекунд. У меня стоит VPS в Москве, сервера этого ДЦ тоже в Москве, пинг 35 мс!!!!! Из Питера из дома 55 мс. Вообще, если мерять не на глазок, а у меня время в журнал пишется, видим следующее, по этому ДЦ:
08:35:43 Open time, ms = 344
08:35:43 ticket= 612970669
01:27:58 Open time, ms = 140
01:27:58 ticket= 612979247
01:28:07 Open time, ms = 171
01:28:07 ticket= 612979248
А теперь для эксперимента другое ECN ДЦ, серваки в штатах, чистый пинг 130 мс
01:24:37 Open time, ms = 187
01:24:37 ticket= 16548986
01:24:56 Open time, ms = 234
01:24:56 ticket= 16548992
01:26:14 Open time, ms = 343
01:26:14 ticket= 16549014
Это я к тому, что даже ночью, на вялом рынке (смотрим номера ордеров и время), исполнение прыгает в 2 раза. А знаете, что твориться на новостях? Там уже роботу некогда выставлять лишние стопы-тейки, если можно сделать это одним приказом. Вот сегодня особых движух не было, и то за 8 часов робот намолотил 1645 ордеров.
В общем, сухой остаток. Или надо задавать этот параметр в настройках и пусть трейдер сам разбирается, или робот делает тест в начале торговой сессии. Кстати, у меня народ торгует советниками на eBay, говорят, америкосы ненавидят, когда у советника много настроек. Надо, чтобы тупо включил и все само работало. А мы еще говорим, что русские ленивые ))
.
Спасибо, мне надо для МТ4, там это не поддерживается. А так как MQ много раз повторяли, что больше развивать МТ4 не будут, то все...
Не поддерживается | int | |
SYMBOL_FILLING_MODE | Не поддерживается | int |
SYMBOL_ORDER_MODE | Не поддерживается | int |
Увы, это не пара миллисекунд. У меня стоит VPS в Москве, сервера этого ДЦ тоже в Москве, пинг 35 мс!!!!! Из Питера из дома 55 мс. Вообще, если мерять не на глазок, а у меня время в журнал пишется, видим следующее, по этому ДЦ:
08:35:43 Open time, ms = 344
08:35:43 ticket= 612970669
01:27:58 Open time, ms = 140
01:27:58 ticket= 612979247
01:28:07 Open time, ms = 171
01:28:07 ticket= 612979248
А теперь для эксперимента другое ECN ДЦ, серваки в штатах, чистый пинг 130 мс
01:24:37 Open time, ms = 187
01:24:37 ticket= 16548986
01:24:56 Open time, ms = 234
01:24:56 ticket= 16548992
01:26:14 Open time, ms = 343
01:26:14 ticket= 16549014
Это я к тому, что даже ночью, на вялом рынке (смотрим номера ордеров и время), исполнение прыгает в 2 раза. А знаете, что твориться на новостях? Там уже роботу некогда выставлять лишние стопы-тейки, если можно сделать это одним приказом. Вот сегодня особых движух не было, и то за 8 часов робот намолотил 1645 ордеров.
В общем, сухой остаток. Или надо задавать этот параметр в настройках и пусть трейдер сам разбирается, или робот делает тест в начале торговой сессии. Кстати, у меня народ торгует советниками на eBay, говорят, америкосы ненавидят, когда у советника много настроек. Надо, чтобы тупо включил и все само работало. А мы еще говорим, что русские ленивые ))
Бежать значит надо от такого ДЦ, хотелось бы имя узнать, потому что это может быть по двум причинам
1 дешевые слабые сервера
2 умышленные тормоза
Другого я не вижу...
Увы, это не пара миллисекунд. У меня стоит VPS в Москве, сервера этого ДЦ тоже в Москве, пинг 35 мс!!!!! Из Питера из дома 55 мс. Вообще, если мерять не на глазок, а у меня время в журнал пишется, видим следующее, по этому ДЦ:
пусть трейдер сам разбирается, или робот делает тест в начале торговой сессии. Кстати, у меня народ торгует советниками на eBay, говорят, америкосы ненавидят, когда у советника много настроек. Надо, чтобы тупо включил и все само работало. А мы еще говорим, что русские ленивые ))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет!
Сегодня столкнулся с проблемой, о которой уже и думать забыл. Ветераны MQL4 помнят, пару лет назад на STP и ECN счетах нельзя было открыть рыночный ордер с задаными СЛ и ТП, они должны были стоять по нулям. И только после открытия ордера можно было его модифицировать, установив эти параметры. В принципе, тут смысл ясен, если сделка выводится на межбанк/ECN площадку, заранее неизвестно, по какой цене она исполнится. Поэтому нельзя заранее гарантировать, что СЛ и ТП могут быть установлены.
Потом, насколько я понимаю, MQ внесли изменения в код серверной части и эта особенность стала необязательной, большинство ECN ДЦ стали разрешать ставить стопы/тейки при выполнении OrderSend. А вот крупнейший ДЦ на букву А так и работает по старой схеме.
Вопрос - раньше нельзя было определить программно, какой ДЦ разрешает, а какой запрещает вышесказанное. Может, сейчас появились новые возможности, а я не знаю? Если нет, могли бы MQ ввести функцию для распознавания типа ДЦ?
Сейчас есть только один путь - тупо послать ордер с СЛ и ТП и посмотреть, исполниться он или нет. Это не всегда удобно.