Вопросы (проблемы, пожелания) по программированию в MQL4 - страница 2

 
avm, мы уже думали над такой проблемой. только для хотя бы какой-то преемственности с языком си это должен быть нумератор (enum). во-вторых, возможные значения должны иметь символьных представителей для удобства выбора. например, в пользовательском индикаторе Moving Averages вместо
extern int MA_Method=0;


написать

extern enum MA_Method={Simple, Exponential, Smoothed, Linear_Weighted};


сделаем. но не сейчас.

 
Благодарю. Замечательно. Подождём. Но в преемственность с Си я бы не упирался. Пусть будет очень похоже на Си. И пусть в первоначальном варианте это будет всё-таки массив значений. Символьные представители, если необходимо я смогу уже описать и сам через макросы, если понадобится большая понятность или красивость программы. При таком подходе я сам смогу выбрать, как мне описать или использовать тот же самый MA_Method:
extern enum MA_Method={0,1,2,3}


или

#define Simple 0
#define Exponential 1
.....
extern enum MA_Method={Simple, Exponential, Smoothed, Linear_Weighted};}


И еще, почему именно массив значений. В программах индикаторов и экспертов очень много либо переключателей либо операторов сравнения. Т.е. сплошной "выбор", "математики" почти нет. А с числами работать гораздо удобнее. Числа, это периоды, уровни, цены... Всё это, конечно, имхо...

 
Разработчикам
Создание (и управление) объекта TextLabel из MQL4 уже возможно, или еще нет?
 
Создание (и управление) объекта TextLabel из MQL4 уже возможно, или еще нет?


К сожалению, константу не включили в компилер и хелп. Завтра к вечеру будет новый билд - там
все будет работать. Уже внесено множество исправлений в хелп файлы MetaEditor'а.
 
Подскажите, плз, где можно прочитать или как импортировать внешнего эксперта.
 
avm, посмотрите любой из наших скриптов, в которых есть строчка
#include <stdlib.mqh>


как раз реализован импорт внешнего эксперта (в нашем случае библиотеки stdlib.ex4). пусть Вас не смущает, что stdlib.mq4 объявлен библиотекой.
библиотека имеет 2 главных отличия:
1. из библиотеки не удаляются неиспользуемые функции
2. у библиотеки нет стартовой точки входа, то есть, её нельзя запустить самостоятельно. однако, функции init и deinit отрабатывают при загрузке и выгрузке библиотеки

следует отметить ещё вот что. в mql4 нет квалификации имён, поэтому Вы не сможете вызвать функцию start импортируемого эксперта, если в вызывающей программе тоже есть функция start