Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В таком ключе и C++ от JavaScript ничем не отличается. И это правда!
Великолепнейшая ложь!
Приведите пример реализации на C++ функции, подобной функции eval() из Javascript'а:
То есть, запишем кусочек исходного текста на C++ в переменную типа std::string, а потом вызовем функцию eval(), которая исполнит этот кусочек кода, взятый из переменной типа std::string.
Предложите реализацию такой функции eval() на C++ (то есть, речь даже не об отсутствии такой функции, а самой возможности подобного в языке).
Наверное, излишне говорить, что это далеко не единственное отличие.
Ядро языка MQL4++ не отличается от ядра языка MQL5: тот же синтаксис, те же типы, операции, объекты, полиморфизм, перегрузка...
Отличается только библиотека, реализующая API советников, индикаторов, скриптов. В этом смысле в том же Javascript'е выделяются ядро языка и две объектные модели:
Структурно JavaScript можно представить в виде объединения трёх чётко различимых друг от друга частей:
И MQL можно представить в виде чётко различимых вещей: ядра языка и библиотек. Если ядро MQL4 отличается от ядра MQL4++, то ядро MQL4++ от ядра MQL5 уже не отличается.
Так что, Renat здесь абсолютно прав, и спорить с этим странно.
Точно. Особенно пользуясь авторитетом начальственного положения.
Все языки одинаковые, за небольшим исключением особо экстравагантных. Все они изучаются за 21 день любым чайником. У всех for, while, if, switch, может быть форма записи отличается, но принципиально от этого ничего не меняется.
Настолько поверхностное понимание, естественно, не даёт увидеть разницы. Вот и кажется, что - одинаковые.
Я бы с удовольствием побаловался функцией eval() не только в C++, но в MQL4++.
Напишете такую функцию, хотя бы на MQL4++, раз встроенной нет?
Это мне никак не написать, - для меня отличий между Javascript и MQL4++ слишком много.
Вы же утверждаете, что все языки одинаковые, и, соответственно, Javascript и MQL4++ - одно и то же, вам должно быть совсем просто её написать.
Вместо этого мы перешли на очень экономные CopyXXX функции, где разработчик точно запрашивает в локальный массив столько данных, сколько ему нужно, а не весь доступный график. Дальше идет максимально быстрая работа с локальными данными (вместо старого достаточно дорого Open/High/Low/Close/Time[xxx]), плюс автор может кешировать эти данные и экономно использовать их при следующем вызове. Экономия по памяти и CPU получается огромная. Кроме того, у самой платформы развязываются руки по управлению огромными базами - доступ к ним всегда по запросу(вместо неконтролируемого прямого) и это позволяет гибко управлять кешами.
Еще важно отметить, что простота обращения Open/High/Low/Close/Time[xxx] в MQL4 касалась только текущего символа и таймфрейма, а все остальные данные других символов и таймфреймов доставались через iClose/iLow(...) функции, что давало серьезнейшие тормоза. Переход в MQL5 на единую модель CopyXXX функций в корне улучшил ситуацию, дав возможность разработчикам одним запросом получать нужные куски данных и не делать многократные блокируемые вызовы (задумайтесь о блокировках в каждом одиночном вызове iClose).
Это не наши функции как и статья. Эта статья являет собой набор чудовищных костылей, но выпущена была для показа разницы.
Я сам многократно объяснял как раз по вопросам перехода на MQL5 и конкретно этой статьи, что нужно использовать новые возможности MQL5, а не лепить умопомрачительные костыли.
Если бы была документация, к которой прилагалось бы достаточное количество примеров, написанных, в том числе, исходя из грамотного использования новых возможностей MQL5, чтобы даже новички могли, как из кубиков, собирать под свои нужды код, не вникая сразу во все тонкости, и при этом их код все равно оставался бы, в целом, грамотным, благодаря достаточному количеству примеров и, опять же, коду примеров, написанного с грамотным использованием новых возможностей MQL5, то ситуация с MT5 могла бы быть не такой плачевной.
А, коль скоро вместо этого были статьи, в которых в качестве кода был использован "набор чудовищных костылей", имеем и отвергнутый MT5, и такое, вот, отношение к API в MQL5. Аудитория же, в подавляющем большинстве своём, - не профессиональные программисты. Естественно, это - не единственная причина "отверженности" MT5, но одна из основных.
Кого-то спросили:
- Почему если, предположим, существуют инопланетяне, то они не разговаривают с нами, не учат нас?
Ему ответили:
- Вы бы стали учить тараканов разговаривать? Почему вы этого не делаете?
Если бы была документация, к которой прилагалось бы достаточное количество примеров, написанных, в том числе, исходя из грамотного использования новых возможностей MQL5,
Документация MQL5 на 4000 страниц на 9 языках, огромная кодобаза в исходниках, 360 статей с переводами на 5 языков, форумы на 5 языках, где можно задать нужные вопросы и тд.
Все правильно он понял.
Еще точнее сказал Reshetov: https://www.mql5.com/ru/forum/153749/page4#998584
В общем и в целом наезды на МТ5 - это всего лишь гнилые отмазки тех, кто не хочет переходить на новый терминал или выдумки тех, кто об МТ5 только слышал звон, да не знает где он.
Все правильно он понял.
В общем и в целом наезды на МТ5 - это всего лишь гнилые отмазки тех, кто не хочет переходить на новый терминал или выдумки тех, кто об МТ5 только слышал звон, да не знает где он.
Вы не произнесли ни одной осмысленной фразы и не привели ни единого довода. Лишь эмоции.
Вы не произнесли ни одной осмысленной фразы и не привели ни единого довода. Лишь эмоции.
...
Где-то здесь недавно обсуждалось, какой язык программирования изучать. Один участник дал очень полезную рекомендацию - сначала русский (ну или любой другой, родной). Чтобы понимать о чем идет разговор.
В предложение "В таком ключе и C++ от JavaScript ничем не отличается." фразой "В таком ключе" выполняется определение (или уточнение) критерия сравнения. Поэтому возникает странный вопрос - "А о чем это вы сейчас здесь рассуждаете?"