Полезный совет. Ускорение работы. Оператор if() - страница 2

 
DDFedor:

МТ6, вероятно, будет не скоро. Но Вы можете уже сейчас создать ветку, подобную этой.

https://www.mql5.com/ru/forum/119609 Тогда у Вас будет привилегированное право открывать другим глаза на то, что известно только Вам одному.


Ветку прочитал, Вы о чем это?
 

Под объединением МТ4 и МТ5 я имел ввиду объединение объектно орентированого программирования с возможностью выставить несколько ордеров одновремено.
Прежде пользовался другим программным обеспечением иных разработчиков по типу МТ5, но мне это не подходило. Тогда стал искать другое и нашел МТ4, чему был несказанно рад! Я действую системно, ставить несколько ордеров одновременно для меня принципиально важно.
На МТ5. Сложность программы вырастает в разы. Мне предлагается открыть ни меньше чем закон термодинамики: свести всё к единой переменной и ею оперировать.
В МТ6 пусть это будет не бесконечно возможное количество ордеров, а ограниченное(фиксированное). Например, не более 50 ордеров всего, или не более 10 ордеров на одну пару. Но так как сейчас оставлять - нельзя.
В МТ4 мне хватает структур, и указателей на функции. В остальном меня все устраивает.

PS Алгоритм реализованный на МТ4 не возможно реализовать на МТ5. Наоборот, написанное на МТ5 легко перевести на МТ4. МТ4 дает больше возможностей.

 
peshihod:


В МТ6 пусть это будет не бесконечно возможное количество ордеров, а ограниченное(фиксированное). Например, не более 50 ордеров всего, или не более 10 ордеров на одну пару. Но так как сейчас оставлять - нельзя.

Спуститесь с небес на землю... :-)))
 
peshihod:


PS Алгоритм реализованный на МТ4 не возможно реализовать на МТ5. Наоборот, написанное на МТ5 легко перевести на МТ4. МТ4 дает больше возможностей.

Упс ...

Вот это новость :)))

 
peshihod: Ветку прочитал, Вы о чем это?
Фишка в том, что ветка появилась до того, как стал доступен компилятор "пятеры".
 
peshihod:

PS Алгоритм реализованный на МТ4 не возможно реализовать на МТ5. Наоборот, написанное на МТ5 легко перевести на МТ4. МТ4 дает больше возможностей.

Гы. И каких, конкретно, возможностей в MT5 меньше чем в MT4, кроме бессмысленной возможности иметь локи? Назовите пожалуйста.
 
peshihod:

Тема такая: чем отличаются варианты друг от друга?

Вариант 1 if( (A==w) && (B==r) && (C==x) && (D==y) && (E==z) )...

Вариант 2 if(A==w) if(B==r) if(C==x) if(D==y) if(E==z) ...

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

Тестировал в равных условиях, т.е. изменял одну только строчку. По варианту1 тестировалось больше часа, по варианту2 прошло за 10 минут!

Всем рекомендую. Интересно, у кого на сколько сократилось время?


Любопытно, как это открытие может помочь или навредить, если условием входа в рынок является именно if( (A==w) && (B==r) && (C==x) && (D==y) && (E==z) )... ?
 
DhP:

Любопытно, как это открытие может помочь или навредить, если условием входа в рынок является именно if( (A==w) && (B==r) && (C==x) && (D==y) && (E==z) )... ?

Это открытие может только замедлить открытие или закрытие сделок. Хотя не существенно. Актуально при оптимизации. Свои исследования по этому поводу я выкладывал около года назад.
 
DhP, в MQL4 условия оцениваются полностью. А в данном случае о ложности всей конъюнкции часто можно судить, еще не вычислив ее полностью. Фактически система вложенных if() как раз и позволяет выйти из вычисления раньше, т.е. сделав его быстрее.
 
Vinin:

Это открытие может только замедлить открытие или закрытие сделок. Хотя не существенно. Актуально при оптимизации. Свои исследования по этому поводу я выкладывал около года назад.

Пожалуйста, приведите ссылку на отчет исследований.

Или не поленюсь найти их.

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