Ваши вопросы по языку MQL4

Walt6730

Новичок форума
Надо смотреть, какие параметры в iCustom() передаются. 600 билд не делает приведения типов параметров, как раньше было, отсюда ошибка.

Ну код, в общем-то, стандартный. Вот кусочек:

{
if (Close[1] > iCustom(NULL, NULL, "Signal Line",12,3,0,2,1))
{

Остальные - по тому же принципу.
 

qqmber

Почетный гражданин
Чего он не делает, простите?

Раньше NULL легко превращался в целый 0, а возможно им и был #defined.
Теперь это перестало работать, хотя я и не вижу серьезной причины. Надо новую спецификацию языка прочитать, что они еще удумали.
 

Dom

Гуру форума
Уважаемые программисты! Где можно получить информацию об изменениях в MQL4 и как исправлять советники под новые билды или специально подводится материальная основа? Ответе пожалуйста. Буду очень признателен. Гуглил, ничего не нашел. Извините если кто то уже задавал эти вопросы!
 

qqmber

Почетный гражданин
Уважаемые программисты! Где можно получить информацию об изменениях в MQL4 и как исправлять советники под новые билды или специально подводится материальная основа? Ответе пожалуйста. Буду очень признателен. Гуглил, ничего не нашел. Извините если кто то уже задавал эти вопросы!

В новом справочнике в самом верху есть раздел Updated MQL4.
Активная дискуссия ведется на форуме mql4.com
 

ansol

Местный знаток
Как все-таки находить експертов, которые редактировал?
 
Последнее редактирование модератором:

1comrad

Местный житель
кто поможет по build 600???

при компиляции сова выдаёт предупреждение для строки 990:
declaration of 'col' hides global declaration at line 124

строка 124 color col;
......................................................
строка 990 void DrawLine(string name,double price, color col, int w)
строка 991{
строка 992 if (ObjectFind(name)<0) ObjectCreate(name,OBJ_HLINE,0,0,price);
строка 993 else ObjectMove(name,0,Time[1],price);
строка 994 ObjectSet(name,OBJPROP_COLOR,col);
строка 995 ObjectSet(name,OBJPROP_WIDTH,w);
строка 996}
 
Последнее редактирование:

Ugar

Гуру форума
Какие все-таки умные программеры в метаквотас!
А уж в этом форуме отписываются самые умные - куда бежать!
На ходу менять правила языка - ...(!)
Да, тут "некоторые" разорялись что язык не удобный и что метаквоты не прислушиваются к просьбам улучшить.
Теперь классы, структуры, виртуальные функции и ещё много всякой лабуды не приносящей никакой прибыли на бирже.
В конце концов, старый язык "некоторые" толком не знали, будут изучать сразу новый. Довольны? Кушайте, не обляпайтесь.
А вот тем кто уже неплохо знал язык, придётся переучиваться. Ну что же делать, будем изучать.
 

ShadowCandle

Гуру форума
Да, тут "некоторые" разорялись что язык не удобный и что метаквоты не прислушиваются к просьбам улучшить.
Теперь классы, структуры, виртуальные функции и ещё много всякой лабуды не приносящей никакой прибыли на бирже.
В конце концов, старый язык "некоторые" толком не знали, будут изучать сразу новый. Довольны? Кушайте, не обляпайтесь.
А вот тем кто уже неплохо знал язык, придётся переучиваться. Ну что же делать, будем изучать.
Ну пока не всё так плохо, старый язык новый компилятор тоже нормально кушает, ну иногда разве что с небольшими корректировками :) :?:
 

ShadowCandle

Гуру форума
кто поможет по build 600???

при компиляции сова выдаёт предупреждение для строки 990:
declaration of 'col' hides global declaration at line 124

строка 124 color col;
......................................................
строка 990 void DrawLine(string name,double price, color col, int w)
строка 991{
строка 992 if (ObjectFind(name)<0) ObjectCreate(name,OBJ_HLINE,0,0,price);
строка 993 else ObjectMove(name,0,Time[1],price);
строка 994 ObjectSet(name,OBJPROP_COLOR,col);
строка 995 ObjectSet(name,OBJPROP_WIDTH,w);
строка 996}
А что вас смущает? Компилятор выдаёт предупреждение (ранее это просто не указывалось, но работало точно также), примерный перевод, что переобъявление переменной "col" в параметрах функции "скрывает" видимость глобальной переменной "col" в этом блоке :) Учите английский и учитесь программировать и всё будет просто и понятно ;) :?:
 

ShadowCandle

Гуру форума
Как все-таки находить експертов, которые редактировал?
Правой клавишей мыши по навигатору в редакторе над необходимым экспертом/индикатором и в выпадающем меню нажать "открыть папку", там и сидит ваш код :)
 
Последнее редактирование модератором:

qqmber

Почетный гражданин
кто поможет по build 600???

при компиляции сова выдаёт предупреждение для строки 990:
declaration of 'col' hides global declaration at line 124

строка 124 color col;
......................................................
строка 990 void DrawLine(string name,double price, color col, int w)
строка 991{
строка 992 if (ObjectFind(name)<0) ObjectCreate(name,OBJ_HLINE,0,0,price);
строка 993 else ObjectMove(name,0,Time[1],price);
строка 994 ObjectSet(name,OBJPROP_COLOR,col);
строка 995 ObjectSet(name,OBJPROP_WIDTH,w);
строка 996}

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

Ugar

Гуру форума
Ну пока не всё так плохо, старый язык новый компилятор тоже нормально кушает, ну иногда разве что с небольшими корректировками :) :?:
В том то и дело что пока, требуются небольшие корректировки.
Запросто могут, в одном из следующих билдов ещё улучшить, выкинув большинство "устаревших" функций.
 

qqmber

Почетный гражданин
В том то и дело что пока, требуются небольшие корректировки.
Запросто могут, в одном из следующих билдов ещё улучшить, выкинув большинство "устаревших" функций.
Это вряд ли. На пачку устаревших функций в старом mql4 никто не покушался.
Меня больше беспокоит, как бы следующим шагом не устроили бекпорт логики исполнения ордеров из 5.
 

ansol

Местный знаток
Да, тут "некоторые" разорялись что язык не удобный и что метаквоты не прислушиваются к просьбам улучшить.
Теперь классы, структуры, виртуальные функции и ещё много всякой лабуды не приносящей никакой прибыли на бирже.
В конце концов, старый язык "некоторые" толком не знали, будут изучать сразу новый. Довольны? Кушайте, не обляпайтесь.
А вот тем кто уже неплохо знал язык, придётся переучиваться. Ну что же делать, будем изучать.

"Некоторые" может и разорялись.
А метаквоты гнут своё - им очень нравится мт5 и новый мт4 так и прёт к нему.
Они решили замучать юзеров.
Как говорится - хрен с ними!
Ищу ДЦ с нормальными терминалами!

08.02.2014 10:13 <DIR> 2E6A005861382433BE12963DE9029B61
08.02.2014 10:10 <DIR> 67F1E5A5DB61EA1526B4C9514856BF08
07.02.2014 20:29 <DIR> 7DD286D94BE1BACE5C200FB77E6A49B3
08.02.2014 10:13 <DIR> 98A7940873ADD98FEDE691BD6A882AA7
08.02.2014 10:14 <DIR> 9B4D1398F368C1FFBDB6892A86616B24
08.02.2014 10:11 <DIR> B0BB30171FADE3B856D3DAE3AEB56499
08.02.2014 11:00 <DIR> Common
05.02.2014 11:23 <DIR> Community
08.02.2014 10:19 <DIR> Help

Как я должен узнать, где какой ДЦ?
 
Последнее редактирование модератором:

ShadowCandle

Гуру форума
"Некоторые" может и разорялись.
А метаквоты гнут своё - им очень нравится дебильный мт5 и новый мт4 так и прёт к нему.
Они решили замучать юзеров.
Как говорится - хрен с ними!
Ищу ДЦ с нормальными терминалами!

08.02.2014 10:13 <DIR> 2E6A005861382433BE12963DE9029B61
08.02.2014 10:10 <DIR> 67F1E5A5DB61EA1526B4C9514856BF08
07.02.2014 20:29 <DIR> 7DD286D94BE1BACE5C200FB77E6A49B3
08.02.2014 10:13 <DIR> 98A7940873ADD98FEDE691BD6A882AA7
08.02.2014 10:14 <DIR> 9B4D1398F368C1FFBDB6892A86616B24
08.02.2014 10:11 <DIR> B0BB30171FADE3B856D3DAE3AEB56499
08.02.2014 11:00 <DIR> Common
05.02.2014 11:23 <DIR> Community
08.02.2014 10:19 <DIR> Help

Как я должен узнать, где какой ДЦ?
Это не совсем они творят, а 7/8 винда, тем самым как-бы работает безопасность от изменения основных программ. Если запускать старый терминал (509 и ранее) без прав администратора будет что-то похожее...
Не надо слишком уж сильно ругать МТ, пока веских причин на это нет, а убирать старый вариант MQL они вряд ли станут, слишком много индикаторов и советников с потерянными исходниками перестанут работать, они это прекрасно понимают, но расширение возможностей кому-то действительно на руку, имхо, по мне так всё равно на каком языке программировать, главное чтобы было описание этого языка :)
Каждый должен заниматься своим делом, и тогда будет больше порядка...
 
Последнее редактирование модератором:

ShadowCandle

Гуру форума
В том то и дело что пока, требуются небольшие корректировки.
Запросто могут, в одном из следующих билдов ещё улучшить, выкинув большинство "устаревших" функций.
Всё может быть, хотя если бы они хотели сделать именно так, тогда просто бы внедрили сюда чистый MQL5 и не страдали бы полугодовым бетатестированием нового билда...
 

ansol

Местный знаток
Это не совсем они творят, а 7/8 винда, тем самым как-бы работает безопасность от изменения основных программ. Если запускать старый терминал (509 и ранее) без прав администратора будет что-то похожее...
Не надо слишком уж сильно ругать МТ, пока веских причин на это нет, а убирать старый вариант MQL они вряд ли станут, слишком много индикаторов и советников с потерянными исходниками перестанут работать, они это прекрасно понимают, но расширение возможностей кому-то действительно на руку, имхо, по мне так всё равно на каком языке программировать, главное чтобы было описание этого языка :)
Каждый должен заниматься своим делом, и тогда будет больше порядка...
Врать нехорошо! оО
Ничего похожего нет и не было никогда! Если приложение называется "Уродыинста", то и папка будет называться в "документс энд сеттингз" как "уродыинста", не не как в вышеприведенном примере!
Вот это:
2E6A005861382433BE12963DE9029B61
Придумали метаквоты.
Попробуйте доказать обратное
 
Последнее редактирование модератором:

ansol

Местный знаток
Да! И если метаквоты правы, то вы знаете, от какого ДЦ эта папка, да?
Я вот и не знаю. Помогите!
 
Последнее редактирование модератором:
Верх