МТ4 или МТ5. Какие преимущества и недостатки? - страница 60

 
Aleksandr Kuripko:

Если МТ4 хуже, то почему на ней большинство?

хороший вопрос) для меня так (потому что 4 стабильней, логичней) и лень/не знание тут точно не причём))) после использования 5 сам торговать на ней не хочу (и не из за количества символов)
хорош тот плот, который хорошо плавает)
 
Aleksandr Kuripko:

У всех МТ5 дольше грузится?

Если честно, впервые встречаю такую информацию. Скорее, в точности наоборот: МТ4 не раз и не два подвисал на минуту-две как при запуске, так и при переходе на другой таймфрейм в случае тяжёлых индикаторов. МТ5 летает со скоростью света. Проблема в другом: иногда с первого раза он не запускается вообще. Запускается со второго-третьего, зато быстро )))
 

Провел компеляцию одинаковых, маленьких, до 200 строк, индикаторов в МТ4 и МТ5

Разница по затраченному времени почти в ТРИ раза. Пошто такие тормоза на 5_ке. 



 
Morexod:

Провел компеляцию одинаковых, маленьких, до 200 строк, индикаторов в МТ4 и МТ5

Разница по затраченному времени почти в ТРИ раза. Пошто такие тормоза на 5_ке. 



Причины:

1) мт5 генерирует две разные версии программ под 32 бита и оптимизированную версию под 64 бита

2) оптимизатор под 64 бита требует в разы больше времени, что дает в разы более быстрый код

 
Pavel Verveyko:
хороший вопрос) для меня так (потому что 4 стабильней, логичней) и лень/не знание тут точно не причём))) после использования 5 сам торговать на ней не хочу (и не из за количества символов)
хорош тот плот, который хорошо плавает)

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

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

Вашу стабильность и логичность в МТ4 я бы уточнил. Стабильность кладбища и примитивная логичность. Так как МТ4 уже мертвый терминал, а МТ5 живой и бурно развивающийся. 

Я давно не писал на MQL4, но вот сейчас пришлось писать сканер на нем. Ощущение ужаснейшее после кодинга на MQL5.  Сплошные костыли приходится приделывать. То, что раньше при изучении MQL5 мне казалось достоинством в MQL4, сейчас для меня явный недостаток. Код жутко неэффективный по сравнению с MQL5, и при этом я понимаю, что сделать ничего невозможно, т.к. достаточно хорошо знаю MQL4. Вот, например, из последнего, что удалось для себя выяснить, что можно на MQL5 и нельзя на MQL4: Быстрая реализация мультисимвольного OnTick без применения OnTimer. Такое на MQL4 не реализовать.

Именно лень и незнание по причине лени...

 
Renat Fatkhullin:

Причины:

1) мт5 генерирует две разные версии программ под 32 бита и оптимизированную версию под 64 бита

2) оптимизатор под 64 бита требует в разы больше времени, что дает в разы более быстрый код


Тестил на ноуте 32 бита.

На мт4 файл ех4 - 11 КБ - 1 шт.

На мт5 файл ех5 - 13 КБ - 1 шт. вторую версию проги под 64 бита не наблюдаю.

Откуда берется разница во времени при компиляции не ясно.

 
Nikolai Semko:

можно на MQL5 и нельзя на MQL4: Быстрая реализация мультисимвольного OnTick без применения OnTimer. Такое на MQL4 не реализовать.

Справедливости ради, мультисимвольный OnTick через миллисекундный таймер - вполне боевая машина.
 
fxsaber:
Справедливости ради, мультисимвольный OnTick через миллисекундный таймер - вполне боевая машина.

Понятно, что другого выбора нет, как через OnTick. А эффективность?

Во-первых будут пропущенные котировки, которые приходят более одного раза в промежутке между OnTick, а во-вторых, будет слишком много бесполезных считываний котировок. В десятки и сотни раз больше. И чем меньше пропущенных котировок благодаря уменьшению времени таймера, тем больше бесполезных считываний, и наоборот.

 
Nikolai Semko:

Понятно, что другого выбора нет, как через OnTick. А эффективность?

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

  1. Пропущенные котировки при миллисекундном таймере почти никакого отношения к ТС не имеют - ничего не успеть. Более того, эти котировки пришли мертвыми (из прошлого), т.к. есть лаг в несколько миллисекунд даже у MT5 с нулевым пингом. К сожалению, все котиры, что пришли в Терминал всегда имеют возраст > 2-5 мс.
  2. Выполнение OnTick вполне можно уложить в 1 мс.
  3. Если говорить о Тестере, то текущая реализация мультисимвольности через события - это супер тормоз. А через таймер - тормозов нет.
Поэтому в данном случае для боевого применения аргумент мультисимвольности не сильный.
 
fxsaber:
  1. Пропущенные котировки при миллисекундном таймере почти никакого отношения к ТС не имеют - ничего не успеть. Более того, эти котировки пришли мертвыми (из прошлого), т.к. есть лаг в несколько миллисекунд даже у MT5 с нулевым пингом. К сожалению, все котиры, что пришли в Терминал всегда имеют возраст > 2-5 мс.
  2. Выполнение OnTick вполне можно уложить в 1 мс.
  3. Если говорить о Тестере, то текущая реализация мультисимвольности через события - это супер тормоз. А через таймер - тормозов нет.
Поэтому в данном случае для боевого применения аргумент мультисимвольности не сильный.

Скорость тестера и компиляции меня интересует в N- ую очередь, главное скорость рабочего режима. Тем более, решение скорости теста это вопрос лишь времени. Тогда как в МТ4 уже ничего меняться не будет.

На счет аргумента не согласен. Поскольку в МТ5 у меня есть выбор, а в МТ4 нет. И если скорость в какой-то момент не важна, то можно и через таймер с обращением хоть 10 сек. Ну а если сумасшедшая волантильность, когда происходит самое интересное, то на счету не то что каждая мс, а каждая мкс. 
Тем более, что я рассказываю, Вы же спец по тиковым котировкам. Сколько за секунду может прийти тиков в момент, скажем, пейролса?