Обсуждение статьи "LifeHack для трейдера: готовим фастфуд из индикаторов" - страница 13
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
- у Вас был красивый код и описание результатов замеров.
Я код посмотреть не успел
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "LifeHack для трейдера: готовим фастфуд из индикаторов"
Vasiliy Sokolov, 2018.01.29 10:43
Выкладываю свою версию измерения. За базовую версию советника был взят MACD Sample One value at a 5. В него были внесены небольшие изменения. Т.к. все значения индикаторов собираются в одном месте было не сложно сделать простую макроподстановку: Выводы думаю очевидны: при вызове индикаторов в MQL4 режиме, скорость ниже на 40%.
MQL5-style
MQL4-style (без кеша)
MQL4-style (с кешем)
На 32% медленнее кешевый вариант, по сравнению с MQL5-style. Что же касается безкешевого варианта, то упомянутых 40% получить не удалось. Как и прежде, в два раза медленнее. Но совпадение по профиту, конечно, присутствует.
Извините, но я даже не понимаю, почему эта статья была допущена к публикации Metaquotes.
Основными преимуществами индикаторного хэндла в mql5 является возможность получить несколько значений из буфера, полностью отбросив его. И это для того, чтобы предоставить код, который будет значительно менее эффективным большую часть времени! Я даже не говорю о плохой практике кодирования, состоящей в том, чтобы не проверять возвращаемое значение функции.
Эта статья бесполезна или даже хуже. Не удивляйтесь, что люди хотят продолжать использовать mql4.
Извините, но я даже не понимаю, почему эта статья была допущена к публикации Metaquotes.
Основными преимуществами индикаторного хэндла в mql5 является возможность получить несколько значений из буфера, полностью отбросив его. И это для того, чтобы предоставить код, который будет значительно менее эффективным большую часть времени! Я даже не говорю о плохой практике кодирования, состоящей в том, чтобы не проверять возвращаемое значение функции.
Эта статья бесполезна или даже хуже. Не удивляйтесь, что люди хотят продолжать использовать mql4.
Если я запускаю простой iVolume в цикле, по всем доступным инструментам, на MQL5, то платформа просто замирает, массивные вызовы copybuffer действуют как ddos-атака на операционную систему, она просто отключается, тогда как если я выполняю тот же процесс на MQL4, он работает гладко, как пачка горячего расплавленного масла.
На одной и той же машине, и это говорит мне больше, чем я должен знать.
В сочетании со всеми сигналами и шумом, исходящими от сообщества, это говорит мне о том, что мои выводы были правильными с самого начала.
Проблема в том, почему я должен копировать буфер каждый раз, когда мне нужно прочитать значение индикатора? Буфер уже есть, он уже вычислен, почему я не могу получить доступ к его значению напрямую?
Это бессмыслица!
У меня должен быть только прямой доступ к буферу индикатора, копирование его снова и снова будет только ухудшать производительность.
Я действительно не понимаю, почему Metaquotes придерживается такого способа работы.
CopyBuffer(...) vs buffer[i] ?
Проблема в том, почему я должен копировать буфер каждый раз, когда мне нужно прочитать значение индикатора? Буфер уже есть, он уже вычислен, почему я не могу получить доступ к его значению напрямую?
Это бессмыслица!
У меня должен быть только прямой доступ к буферу индикатора, копирование его снова и снова будет только ухудшать производительность.
Я действительно не понимаю, почему Metaquotes пошла по этому пути.
CopyBuffer(...) vs buffer[i] ?
Потому что это не так просто. Индикатор работает в одном потоке, а советник - в другом (и у вас может быть несколько индикаторов/несколько советников). Если вы жалуетесь на такую простую процедуру, как handle/CopyBuffer, то, поверьте, вы не хотите работать с многопоточным приложением.
mql5 предоставляет общие решения, способные справиться с большинством "нормальных" ситуаций. Если у вас есть конкретная проблема в вашем проекте, то решение всегда найдется.