MetaEditor5 видит функции из mql4.

 
Установлено два Metatrade (4 и 5). С какого то момента в MetaEditor 5 начали подсвечиваться функции iClose, iOpen, iHighest, iLowest, которыя я написал самостоятельно. Попробовал закоментировать свои функции, и компилятор не выдает сообщение об ошибке, будто эти функции уже появились в Metatrade5. Запускаю модуль в отладчик, он код с функциями проглатывает, но не возвращает верные результаты. Где-то прошло пересечение оболочек MetaEditor 4 и 5. Помогает только полное удаление Metatrade 4 и 5.
 

Подтверждаю: установлены MT5 и MT4. MetaEditor 1835, запущенный из терминала MetaTrader 5 (через F4), спокойно 

//+------------------------------------------------------------------+
//|                                                       Test_1.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(DoubleToString(iClose(Symbol(),Period(),0)));
  }
//+------------------------------------------------------------------+

запускает этот код. 


Даже распечатывается результат:

0.00000000
Файлы:
Test_1.mq5  2 kb
 
Вот бы правильно работали, было-бы удобно!
 
Вот бы получилось счётную машинку "Феликс" прикрутить к mql... Вот бы удобно было. ))))))))))
 

"похоже мы на кануне грандиозного шухера" :-)

 
Vladimir Karputov:

Подтверждаю: установлены MT5 и MT4. MetaEditor 1835, запущенный из терминала MetaTrader 5 (через F4), спокойно 

запускает этот код. 


Даже распечатывается результат:

Распечатайте заодно значение GetLastError

Попробуйте iBarShift в MQL5

 
Если бы все это правильно работало в MQL5, переход на MT5 бы ускорился в разы. Т.е. *.ex4 можно было бы запускать на MT5. Тогда бы стали забывать про MT4, как этого хочет Метаквот
 
Evgeniy Zhdan:
Если бы все это правильно работало в MQL5, переход на MT5 бы ускорился в разы. Т.е. *.ex4 можно было бы запускать на MT5. Тогда бы стали забывать про MT4, как этого хочет Метаквот

Ну, да. Типа define перед телом программы и компилируем на указанном языке.

 
Slava:

Распечатайте заодно значение GetLastError

Попробуйте iBarShift в MQL5

Код:

//+------------------------------------------------------------------+
//|                                                       Test_1.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print("");
   ResetLastError();
   Print("iClose(Symbol(),Period(),0): ",DoubleToString(iClose(Symbol(),Period(),0)));
   Print("GetLastError: ",GetLastError());

   ResetLastError();
   Print("iBarShift(Symbol(),Period(),TimeCurrent(),false): ",iBarShift(Symbol(),Period(),TimeCurrent(),false));
   Print("GetLastError: ",GetLastError());

   ResetLastError();
   Print("iBarShift(Symbol(),Period(),TimeCurrent(),true): ",iBarShift(Symbol(),Period(),TimeCurrent(),true));
   Print("GetLastError: ",GetLastError());
  }
//+------------------------------------------------------------------+

Результат:

iClose(Symbol(),Period(),0): 0.00000000
GetLastError: 4014
iBarShift(Symbol(),Period(),TimeCurrent(),false): 0
GetLastError: 4014
iBarShift(Symbol(),Period(),TimeCurrent(),true): -1
GetLastError: 4014

Ошибка:

ERR_FUNCTION_NOT_ALLOWED

4014

Function is not allowed for call

Файлы:
Test_1.mq5  3 kb
 
Evgeniy Zhdan:
Если бы все это правильно работало в MQL5, переход на MT5 бы ускорился в разы. Т.е. *.ex4 можно было бы запускать на MT5. Тогда бы стали забывать про MT4, как этого хочет Метаквот
++++
 
Vladimir Karputov:

Код:

Результат:

Ошибка:

ERR_FUNCTION_NOT_ALLOWED

4014

Function is not allowed for call

Значит, в билд ещё не попало.