Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1412
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Получилось , то что мне нужно
LoY[r] = 1.6104---LoY[r] = 1.6105---LoY[r] = 1.6106---LoY[r] = 1.6107---LoY[r] = 1.6108---LoY[r] = 1.6109---LoY[r] = 1.6110---LoY[r] = 1.6111....
Буду очень признателен, если напишете пример такого кода, а не ограничитесь объяснением на словах.
Спасибо за помощь.
Такое со мной случается только в момент приступов……… Один приступ со мной уже был сегодня, следующий не скоро…
Спасибо большое за помощь. Ваш код более компактный и поэтому я принимаю его на вооружение и приступаю к его внимательному изучению, что понять его в мельчайших деталях.
Внимательно изучил Ваш код. Понял каждый его символ. Не понял только знаки + выделенные красным
str+="--LoY["+IntegerToString(r)+"]--, "+DoubleToString(LoY[r],4)+", ";
Буду признателен если подскажете какую функцию выполняют эти плюсы и где о них почитать. В учебнике Ковалева информацию о них я не смог найти.
Когда я убирал эти плюсы , компилятор выдавал какие то ошибки. К сожалению я с английским не дружу и поэтому не знаю , что конкретно он имел в виду.
Еще раз спасибо за информационную поддержку.
Внимательно изучил Ваш код. Понял каждый его символ. Не понял только знаки + выделенные красным
str+="--LoY["+IntegerToString(r)+"]--, "+DoubleToString(LoY[r],4)+", ";
Буду признателен если подскажете какую функцию выполняют эти плюсы и где о них почитать. В учебнике Ковалева информацию о них я не смог найти.
Когда я убирал эти плюсы , компилятор выдавал какие то ошибки. К сожалению я с английским не дружу и поэтому не знаю , что конкретно он имел в виду.
Еще раз спасибо за информационную поддержку.
А вот объяснения словами это пожалуйста………
Если складывать числа, например 2.3+3.6 то будет так-же число, 5.9, а если складывать строки DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) то будет 2.33.6 в виде строки.
Верно Алексей сказал, это просто сложение строк.
Вот это может быть Вам интересным:
А вот объяснения словами это пожалуйста………
Если складывать числа, например 2.3+3.6 то будет так-же число, 5.9, а если складывать строки DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) то будет 2.33.6 в виде строки.
Спасибо за подсказку
Верно Алексей сказал, это просто сложение строк.
Вот это может быть Вам интересным:
Спасибо за подсказку.
А вот объяснения словами это пожалуйста………
Если складывать числа, например 2.3+3.6 то будет так-же число, 5.9, а если складывать строки DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) то будет 2.33.6 в виде строки.
То есть на каждой итерации значение строки LoY["IntegerToString(r)"] увеличивается на 1 и значение строки DoubleToString(LoY[r],4) увеличивается на 1.
Но увеличение на 1 оформляется не так как я привык LoY["IntegerToString(r)"] ++; Но увеличение на 1 оформляется по особому LoY["+IntegerToString(r)+"], то есть переменная помещается между плюсами.
Тогда как же нужно оформлять увеличение строковой переменной не на 1, а на 2? В обычном варианте это увеличение оформляется ПЕРЕМЕННАЯ +=2. А как увеличение на 2 нужно оформлять в моем коде?
А в дальнейшем значения элементов моего массива будут идти вообще вразнобой, а не в строгой последовательности как сейчас. Например будет так....
LoY[0]= 1.6104, LoY[1]= 1.6114 , LoY[2]= 1.6100 , LoY[3]= 1.6120, LoY[4]= 1.6115, LoY[5]= 1.6115, LoY[6]= 1.6098, LoY[7]= 1.6085, LoY[8]= 1.6125,..... и так далее. То есть, эти значения будут присваиваться элементам массива в другой части кода и не обязательно при помощи цикла.
При помощи коннектации строковых переменных корректно отображать такую последовательность в функции Print() вряд ли получится..... как мне кажется.
Спасибо за помощь.
То есть на каждой итерации значение строки LoY["IntegerToString(r)"] увеличивается на 1 и значение строки DoubleToString(LoY[r],4) увеличивается на 1.
Но увеличение на 1 оформляется не так как я привык LoY["IntegerToString(r)"] ++; Но увеличение на 1 оформляется по особому LoY["+IntegerToString(r)+"], то есть переменная помещается между плюсами.
Тогда как же нужно оформлять увеличение строковой переменной не на 1, а на 2? В обычном варианте это увеличение оформляется ПЕРЕМЕННАЯ +=2. А как увеличение на 2 нужно оформлять в моем коде?
А в дальнейшем значения элементов моего массива будут идти вообще вразнобой, а не в строгой последовательности как сейчас. Например будет так....
LoY[0]= 1.6104, LoY[1]= 1.6114 , LoY[2]= 1.6100 , LoY[3]= 1.6120, LoY[4]= 1.6115, LoY[5]= 1.6115, LoY[6]= 1.6098, LoY[7]= 1.6085, LoY[8]= 1.6125,..... и так далее. То есть, эти значения будут присваиваться элементам массива в другой части кода и не обязательно при помощи цикла.
При помощи коннектации строковых переменных корректно отображать такую последовательность в функции Print() вряд ли получится..... как мне кажется.
Спасибо за помощь.
Функции IntegerToString() и DoubleToString() всего лишь представляют число в виде строки которое передано в функцию. Вот в примере
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Aleksei Stepanenko, 2021.03.12 16:39
как раз и происходит перевод числа r в строку и строки «складываются». Но перед этим значение r меняется.
Я не совсем понял вопрос, но если надо сделать чтобы выбрать из массива только чётные элементы, то цикл надо строить так