Разработчикам.Формат времени в терминале МТ5 - страница 2

 
Risk:

Еще спасибо скажут, ибо ваши сопли были хороши в МТ4, но на него мне было пофиг, в нем только л..и торгуют

Риск делаю вам второе предупреждение, перестаньте изливать грубость на окружающих.

 

Друзья, самое главное, что милисекундная точность просто невозможна - задержки через инет на порядки больше. Кроме того, штатный таймер в компьютере по-прежнему работает с невысокой частотой (если не ошибаюсь, около 1/18с), и получить точность выше - весьма непросто.

Да и правильно тут сказали - нафига милисекунды ?  

Мне кажется, что формат datetime - более чем хорош.  

 
sergeev:

Вячеслав, но ведь это не так ;)

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

может действительно пришла пора в терминал у ордеров такую инфу давать?



Именно так. Нужно создавать (не новый формат времени) новый способ хранения времени. И распространять его по всем нашим компонентам. Вплоть до таймсерий. Оно того стоит? Однозначно, нет.

Вот инфа про миллисекунды более жизненна. Но тоже не стоит. Так как при проходе через провода эта информация теряет свою актуальность начисто.

PS Станислав, кстати.

Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Тип datetime - Документация по MQL5
 
stringo:

Именно так. Нужно создавать (не новый формат времени) новый способ хранения времени. И распространять его по всем нашим компонентам. Вплоть до таймсерий. Оно того стоит? Однозначно, нет.

да. процесс очень трудоемкий

Вот инфа про миллисекунды более жизненна. Но тоже не стоит. Так как при проходе через провода эта информация теряет свою актуальность начисто.

но вот здесь не соглашусь. не так важна инфа для мгновенного принятие решение, как её факт наличия для собрания статистики. то есть она не для актуальности, а для восстановления цепочки событиq ну и как уже сказал собрания статистики работы провайдера или сервера.

Ведь у вас практически все готово, чтоб отдать трейдеру свойство ордера и сделки в мс. В OrderGetInteger / DealGetInteger им самое место. с ORDER_TIME_MSC / DEAL_TIME_MSC


PS Станислав, кстати.

понял, просто в профиле стоит Slawa.
 
papaklass:

 Ренат говорил, что МТ5 подключен к Plaza, а Вы говорите зачем миллисекунды.

Для чего же тогда асинхронная функция отправки торговых заявок? Зачем Вы ее сделали?

МТ5 - биржевая платформа, а на бирже миллисекунды нужны, трейдерам. :) 

Так это. Расскажите, как миллисекунды "помогут вам валить деревья"? (ц)

Просишь, просишь - все молчат.

 
stringo:

Так это. Расскажите, как миллисекунды "помогут вам валить деревья"? (ц)

Просишь, просишь - все молчат.

я ж говорю - в торговле никак. ибо понятно что от времени постановки ордера до прихода сделок по нему - проходит десятки мс.

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

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
stringo:

Так это. Расскажите, как миллисекунды "помогут вам валить деревья"? (ц)

Просишь, просишь - все молчат.

Помогают также, как и секунды для минутного TF. А там где уже секунды не помогают, беремся за миллисекунды :)

 

Торгую на MT4. Как известно, со временем там все по аналогии с MT5. Решаю вопросы пингов и прочей миллисекундной ерунды. Подумал, использовал бы я миллисекундые данные в MT4. И, как это ни странно, ответил отрицательно. Да, миллисекундные данные иногда полезны при анализе, например, OrderOpenTime. Но на практике мне такая необходимость была нужна очень и очень редко. Я бы даже сказал не необходимость, а желание разобраться в одном торговом нюансе, от которого профит все равно никак не зависел.

Конечно, в основном миллисекунды нужны для тиков. Это позволяет в реал-тайме анализировать мелкие флуктуации цены. Но еще больше пользы дает для исследования на истории: мультивалютные системы возможно правильно анализировать только на тиковой миллисекундой истории. Например, построить синтетический EURGBP невозможно без такой истории. Но тут встает несколько проблем:

  • В MT4/MT5 невозможно собрать тики без пропусков.
  • Исследовательская инфраструктура не имеет возможностей кастомной истории и потикового тестера.
  • В реал-тайме сами платформы довольно сильные лаги дают при торговле (асинхронность в MT5 не изучал, врать не буду).

Т.е. миллисекунды нужны для тех, у кого есть хорошая исследовательская инфраструктура. Как правило, это свое решение. Ну а  раз так, то и проблема получения тиков с миллисекундами и прочей информацией решается также своими средствами.

Далее, если посмотреть, кому реально нужны такие возможности, то встает вопрос, а стоит ли реально городить сложности из-за этой сомнительной в плане полезности возможности. Надо все же трезво понимать, на кого расчитаны MT4/MT5 - массовый пользователь. Которому реально не нужны эти миллисекунды. Если кому-то реально понадобится, он может воспользоваться тем же Stocksharp или FDK.

В реал-тайме даже на MT4 использую миллисекунды, своего рода эмулирую через GetTickCount. Например, при анализе реджектов:

2012.09.14 21:21:15 3296(2)ms. 1898804512 BuyLimit = 1.31062 EURUSD Ticks = 2 ShiftAvg = 1.50 ShiftByTime = 0.33 VolumeByTime = 0.20 PriceByTime = 1.310623 FillTime = 21:21:15

Или, например, более сложные случаи - синтетические стаканы из символов или из разных фидов. Для этих целей в рамках возможностей MT4/MT5 такой эмуляции вполне достаточно.

Резюмируя, считаю, что в MT5 при отсутствии упомянутых выше вещей давать миллисекунды - лишнее.

P.S. Мне понравился подход в FXCM. У них есть тестер и тиковая история. Все свободно могут тестировать свои стратегии на обычной штатнодоступной OHLCV истории. Но если кому-то нужна потиковая история и потиковый тестер, то тиковую историю можно забрать только через API. А потиковый тестер - только через SDK-тестера. Т.е. расчет идет на то, что если человек не для баловства хочется воспользоваться, то и квалификация его должа соответствовать. Т.е. он разберется и в их API (и будет через него торговать) и в SDK.

 
У нас в ордерах есть поле реальных миллисекунд, его можем выдавать в MQL5.
 

Тут, мне кажется, не помешало бы секундное время. 

Причина обращения: