МТ5 Для тех кого волнует скорость.

 

Меня интересует вопрос : Как работают команды 

Для работы со счетом есть класс CAccountInfo,

Когда мы обращаемся к этой команде-терминал инициирует запрос к серверу или эта информация принимается постоянно вместе с котировками и мы просто берём эту информацию из буфера терминала или файла с диска ?

Короче-сколько времени исполняется данная команда ?  И если она считывает сдиска то как это зависит от типа дисковода или SSD ?

Полный Текст.. 

Собственно наиболее важной информацией которая нужна оперативно это наличие открытой позиции или отсутствие её а также уровня цены открытой позиции.

Я так понял что этот анализ надо делать в void OnTrade() -то есть когда позиция будет открыта  эта подпрограмма будет инициализирована ?

 
Полные тексты, пишите в этот форум.
 

Так сравните время до запроса с временем получения значения или выполнения команды. Я так понимаю всё зависит от конкретно вашей ситуации(линия связи например).

 

CAccountInfo не обращается на торговый сервер, выдается из памяти, на диск не лазает.

 
zfs:

Так сравните время до запроса с временем получения значения или выполнения команды. Я так понимаю всё зависит от конкретно вашей ситуации(линия связи например).

И так тестировать каждую команду?

Мне надо писать советника для быстрого исполнения и для этого  я должен понимать процесс. и чем он может обернуться. Я уже много раз наблюдал зависание терминала хотя использую 1 инструмент,1 советника и пару графиков.. К тому же есть и другие глюки..хотя поставил быстрый SSD вместо спящего винчестера..

 
Renat:

CAccountInfo не обращается на торговый сервер, выдается из памяти, на диск не лазает.

Я неверно указал функцию .Меня интересует PositionGet...().

Позиция имеет набор свойств, доступных для чтений функциями PositionGet...().

Спасибо. 

 
shelandr:

И так тестировать каждую команду?

Мне надо писать советника для быстрого исполнения и для этого  я должен понимать процесс. и чем он может обернуться. Я уже много раз наблюдал зависание терминала хотя использую 1 инструмент,1 советника и пару графиков.. К тому же есть и другие глюки..хотя поставил быстрый SSD вместо спящего винчестера..

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

https://www.mql5.com/ru/docs/dateandtime/timelocal
Документация по MQL5: Дата и время / TimeLocal
Документация по MQL5: Дата и время / TimeLocal
  • www.mql5.com
Дата и время / TimeLocal - Документация по MQL5
 
zfs:

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


https://www.youtube.com/playlist?list=PLIo3S7h2bgAD8afp8iN-MSy5irsL33PfE

 

 Для организации счетчиков и таймеров высокого разрешения нужно использовать функцию GetTickCount(), которая выдает значения в миллисекундах.

вы предлагаете мерять секундами?  даже милисекунды-это тоже медленно.

счётчик милисекунд у меня стоит постоянно но если из 1000 циклов 1 вывалится даже за минуту я всё равно не отловлю без спецпрограммы. 

к тому же когда терминал зависает то и счётчик не работает 

 
shelandr:

https://www.youtube.com/playlist?list=PLIo3S7h2bgAD8afp8iN-MSy5irsL33PfE

 

 Для организации счетчиков и таймеров высокого разрешения нужно использовать функцию GetTickCount(), которая выдает значения в миллисекундах.

вы предлагаете мерять секундами?  даже милисекунды-это тоже медленно.

счётчик милисекунд у меня стоит постоянно но если из 1000 циклов 1 вывалится даже за минуту я всё равно не отловлю без спецпрограммы. 

к тому же когда терминал зависает то и счётчик не работает 

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

 
zfs:

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

Вовсе нет-терминал зависает только тогда когда накладывается 2 события-операция типа модификации ордера и резкое движение цены по инструменту-просто сервер биржи  затыкает все заявки клиентов и они виснут.

Когда же движение цены стабилизируется-он начинает обслуживать заявки клиентов.

Причина в том что сервер в эти моменты либо не успевает обрабатывать заявки либо делается специально чтобы не дать клиенту получить профит. Чтобы это понять и нужен протокол обмена МТ%6с сервером ДЦ который нам не дают. 

Кстати в указанныё момент позицию не удаётся хакрыть даже из терминала-он недоступен.. 

Когда нет резких движений система работает довольно шустро и за секунду успевает прислать открытую позицию... Но мне хотелось бы получить  время между сигналом открытия позиции и  ордером открытия позиции до 100 мс (хотя я знаю системы с временем 15 мс.

Для этого я и провожу комплекс работ от модернизации аппаратуры,операционной системы и выбора провайдера...  

МТ5 | Секреты трейдинга
  • admin
  • shelandr.ru
Маленький экскурс. На сегодня наиболее быстрым терминалом,позволяющим строить и запускать автоматически исполняемые стратегии ( роботы или эксперты ) является терминал метатрейдер 5 или сокращённо МТ5. Почему именно так? Есть ведь терминал МТ4… Да есть..и последний год я активно его применял и писал роботов и индикаторы.. Весьма эффективно...
 
shelandr:

Вовсе нет-терминал зависает только тогда когда накладывается 2 события-операция типа модификации ордера и резкое движение цены по инструменту-просто сервер биржи  затыкает все заявки клиентов и они виснут.

Когда же движение цены стабилизируется-он начинает обслуживать заявки клиентов.

Причина в том что сервер в эти моменты либо не успевает обрабатывать заявки либо делается специально чтобы не дать клиенту получить профит. Чтобы это понять и нужен протокол обмена МТ%6с сервером ДЦ который нам не дают. 

Кстати в указанныё момент позицию не удаётся хакрыть даже из терминала-он недоступен.. 

Такие ужасы рассказываете)  2 события не обрабатываются вместе, а последовательно, есть ошибки и их надо анализировать и избегать) Не путайте быстродействие сервера и терминала.
Причина обращения: