Вопрос к MQ: По возможностям языка MQL4

 
Вопрос к MQ: По возможностям языка MQL4
Добрый день!

Спасибо за пример кода на языке MQL4.
Это даст общее представление о языке, особенно для новичнов.
Но этот пример не даёт никакого представления о прикладной стороне его применения.
Ренее Вы дали мне общее описание языка на мой вопрос - это почти С, и этого было вполне достаточно для меня, как для профессионала.
Но главное для меня понять, что может дать этот язык для системы в целом, его прикладные возможности.
А именно :
1) Набор функций для работы с таймсериями:
- работа с разными периодами,
- работа с несколькими разными символами,
- компрессия серий, фильтры котировок, и т.д.
2) Набор торговых функций
3) Набор функций ввода-вывода
4) Принципы функционирования эксперта в среде метатрейдера:
- вешается ли он на чарт, или управляет формированием чарта;
- когда и как запускается,
- когда инициализируется,
- когда активируется,
- взаимодействует ли с другими экспертами,
- наличие глобальных переменных
- работа с портфелем инструментов
- пре- и пост- процедуры и т.д.

На мой взгдяд, это самое главное, иначе даже такой язык как С
может оказаться мертво-рождённым.

Прошу дать подробную информацию по выше перечисленным вопросам.

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

С Уважением, NIL.
 
прикладные возможности
1. работа с тайм-сериями
- доступ к любым возможным символам и периодам
- использование любых доступных индикаторов к любой возможной таймсерии.
использование некоторых индикаторов на результатах ранее применённых индикаторов
(про компрессию серий, фильтры котировок пока ничего определённого сказать не можем)
2. полный набор торговых функций, в том числе с ручным подтверждением сделок. торговые операции будут производиться синхронно, то есть с ожиданием ответа от сервера. вы будете знать результат операции (и тикет нового ордера)
3. существующий набор функций ввода вывода будет расширен
4. эксперт может быть прикреплён к чарту и может управлять формированием чарта (вплоть до того, что вы сможете строить "кошерные" японские свечи)
- прикреплённый к чарту эксперт запускается на каждом тике, если только предыдущий тик уже обработан (это как сейчас)
- инициализируется либо при прикреплении к графику, либо при запуске терминала
- взаимодействие с другими экспертами только через глобальные переменные
- встроенной работы с портфелем пока не планируется, но вы сами сможете это запрограммировать
- будут предопределённые функции типа конструктора и деструктора
- из эксперта будет возможен полный доступ ко всем данным счёта, в т.ч. и к аккаунт хистори, чего сейчас нет. полный доступ к списку рисованных объектов (в том числе и "чужих" графиков)
- снимается односекундное ограничение на работу эксперта
- будет добавлена возможность вызова внешних функций из dll
- будет добавлено понятие "скрипт" - эксперт, запускающийся одноразово, по нажатию клавиши либо по какому-либо событию
- будет расширено количество индикаторных массивов. пользовательские индикаторы изнутри смогут управлять их количеством и свойствами.

необходимо упомянуть и об ограничениях.
в MQL4 нет адресной арифметики, нет типов данных char, float, struct, нет оператора goto
 
доступ к разным периодам и инструментам
необходимо учитывать следующие факты:
- время Time[0] другого инструмента может не совпадать со временем Time[0] текущего инструмента. это касается любого смещения.
- при тестировании бары чужих инструментов-периодов не моделируются (но по смоделированному значению CurTime будет отдаваться соответствующий бар)
 
RE:
>>>> - будет расширено количество индикаторных массивов. пользовательские индикаторы изнутри смогут управлять их количеством и свойствами.


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

И еще - язык - это чистый С или похожий на С. Или какой С - gcc or MVCC. Может сразу и либы для Linux?

Или привязки для Python?
 
бар не является объектом
но можно будет закрасить его любым цветом.

мы же уже писали про ограничения MQL4 - нет адресной арифметики, типов данных char, float, struct, оператора goto. зато есть тип данных string. так что речь может идти только о похожем на С языке.

к тому же (мы про это тоже писали на форуме) в результате компиляции получается не объектный код, а байт-код.
Причина обращения: