Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2590

 
Igor Nagorniuk #:
MQL5\Include\  полностью отсутствует папка  NeuralNetwork

Она и не должна там присутствовать в случае, если была удалена. Эта папка не является стандартной, и в поставке терминала не идёт.

 
В mql5 есть массив    array[5][14], где количество строк=5 величина переменная. 
Сохранил массив в файл. 

При чтении массива из файла количество строк неизвестно. 
Как узнать количество строк в массиве прочитанном из файла (в данном случае = 5)?
 
Tretyakov Rostyslav #:

ArraySize

Пробовал с ArraySize, он что-то не то возвращает.
Немного позже еще раз перепроверю.

 
grezky #:
В mql5 есть массив    array[5][14], где количество строк=5 величина переменная. 
Сохранил массив в файл. 

При чтении массива из файла количество строк неизвестно. 
Как узнать количество строк в массиве прочитанном из файла (в данном случае = 5)?
ArrayRange(array,0)
 
Tretyakov Rostyslav #:
ArrayRange(array,0)

ArrayRange(array,0) тоже проверял - не работало, но сейчас выяснил что дело было в переделываемом из mql4 коде. 
Кое-что подчистил, теперь ArrayRange(array,0) работает.
Спасибо!

 
В mql5 есть функция EnumToString. 
Нужна обратная операция - из строковой переменной (содержит '2') получить 'OBJ_HLINE', но такой функции не обнаружил.
Как это выполнить?
 
grezky #:
В mql5 есть функция EnumToString. 
Нужна обратная операция - из строковой переменной (содержит '2') получить 'OBJ_HLINE', но такой функции не обнаружил.
Как это выполнить?
void OnStart()
  {
long chart_ID  = 0;
string name    = "name123";
int sub_window = 0;
string price   = "143";
double _price  = StringToDouble(price); 
ObjectCreate(chart_ID,name,OBJ_HLINE,sub_window,0,_price);
//--- по умолчанию равен true, что позволяет выделять и перемещать этот объект 
bool            selection=true;   // Выделить для перемещений 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); 
  }
// по умолчанию подификаторы области SELECTED и SELECTABLE false!!!
 
grezky #:
В mql5 есть функция EnumToString. 
Нужна обратная операция - из строковой переменной (содержит '2') получить 'OBJ_HLINE', но такой функции не обнаружил.
Как это выполнить?

Значение OBJ_HLINE равно 1

Print((int)OBJ_HLINE); // 1
 
lynxntech #:
void OnStart()   { long chart_ID  = 0; string name    = "name123"; int sub_window = 0; string price   = "143"; double _price  = StringToDouble(price); ObjectCreate(chart_ID,name,OBJ_HLINE,sub_window,0,_price); //--- по умолчанию равен true, что позволяет выделять и перемещать этот объект bool            selection=true;   // Выделить для перемещений    ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);    ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);   } // по умолчанию подификаторы области SELECTED и SELECTABLE false!!!
Alexey Viktorov #:

Значение OBJ_HLINE равно 1


У меня на определенном этапе строковый массив был сохранен в файл.
Позже из другого индикатора данные считываются из этого файла в строковый массив. Часть параметров необходимо преобразовать из string в enum. Как это сделать, готовой функции судя по всему нет?

 
grezky #:


У меня на определенном этапе строковый массив был сохранен в файл.
Позже из другого индикатора данные считываются из этого файла в строковый массив. Часть параметров необходимо преобразовать из string в enum. Как это сделать, готовой функции судя по всему нет?

в enum вы должны создать массив параметров, а из string получать в цикл вариантах, ерунда будет

нужен ли там string в параметрах?

или вы их создали в string как и обозначили в основном коде типа ENUM?

может проще string в файл писать цифрами, и в switch получать нужный результат?