Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1012

 
MGSMGS:
Здравствуйте! Скажите пожалуйста, можно ли как то преобразовать значение текстовой переменной в имя другой переменной. Либо сравнить текст переменной с именем другой переменной. ну как то так?)) заранее спасибо

В MQL нельзя. 

ЗЫ Если как-то так, то можно. Enum в помощь.  

 
MGSMGS:
Здравствуйте! Скажите пожалуйста, можно ли как то преобразовать значение текстовой переменной в имя другой переменной. Либо сравнить текст переменной с именем другой переменной. ну как то так?)) заранее спасибо
Можно, если переменная будет глобальной. GlobalVariableSet()
 
доброго времени суток, коллеги!! Знатоки, помогите пришить к советнику трелинг самый простой с шагом , неделю уже парюсь,, добавлял готовые коды в сов, даже если компиляция без ошибок, то в тестере не работает ,,Уже весь инет перерыл!!   советник сам по себе неплохой при соответствующей настройке, с трелингом профит еще можно подтянуть , прошу помочь, у самого могзи закипают)) Спасибо!
Файлы:
 
AlexeyVik:

Постарайся пожалуйста с такими вопросами не выходить за пределы этой темы.

И внимательно почитай всю документацию, будешь помнить что нужная функция есть. Останется только найти её. Вот она ArrayFree.


Спасибо за ответ. Функция ArrayFree предназначена для работы с динамическими массивами , как написано в документации , а я спрашивал за статические массивы.
 
i999i:
Спасибо за ответ. Функция ArrayFree предназначена для работы с динамическими массивами , как написано в документации , а я спрашивал за статические массивы.
Ну так статические массивы сразу резервируют под себя память независимо от того есть данные в нём или нету. Если есть необходимость освобождать память, то и использовать надо динамические массивы, а не статические.
 
AlexeyVik:
Ну так статические массивы сразу резервируют под себя память независимо от того есть данные в нём или нету. Если есть необходимость освобождать память, то и использовать надо динамические массивы, а не статические.
При выходе из функции динамические массивы работают как локальные переменные или все таки нужно использовать функцию ArrayFree ?
 
i999i:
При выходе из функции динамические массивы работают как локальные переменные или все таки нужно использовать функцию ArrayFree ?
Если массив объявлен локально, то ему ничего не надо. Но если данные массива используются в разных функциях, то соответственно массив должен быть глобального уровня и тогда, перед изменением как размера массива так и изменением значений иногда лучше его "удалить" и заполнить заново. Либо как в твоём вопросе, если считаешь что массив уже не будет использован, то ничего не мешает от него избавиться.
 
AlexeyVik:
Если массив объявлен локально, то ему ничего не надо. Но если данные массива используются в разных функциях, то соответственно массив должен быть глобального уровня и тогда, перед изменением как размера массива так и изменением значений иногда лучше его "удалить" и заполнить заново. Либо как в твоём вопросе, если считаешь что массив уже не будет использован, то ничего не мешает от него избавиться.
Спасибо за ответы , теперь все понятно.
 

Здравствуйте! В строке ниже я получил ошибку "array out of range". Можете помочь сделать эту строку правильно?

rs=  High[iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1)];
 
abeiks:

Здравствуйте! В строке ниже я получил ошибку "array out of range". Можете помочь сделать эту строку правильно?

В High[] в квадратных скобках [ ] должно быть целое число - индекс свечи на графике, а результат iHighest(NULL,PERIOD_M15,MODE_HIGH,1,1) - максимальное значение одной свечи с индексом 1 и это на 99,999...% будет вещественное число типа double. Вообще, такая запись сама по себе не совсем понятно что должна сделать.
Причина обращения: