Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
разница языков может и минимальна, но часто бывают случаи, когда поведение некоторых мелких функций разное. Пишешь на 4 вставляешь в 5 компилятор молчит, ставишь на график и начинаешь искать что зачем выполняется..и почему работает так а не как в 4
Странно.
Примеры таких функций, конечно, есть (например функция объединения строк) - но все же это редкость, в подавляющем большинстве случаев компилятор укажет на ошибку. На мой взгляд, это небольшие отличия в проектировании, и говорить об "различной сложности" здесь нельзя.
Pavel Verveyko:
примеров приводить не буду, скажу одно каждый раз приходится мудрить в 5 как там это работает(
пишу сначала на 4, потому как проверяю поэтапно каждый блок и хочу быть уверен, что если, что то не так, то это я не так написал; с 5 такой уверенности до сих пор нет(
если за "одинаковостью" нужно специально следить разве это одинаково..
Тоже странно, если КАЖДЫЙ РАЗ мудришь - то легко можешь привести пример такой разности работы. Я вот, кроме как вышеупомянутую функцию объединения строк - и припомнить ничего не могу.
Есть разница в работе с индикаторами и торговыми функциями - но это обуславливается разностью платформ, и тут следует сразу "оборачивать" платформозависимые вещи дефайнами, чтобы иметь на выходе - платформонезависимый интерфейс.
Хотелось бы поглядеть на пример кода, который будет работать на пятерке иначе, чем на четверке.
Я уж не говорю, что писать изначально надо на пятерке, и потом - проверять на четверке (хотя, когда написаны кроссплатформенные классы - даже этого не надо).
я тут подумал , может я просто не занимался "кроссплатформенностью" целенаправленно отсюда такое отношение.
и я Вас ввёл в заблуждение, извините) - мелкие функции имел ввиду мои написанные функции которые за счёт разности программ работают иначе. речь не о функциях языка.
разница в том что это разные программы в которых различия: в 5 нужно специально подготавливать данные, индикаторные массивы в разную сторону, в 5 отсутствуют не которые функции которые указаны в этой статье https://www.mql5.com/ru/articles/81 , раньше было замечено что 4 не так критична воспринимает отсутствие например ChartRedrow я сейчас уже так не вспомню остальное(
я вот всерьёз задумался а может и правда продумать все различия в языках и вписать на уровне препроцессора.
я так понимаю это нужно вписать в двух вариантах- организация предопределённых переменных, направлений массивов в индикаторах если нужно конечно (я привык как в 4), получение данных из индикаторов, функции которых нет в 5, и использование одинаковых торговых классов из библиотеки. и тогда будет кросс платформенный код, верно или что то ещё нужно? и не использовать функции ObjectGet то есть без типа в имени так как в 5 такой нет.
а вот пример - код компилируется в обоих компиляторах.
(белая рамка перемещается мышью за ней синхронно двигается чёрный квадрат)
но в MT5 так не работает расстояние нарушается (значит где то есть разница в обработке функций)
кстати, меня в последнее время очень часто просят написать кроссплатформенный код
при навыке никаких проблем
кстати, меня в последнее время очень часто просят написать кроссплатформенный код
при навыке никаких проблем
это один [ √ ] перетекания сообщества из MQL4 в MQL5
думал куда написать .. решил сюда)
в справке 4 и 5 отличается ADX : в 5 нельзя выбрать по какой цене будет построен индикатор,
1 это ошибка?
2 по какой цене строится индикатор в мт5?
мт4
мт5
думал куда написать .. решил сюда)
в справке 4 и 5 отличается ADX : в 5 нельзя выбрать по какой цене будет построен индикатор,
1 это ошибка?
2 по какой цене строится индикатор в мт5?
мт4
мт5
По этому поводу задавал вопрос в СД (2017.05.03 18:23, #1734753). Ответа нет до сих пор.
https://www.mql5.com/ru/forum/1077/page3
7 лет споров
Правильно ли я понимаю, что единственное (если глобально) что осталось аргументом противников 5-ки и оспаривается много лет, это то что поднималось давно в этой ветке ниже?
Нет.
Тамошний спор так, на уровне "хочется странного, а вы должны его сделать". Ничего не меняется, разве что поводов на самом деле становится меньше.
Нет.
Тамошний спор так, на уровне "хочется странного, а вы должны его сделать". Ничего не меняется, разве что поводов на самом деле становится меньше.
думал куда написать .. решил сюда)
в справке 4 и 5 отличается ADX : в 5 нельзя выбрать по какой цене будет построен индикатор,
1 это ошибка?
2 по какой цене строится индикатор в мт5?
мт4
мт5
1) Это не ошибка.
В MetaTrader 5 у стандартных индикаторов мы убрали встроенные костыли с лишними параметрами. Кроме того, индикаторные iXXX функции в MQL5 стали конструкторами и потеряли возможность выдавать фактические данные, так как возвращают хендл.
Сами данные индикаторов извлекаются через массовые CopyBuffer функции с указанием хендла индикатора и требуемых буферов. Упор делается именно на возможность сразу извлечь большой массив (100, 1000, 1000) результатов, а не лазать затратно за каждым значением вглубь iXXX функций, как это делается в МТ4.
2) ADX вычисляется на основе +DI, -DI, которые в свою очередь фиксированны по логике вычислений (high, low, close) и не имеют возможности выбирать от чего считать.
В поставке MetaTrader 5 есть полный исходный код ADX в MQL5\Indicators\Examples\ADX.mq5