Новый синтаксис MQL4 - страница 2

 
Ovo:

Как отличить новый синтаксис?

Мне кажется, что для обозначения "нового" синтаксиса и "оригинального" синтаксиса нужно другое слово. Похоже, что MQ не заботится об официальных названиях и продолжает делать вид, что они совместимы.

Так что, похоже, нам придется самим искать подходящие названия. Какие есть предложения? MQL4 V2, OMQL4 (т.е. Object-), MQL4.1 ...?

Я не понимаю, в чем, собственно, ваша проблема?
 
Моя проблема заключается в том, что у нас есть 2 разных языка сценариев с одинаковыми именами.
 
Ovo:

Как отличить новый синтаксис?

Мне кажется, что для обозначения "нового" синтаксиса и "оригинального" синтаксиса нужно другое слово. Похоже, что MQ не заботится об официальных названиях и продолжает делать вид, что они совместимы.

Так что, похоже, нам придется самим искать подходящие названия. Какие есть предложения? MQL4 V2, OMQL4 (т.е. Object-), MQL4.1 ...?

Я бы предложил mql4.5, но в действительности это, вероятно, mql4.99.
 
RaptorUK:
Я бы предложил mql4.5, но в действительности это, вероятно, mql4.99.


Лол, вы правы. Он гораздо ближе к MQL5, чем к MQL4, но интеграция нового со старым сделала его довольно грязным.

Я понимаю, что под 4.5 вы подразумеваете четыре с половиной, но, к сожалению, это похоже на версионность, где 4.4 должна существовать, если ссылаются на 4.5. Итак... 4+ ?

 
Ovo:


Лол, вы правы. Он гораздо ближе к MQL5, чем к MQL4, но интеграция нового со старым сделала его довольно грязным.

Я думаю, вы слишком вежливы. . . Вспоминается кластерный флоп...

Ovo:

Я понимаю, что под 4.5 вы подразумеваете четыре с половиной, но, к сожалению, это похоже на версионность, где 4.4 должна существовать, если ссылаются на 4.5. Так что... 4+ ?

mql4+ или mql4n для новых ... это не имеет значения, пока большинство людей понимает, что имеется в виду. У меня нет топора для измельчения ... давайте начнем опрос ... о, мы не можем, мы можем делать опросы только на форуме mql5 ... интересно, сколько времени пройдет, прежде чем MT4 будет запланирован к отказу, потому что ... "легко перенести mql4+ на mql5".
 

Я немного поиграл с функциями, которые имеют как MQL4, так и MQL5 реализацию, перечисленную в файле справки, например, MarketInfo(), Account...(), iCustom().

Я понял, что те из них, которые появились в MQL5, в основном еще не реализованы. По крайней мере, они не поддерживаются ни редактором, ни компилятором. Так что на данный момент полностью доступны только MQL4 (хотя я не говорю, что без ошибок).

PS. Как новичок в синтаксисе MQL5 я был ошеломлен дизайном вызова пользовательского индикатора: кодер должен создать объекты, поместить их в массив и передать функции в качестве параметра, а функция возвращает .... на удивление хэндл к чему-то. Довольно неудачный дизайн. Когда я использую объекты, то ожидаю возврата объекта, либо вообще не заморачиваюсь с объектами. К счастью, эта команда тоже пока не работает.

 

Кто-нибудь пробовал использовать #property icon? В документации сказано, что нужно указать путь к папке в основной директории MT4.

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

В итоге я поместил иконку в папку, о которой говорится в ошибке (папка experts в виртуальном хранилище), и я не указывал путь, я использовал #property icon "myicon.ico".

это работает, но я не хочу, чтобы мои иконки были в одной папке с экспертами, я хочу указать папку, как сказано в документации, но она не позволяет мне это сделать.

Я попробовал использовать папку images в виртуальном магазине, но он выдает ту же ошибку, он хочет позволить мне использовать только папку virtual store\experts и без указания пути.

Также, если кому-то нужно создать иконки, я нашел аккуратное онлайн-приложение для конвертации, которое создает иконки из файлов изображений.

 
SDC:

Кто-нибудь пробовал использовать #property icon? В документации сказано, что нужно указать путь к папке в основной директории MT4.

Здесь ? terminal_data_directory\MQL4\Files

Я думаю, что ваши файлы должны быть в структуре папок terminal_data_directory\MQL4\.
 

Компилятор выдает ошибку, когда я указываю путь к иконке в директории terminal_data_directory, ошибка говорит, что невозможно открыть файл в папке виртуального хранилища, хотя я не указал папку в виртуальном хранилище. Я указываю папку в каталоге_данных_терминала.

Единственный способ заставить его работать - поместить файл в ту же папку, что и исходный код, и не указывать путь вообще, просто #property icon "MyIcon.ico".

 
SDC:

Компилятор выдает ошибку, когда я указываю путь к иконке в директории terminal_data_directory, ошибка говорит, что невозможно открыть файл в папке виртуального хранилища, хотя я не указал папку в виртуальном хранилище. Я указываю папку в каталоге_данных_терминала.

Единственный способ заставить его работать - поместить файл в ту же папку, что и исходный код, и не указывать путь вообще, просто #property icon "MyIcon.ico".

У меня это сработало, но я использовал переключатель /portable, возможно, в этом была разница. Я предполагаю, что вы используете UAC, поэтому я думаю, что вам нужно поместить ваш файл в виртуальное хранилище, а не непосредственно в структуру папок terminal_data_directory\MQL4\.