Скачать MetaTrader 5

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

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

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

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

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

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

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

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

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

Rustamzhan Salidzhanov
7832
Rustamzhan Salidzhanov  
Полные тексты, пишите в этот форум.
Vasiliy Smirnov
15094
Vasiliy Smirnov  

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

MetaQuotes
Админ
26090
Renat Fatkhullin  

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

Андрей Шелихов
589
Андрей Шелихов  
zfs:

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

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

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

Андрей Шелихов
589
Андрей Шелихов  
Renat:

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

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

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

Спасибо. 

Vasiliy Smirnov
15094
Vasiliy Smirnov  
shelandr:

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

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

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

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

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


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

 

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

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

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

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

Vasiliy Smirnov
15094
Vasiliy Smirnov  
shelandr:

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

 

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

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

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

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

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

Андрей Шелихов
589
Андрей Шелихов  
zfs:

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

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

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

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

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

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

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

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

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

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

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

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

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