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

 
George Merts:

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

Да нет же. Все как раз наоборот.

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

 
Andrei:

Да нет же. Все как раз наоборот.

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

Нет. Это ошибка. Как раз блокировка ограничивает тебя от этих самых ошибок.

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

Где тут по-твоему, место для ошибки ?

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

Нужна позиция ? Запросил, получил интерфейс, который тебе не дает ничего лишнего. Ты не имеешь доступа ни к объекту, который эту позицию содержит, ни к каким промежуточным буфферам, вобще ни к чему, кроме конкретно того, в чем заключался твой запрос. Ты даже не можешь сказать, на какой именно платформе работаешь, что конкретно у тебя открыто - то ли МТ4-ордер, то ли МТ5-Хедж-позиция, то ли МТ5-Нетт-позиция. Ты это можешь узнать, запросив соответствующие интерфейсы в другом месте, но там - ты не будешь иметь доступа к позициям.

Сам я когда-то тоже был сторонником прямого доступа к любым структурам данным программы. Однако, по мере роста проектов - я убедился в ошибочности такого подхода.

Считаю очень верным принцип: пользователь имеет доступ исключительно только к тому, что запросил, и ни к биту больше.

 
fxsaber:

MT4 так популярен, потому что это был ПЕРВЫЙ терминал большинства трейдеров. MT5 же - не первый терминал большинства трейдеров. В этом и причина.

Разве были серьёзные проблемы с переходом на новый терминал? Проблемы - с переходом на новый язык MQL5. Представьте что первым был бы 5 - переход с него на MQL4 прошёл бы со свистом. Причина не в трейдерах, а в языке - эта революция не была ориентирована на масс-пользователя MQL или хотя бы адаптирована для него. Поэтому ущемлённый масс-пользователь и запищал

 
Alexander Puzanov:

Разве были серьёзные проблемы с переходом на новый терминал? Проблемы - с переходом на новый язык MQL5. Представьте что первым был бы 5 - переход с него на MQL4 прошёл бы со свистом. Причина не в трейдерах, а в языке - эта революция не была ориентирована на масс-пользователя MQL или хотя бы адаптирована для него. Поэтому ущемлённый масс-пользователь и запищал

Да нету никаких проблем "с переходом на новый язык", поскольку все конструкции языка MQL4 - прекрасно работают в MQL5.

Разница - лишь в некоторых функциях, и в протоколах работы с торговыми приказами.

 
Alexander Puzanov:

Разве были серьёзные проблемы с переходом на новый терминал? Проблемы - с переходом на новый язык MQL5. Представьте что первым был бы 5 - переход с него на MQL4 прошёл бы со свистом. Причина не в трейдерах, а в языке - эта революция не была ориентирована на масс-пользователя MQL или хотя бы адаптирована для него. Поэтому ущемлённый масс-пользователь и запищал

Мы говорим не про меня, и не про Вас. А про массового (среднего) пользователя. Который понятия не имеет об языках.

Если взять среднего пользователя QUICK, то он с большим скрипом пересядет на MT5. Потому что он УЖЕ знает QUICK, но ЕЩЕ не знает MT5. Всему причина лень, а не языки программирования.

И всякая аргументы, что вот в квике есть опционы, а в MT5 - нет. Поэтому не переходят. Эти аргументы ерунда. Причина в банальной лени.

 
George Merts:

Да нету никаких проблем "с переходом на новый язык", поскольку все конструкции языка MQL4 - прекрасно работают в MQL5.

Разница - лишь в некоторых функциях, и в протоколах работы с торговыми приказами.

Все зависит от уровня пользователя.

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

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

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

Все они рассуждают примерно так: "Да, мой код на МТ4 менее быстр и профессионален, и пусть в нем больше помарок и легких ошибок, но он работает! Что будет если я его перепишу? "

И задают схожие вопросы: "Зачем мне переходить если меня все устраивает? Что я получу, если перейду? Сколько времени займет переписывание кода? Будет ли код работать по прежнему?"

Кодо-база под МТ4 богаче. Для многих это очень важно, ведь это способствует их развитию.

Давай будем объективными и составим "портрет" среднестатистического форекс-трейдера.

  1. Кто он?
  2. Каков его уровень владения программированием?
  3. На что ему хочется тратить время - на проверку своих торговых идей, или на повышение профессионализма написания программ?
  4. Зачем ему награмождающаяся сложность инструментария, когда основная задача перед ним - быстрая компоновка и проверка своих стратегий?

Разве не будет он пользоваться тем инструментом, с которым можно легче и быстрее получить результат?

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

  • "Ребята, не надо меня лечить".
  • "Я сам знаю, что для меня лучше".
  • "Возможности нового языка не гарантируют, что я получу с рынка больше денег."
  • " Мои стратегии не требуют использовать инструментарий такой сложности. "
 
Реter Konow:

Все зависит от уровня пользователя.

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

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

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

Все они рассуждают примерно так: "Да, мой код на МТ4 менее быстр и профессионален, и пусть в нем больше помарок и легких ошибок, но он работает! Что будет если я его перепишу? "

И задают схожие вопросы: "Зачем мне переходить если меня все устраивает? Что я получу, если перейду? Сколько времени займет переписывание кода? Будет ли код работать по прежнему?"

Кодо-база под МТ4 богаче. Для многих это очень важно, ведь это способствует их развитию.

Давай будем объективными и составим "портрет" среднестатистического форекс-трейдера.

  1. Кто он?
  2. Каков его уровень владения программированием?
  3. На что ему хочется тратить время - на проверку своих торговых идей, или на повышение профессионализма написания программ?
  4. Зачем ему награмождающаяся сложность инструментария, когда основная задача перед ним - быстрая компоновка и проверка своих стратегий?

Разве не будет он пользоваться тем инструментом, с которым можно легче и быстрее получить результат?

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

  • "Ребята, не надо меня лечить".
  • "Я сам знаю, что для меня лучше".
  • "Возможности нового языка не гарантируют, что я получу с рынка больше денег."
  • " Мои стратегии не требуют использовать инструментарий такой сложности. "

+100!

К этому надо добавить, что если заниматься торговыми идеями ( а именно они потенциально приносят деньги), то банально не хватает время на изучение программирования. И более того, даже если владел программированием, то в этой ситуации остаются в голове самые примитивные навыки программирования.

 
Реter Konow:

Все зависит от уровня пользователя.

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

Да, все верно.

Выше fxsaber - совершенно правильно сказал про лень. Ну влом что-то изменять, если все и так работает.

 
Реter Konow:

И задают схожие вопросы: "Зачем мне переходить если меня все устраивает? Что я получу, если перейду? Сколько времени займет переписывание кода? Будет ли код работать по прежнему?"

Кодо-база под МТ4 богаче. Для многих это очень важно, ведь это способствует их развитию.ч

Это абсолютно не соответствует фактам. Публикаций по MQL5 в Codebase уже больше , чем на MQL4 - если сравнивать только русскую часть.

А если посмотреть глазами англоязычного пользователя, то MQL5 побеждает с огромным отрывом. Не говоря уже об азиатских(китайский и японский) и остальных европейских языках (немецкий/испанский/португальский). 

 
Rashid Umarov:

Это абсолютно не соответствует фактам. Публикаций по MQL5 в Codebase уже больше , чем на MQL4 - если сравнивать только русскую часть.

По количеству авторов нужно смотреть.