Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 10

 

mi__x__an:

при том, чтобы функция была универсальной,


 Универсальной функции не получится.
 
Rosh:
Попробуйте посмотреть класс CComboBox и функцию EnumToString. Смотрите также статью Создай свои графические панели на MQL5.

С этим я разобрался. Вопрос о другом немного был.  

Возможно ли при наличии типа  enum и неизвестности составляющих этого типа их найти?

К примеру есть тип ENUM_TIMEFRAME

 и задачей будет найти все составляющие этого типа : {PERIOD_M1,PERIOD_M2...PERIOD_MN1}или {1,2...49153} 

 

Заранее зная все составляющие типа можно сделать функцию которая на выходе даст массив возможных значений типа enum . А вот есть ли возможность программно узнать составляющие этого типа? Так как при составлении новых типов enum новые функции такие придется писать, а это неудобно. 

uncleVic  - Неужели ни одной возможности нет???

 
mi__x__an:

uncleVic  - Неужели ни одной возможности нет???


Нет такой возможности, программный перебор всех значений перечисления не реализован.
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Перечисления - Документация по MQL5
 

Сколько файлов максимально может быть одновременно открыто?

Путем этого скрипта :

   int f[];
   for (int i=0;i<1000;i++)
    {
     ArrayResize(f,i+1,0);
     f[i]=FileOpen(string(i)+".txt",FILE_WRITE|FILE_TXT,"\r\n");
     FileWrite(f[i],string(i));
    }

 удалось выяснить, что 64. 

Если это так, есть ли эта информация в документации? Я не нашел.

P.S.: Просто столкнулся - пришлось определять опытным путем причину ошибки.  На мой взгляд можно было бы добавить такую информацию в документацию.  

P.S.S: Возможно я ошибся -тогда поправьте меня. 

 
mi__x__an:

Сколько файлов максимально может быть одновременно открыто?

Путем этого скрипта :

 удалось выяснить, что 64. 

Если это так, есть ли эта информация в документации? Я не нашел.

 Ошибки времени выполнения

ERR_TOO_MANY_FILES

5001

Не может быть открыто одновременно более 64 файлов

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
Спасибо, что поправили. Я LastError, забыл проверять. 
 

Здравствуйте.

У меня есть ма-а-ахонькая проблема: я знаю язык MQL4, но не знаю MQL5. )))

Преогромнейшая просьба: пожалуйста, помогите мне переделать ниже приведённый код под МТ5.

double SpreadOnline;
string SMB; 

int init()
  {
   return(0);
  }

int deinit()
  {
   return(0);
  }

int start()
  {
   SMB=Symbol();
   SpreadOnline = NormalizeDouble(MarketInfo(SMB, MODE_SPREAD),0);

   Comment("Spread - ",SpreadOnline);

   return(0);
  }
 

В виде эксперта:

double SpreadOnline=0.0;
string SMB=NULL; 

void OnInit()
  {
  
  }

void OnTick() // OnStart,OnCalculate
  {
   SMB=Symbol();
   
   SpreadOnline = NormalizeDouble(SymbolInfoInteger(SMB,SYMBOL_SPREAD),0);

   Comment("Spread - ",SpreadOnline);

  }
  
void OnDeinit(const int reason)
  {
   
  }
 
Благодарю! ))
 
nemo811:
Благодарю! ))
Господа! Ответьте, пожалуйста, мне на такой вопрос. Установил платформу MT5 и открыл демосчет на сервере metaquotes-demo. А вопрос такой. Сервер metaquotes-demo по какому времени живет? И как у него с переходами на зимнее-летнее время. Если переход происходит как и в Англии, то на истории котировок начало европейской сессии будет в одно время, без сдвигов. Я правильно рассуждаю? Меня интересует в основном история начиная с января 2011 года.
Причина обращения: