
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вам уже отвечали на вопрос.
Вот эта строчка, прописанная в OnInit() изменит самый первый уровень индикатора на значение, записанное в переменной new_value_0:
Вот эта строчка, изменит второй уровень индикатора на значение переменной new_value_1:
... и т.д.
Похоже что ему не нужно решение вопроса, а нужно просто охаять и МТ и MQL потому, что нет возможности прочесть параметр заданный в #property
По моему не один из вас не понимает о чём идёт речь.
Я не хочу установить уровень роботом хотя изначально это и предполагается.
Я хочу его считать при его изменении! в процессе работы на графике.
И самое важное сделать это не через inputs.
Я не пытаюсь обсерать не кого я пытаюсь найти объяснение как это сделать правильно.
И какая ячейка памяти за это отвечает если уж на то пошло и нету функции считывания уровня в процессе исполнения программы.
Теперь понятно что я хочу?
По моему не один из вас не понимает о чём идёт речь.
Я не хочу установить уровень роботом хотя изначально это и предполагается.
Я хочу его считать при его изменении! в процессе работы на графике.
И самое важное сделать это не через inputs.
Я не пытаюсь обсерать не кого я пытаюсь найти объяснение как это сделать правильно.
И какая ячейка памяти за это отвечает если уж на то пошло и нету функции считывания уровня в процессе исполнения программы.
Теперь понятно что я хочу?
Нет, не понятно.
Если вы хотите НЕ через input (И самое важное сделать это не через inputs), то значит вы его сами и меняете программой. Зачем тогда узнавать, раз вы сами значение программой устанавливаете?
В момент, когда вы положили в карман червонец, как вам узнать сколько вы в карман положили?
Нет, не понятно.
Если вы хотите НЕ через input (И самое важное сделать это не через inputs), то значит вы его сами и меняете программой. Зачем тогда узнавать, раз вы сами значение программой устанавливаете?
В момент, когда вы положили в карман червонец, как вам узнать сколько вы в карман положили?
Из другой программы?
Из другой программы?
Нет не сдругой программы
Нет, не понятно.
Если вы хотите НЕ через input (И самое важное сделать это не через inputs), то значит вы его сами и меняете программой. Зачем тогда узнавать, раз вы сами значение программой устанавливаете?
В момент, когда вы положили в карман червонец, как вам узнать сколько вы в карман положили?
А я пред пологаю что уровень может сменить пользователь по своим потребностям и индикатор должен на это отреагировать и подстроится под новые параметры!
Для этого и нужно считывать сам уровень с графика а не пытатса его нарисовать заново.
Нет не сдругой программы
Вы думаете о том что всё время индикатор контролирует уровень который был задан из начально.А я пред пологаю что уровень может сменить пользователь по своим потребностям и индикатор должен на это отреагировать и подстроится под новые параметры!
Для этого и нужно считывать сам уровень с графика а не пытатса его нарисовать заново.
Не выдумывайте за меня то, о чём я могу думать.
Я вижу, что вы, вместо решения вопроса, выдумываете себе причины его не решать.
Если вы предполагаете, что уровень мог сменить пользователь, то это значит, что вы сами себе противоречите: (И самое важное сделать это не через inputs)
А уж если не делать это через внешние переменные, и если учитывать ваш ответ Андрею: "Нет не с другой программы", то вывод напрашивается один: вы сами программно задаёте уровень внутри индикатора. И индикатор о нём всё знает. Чего тогда сделать не можете - не понимаю.
Ну сменить значение input пользователем конечно вполне можно и на лету. Правда для этого как минимум понадобиться панелька, в которой можно ввести это значение. Правда не совсем понятно зачем лишние извращения, если можно перезапустить индикатор с измененным input.
Но как говориться на вкус и цвет, карандаши разные.
По моему не один из вас не понимает о чём идёт речь.
Я не хочу установить уровень роботом хотя изначально это и предполагается.
Я хочу его считать при его изменении! в процессе работы на графике.
И самое важное сделать это не через inputs.
Я не пытаюсь обсерать не кого я пытаюсь найти объяснение как это сделать правильно.
И какая ячейка памяти за это отвечает если уж на то пошло и нету функции считывания уровня в процессе исполнения программы.
Теперь понятно что я хочу?
Понятно. Это именно то что я предположил.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Нужна помощь MQL5 #property indicator_level
Alexey Viktorov, 2018.02.08 07:30
Похоже что ему не нужно решение вопроса, а нужно просто охаять и МТ и MQL потому, что нет возможности прочесть параметр заданный в #property
А конец моей фразы понятен? Нет и не будет такой возможности. Следовательно зачем биться лбом о бетонную стену?
Можно вообще не писать
Достаточно в OnInit() вписать
Понятно. Это именно то что я предположил.
А конец моей фразы понятен? Нет и не будет такой возможности. Следовательно зачем биться лбом о бетонную стену?
Можно вообще не писать
Достаточно в OnInit() вписать
Да можно если задуманно уровень который не изменяется в процесе обработки данных.
//--- количество окон на графике (всегда есть хотя бы одно главное окно)
int windows=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
//--- про ходим по окнам
for(int w=0;w<windows;w++)
{
//--- сколько индикаторов в данном окне/подокне
int total=ChartIndicatorsTotal(0,w);
//--- переберем все индикаторы в окне
for(int i=0;i<total;i++)
{
//--- получим короткое имя индикатора
string name=ChartIndicatorName(0,w,i);
//--- получим хэндл индикатора
int handle=ChartIndicatorGet(0,w,name);
//--- выведем в журнал
if(name=="RSIm"&&w>0)
PrintFormat("Window=%d, index=%d, Name=%s, handle=%d",w,i,name,handle);
int objeto=ObjectsTotal(0,w,-1);
for(int j=0;j<objeto;j++)
{
PrintFormat("Name=%s,",ObjectName(ChartID(),j,i,-1));
}
//--- обязательно освобождаем хендл индикатора, как только он становится ненужным
IndicatorRelease(handle);
}
}
Я использовал вот этот код чтоб найти обекты на графике где располагается мой индикатор но он так не чего не показал связоное с уровнями.
Что я пропустил или что я не так делаю?
Да можно если задуманно уровень который не изменяется в процесе обработки данных.
Я использовал вот этот код чтоб найти обекты на графике где располагается мой индикатор но он так не чего не показал связоное с уровнями.
Что я пропустил или что я не так делаю?
Всё.
Изначально был вопрос
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Нужна помощь MQL5 #property indicator_level
Ivan Stepanenko, 2018.01.30 17:30
Ребята всем спасибо кто заинтересовался вопросом.
На вопрос выделенный красным вот ответ
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Нужна помощь MQL5 #property indicator_level
Alexey Viktorov, 2018.01.31 09:06
Игорь, мы оба неправы. Я не сразу понял задачу...
Кроме директивы #property установить уровень индикатора можно функцией
Соответственно этот уровень надо задать во входящих параметрах индикатора. В таком случае, уровень рисоваться будет по заданному значению и менять его надо тоже по этому значению.
Тестовый вариант
Потом вы сочинили что есть необходимость программно всем индикаторам переназначить уровни. Даже тем в которых уровни не предусмотрены.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Нужна помощь MQL5 #property indicator_level
Alexey Viktorov, 2018.02.04 17:23
Я вот чего не понимаю: Почему вместо того, чтобы взять готовый код, проверить, покрутить его и так и эдак, вы вступаете в обсуждение? Вы считаете что все тут чаще просто пишут не проверенные варианты советов?
Я использовал вот этот код чтоб найти обекты на графике где располагается мой индикатор но он так не чего не показал связоное с уровнями.
Что я пропустил или что я не так делаю?
Уровни индикатора это не графические объекты.