Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Удобнее торговать с помощью смартфона? Мобильная версия MetaTrader 5 тебе подойдет!
123454321
24
123454321 2011.07.25 13:14 

Перерыл весь форум но ми чего не нашел или плохо искал !?

Есть три string переменные Symbols0, Symbols1, Symbols2

Как в цикле получать значение каждой

//----------------------------------------------
sumbol = "";
for(i=0;i<3;i++)
{
simvol="Symbols"+i;
sumbol=sumbol+" "+simvol+"\n";
}
Comment(sumbol);
//----------------------------------------------

В данном варианте я получаю в коментарии перечисление названий переменных а мне надо значение их.

Буду очень благодарен за помощь пионеру !!!!!!

Rustamzhan Salidzhanov
7682
Rustamzhan Salidzhanov 2011.07.25 13:23  
Загоните в массив и получайте значения ячеек или используйте оператор выбора https://docs.mql4.com/ru/basis/operators/switch
123454321
24
123454321 2011.07.25 13:41  
xrust:
Загоните в массив и получайте значения ячеек или используйте оператор выбора https://docs.mql4.com/ru/basis/operators/switch

а по нормальному чаерез указатель или понтер можно или mgl не может такого извращения !
123454321
24
123454321 2011.07.25 13:57  

Хочется упростить код до двух циклов

А строить огород я сам могу !

Пример закоментированный во вложенном файле после выложенного куска!

123454321
24
123454321 2011.07.25 14:01  

Извиняюсь не тот !!!

Файлы:
123_2.mq4 5 kb
Rustamzhan Salidzhanov
7682
Rustamzhan Salidzhanov 2011.07.25 14:16  

Мой дорогой друг, сбавьте тон. MQL не является языком системного программирования, так что указателей в нем нет (читайте доку, ибо она рулит)

обойдитесь одним циклом :

string in[]={"symbol1","symbol2","symbol3","symbol4"};
string out;
for(int i=0;i<4;i++){
   out = out + in[i];
}
Comment(out);
123454321
24
123454321 2011.07.25 14:22  
xrust:

Мой дорогой друг, сбавьте тон. MQL не является языком системного программирования, так что указателей в нем нет (читайте доку, ибо она рулит)

обойдитесь одним циклом :


Я повторяюсь что я пионер в этом движении и причем самоучка много не знаю и показываю свой код и говорю что он далеко не идеален я бы сказал пионерский или по просту топорный

потому у Вас спецов и спрашиваю первый вариант предложенный Вами мой огрод ни как не упрощает а нооборот!

За второй вариант огромное спасибо это то что позволит мой огрод упростить значительно !!!!!

Еще раз благодарю за помощь и прошу прощения если оскорбил!!!!!!!!

Виктор
Модератор
6559
Виктор 2011.07.25 16:27  
А я по простоте душевной думал, что это и был один и тот же вариант.
Victor Nikolaev
Модератор
14330
Victor Nikolaev 2011.07.25 16:42  
123454321:


Я повторяюсь что я пионер в этом движении и причем самоучка много не знаю и показываю свой код и говорю что он далеко не идеален я бы сказал пионерский или по просту топорный

потому у Вас спецов и спрашиваю первый вариант предложенный Вами мой огрод ни как не упрощает а нооборот!

За второй вариант огромное спасибо это то что позволит мой огрод упростить значительно !!!!!

Еще раз благодарю за помощь и прошу прощения если оскорбил!!!!!!!!


Делаем парсер, создаем массивы, заполняем их. А потом используем как хотим

extern string sBuy_currency_pairs = "----- List of Buy currency pairs -----";
extern string sBuy_pair = "USDCHF,EURGBP,GBPUSD,NZDUSD,EURJPY,AUDJPY,GBPJPY";
extern string sSell_currency_pairs = "----- List of Sell currency pairs -----";
extern string sSell_pair = "AUDUSD,NZDJPY,CHFJPY,USDJPY,EURUSD,EURCHF,GBPCHF"; 

string asBuy_pair[7], asSell_pair[7];

int init()   {
  
   Parser(asBuy_pair,sBuy_pair);
   Parser(asSell_pair,sSell_pair);
   
   return(0);
  }


void Parser(string & sArray[], string sList){
   int i=0;
   int n1=0;
   int n2=StringFind(sList,",",n1);
   while (n2>-1) {
      sArray[i]=StringSubstr(sList, n1,n2-n1);
      i++;
      n1=n2+1;
      n2=StringFind(sList,",",n1);
   }
   sArray[i]=StringSubstr(sList, n1);
}
mt4trade
399
mt4trade 2011.07.25 17:13  
Vinin:
Делаем парсер, создаем массивы, заполняем их. А потом используем как хотим
У меня так, реплика - полезный парсер, Виктор! Я делал подобный для неизвестного числа чисел, перечисленных :) в строке через запятую.
Victor Nikolaev
Модератор
14330
Victor Nikolaev 2011.07.25 17:34  
mt4trade:
У меня так, реплика - полезный парсер, Виктор! Я делал подобный для неизвестного числа чисел, перечисленных :) в строке через запятую.


Для неизвестного числа переменных переделать недолго.

Это для новичка проблема

/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий