Несколько переменных или массив в одной строке окна inputs

 

Не бейте сильно ногами, это моя первая программа на mql4 (вернее ее модернизация).

В каком-то коммерческом индикаторе видел возможность ввода  валютных пар в в формате: "EURUSD AUDUSD EURJPY... ну и т.д" в окне inputs.

Выводит на экран индикатор только для пар, прописанных в переменной (или массиве).

У меня немного другая задача, нужно ввести int данные, и в зависимости от их значений и количества выводить в окне рассчитанную информацию. 

Как это можно реализовать? 

 
Пока писал, осенило... можно (наверно) через строковые функции реализовать... поиск пробела, запись массива и т.п.
 

Тогда есть еще пара вопросов... нужно реализовать запись имен в цикле

#property strict
#property script_show_inputs
...
for(int i=0, j=Coordinata_Y; i <= Kol_SL; i++, j=j+15)
{
   if(ObjectFind("Obj_Name_"+IntegerToString(i)==-1))                                 // Если объекта нет..
   {
      ObjectCreate("Obj_Name_"+IntegerToString(i),OBJ_LABEL,0,0,0);                     // Создаём новый объект 
      ObjectSet    ("Obj_Name_"+IntegerToString(i),OBJPROP_CORNER, Corner);              // Угол привязки            
      ObjectSet    ("Obj_Name_"+IntegerToString(i),OBJPROP_XDISTANCE, Coordinata_X);     // Координата Х
      ObjectSet    ("Obj_Name_"+IntegerToString(i),OBJPROP_YDISTANCE,Coordinata_Y+15);  // Координата Y
   }
}

 Компилятор выдает "implicit conversion from 'number' to 'string'"

Что я делаю не так? 

 
Syzal:
Пока писал, осенило... можно (наверно) через строковые функции реализовать... поиск пробела, запись массива и т.п.

Это удобнее всего реализовать с помощью функции StringSplit.

 
   if(ObjectFind("Obj_Name_"+IntegerToString(i))==-1)                                 // Если объекта нет..

По-моему, здесь скобка не на месте.

 
Y.A.K._:

Это удобнее всего реализовать с помощью функции StringSplit.


ОК, посмотрю. У меня сейчас затык с созданием объектов в цикле =(
 
Syzal:

Тогда есть еще пара вопросов... нужно реализовать запись имен в цикле

 Компилятор выдает "implicit conversion from 'number' to 'string'"

Что я делаю не так? 

Наверное будет лучше так

ObjectCreate("Obj_Name_"+(string)i,OBJ_LABEL,0,0,0);
 
AlexeyVik:

Наверное будет лучше так

Спасибо, попробую

 

Вообще я не складываю строковые переменные, только StringConcatenate использую, вроде читал где-то, что это оптимальнее.

А насчёт скобок повторю рядом, так заметнее будет (внимательность развивать надо):

   if(ObjectFind("Obj_Name_"+IntegerToString(i)==-1))                                 // Если объекта нет..
   if(ObjectFind("Obj_Name_"+IntegerToString(i))==-1)                                 // Если объекта нет..
 
AlexeyVik:

Наверное будет лучше так

Будете смеяться наверно... 

implicit conversion from 'number' to 'string'
 
Y.A.K._:

Вообще я не складываю строковые переменные, только StringConcatenate использую, вроде читал где-то, что это оптимальнее.

А насчёт скобок повторю рядом, так заметнее будет (внимательность развивать надо):

ОК, спасибо... я правда могу искать пару скобки полдня и не найти =)
Причина обращения: