Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 808

 
DCodec:

В советнике при получении хендла индикатора в OnInit() ...

....терминал отрисовывает обе линии, а мне нужна только верхняя.

Как выключить отрисовку этой линии? Т.е. изменить её цвет на CLR_NONE, ну или стиль линии на DRAW_DONE?


Когда такой советник (в котором создаётся хендл индикатора) работает на ОБЫЧНОМ графике в ТЕРМИНАЛЕ - то вызываемый индикатор ВООБЩЕ не отображается на графике. 

Когда такой советник (в котором создаётся хендл индикатора) работает в ТЕСТЕРЕ СТРАТЕГИЙ в визуальном режиме - то вызываемый индикатор ОБЯЗАТЕЛЬНО отображается на графике. 


Исходя из вышесказанного вообще неясно, ЗАЧЕМ Вам скрывать ОДНУ линию вызываемого индикатора, если советник запущен в ТЕСТЕРЕ СТРАТЕГИЙ в визуальном режиме?

 
DCodec:

В советнике при получении хендла индикатора в OnInit() ...

....терминал отрисовывает обе линии, а мне нужна только верхняя.

Как выключить отрисовку этой линии? Т.е. изменить её цвет на CLR_NONE, ну или стиль линии на DRAW_DONE?

Я вам предложил.
 
Artyom Trishkin:

Ну потому, что это один индикатор, который имеет две линии. Используйте Moving Average с теми же параметрами, что и Envelopes, для отрисовки только одной линии МА. Только к значению МА нужно прибавить значение Deviation*Point() для верхней линии, и отнять значение Deviation*Point() - для нижней линии

Vladimir Karputov:

Когда такой советник (в котором создаётся хендл индикатора) работает на ОБЫЧНОМ графике в ТЕРМИНАЛЕ - то вызываемый индикатор ВООБЩЕ не отображается на графике. 

Когда такой советник (в котором создаётся хендл индикатора) работает в ТЕСТЕРЕ СТРАТЕГИЙ в визуальном режиме - то вызываемый индикатор ОБЯЗАТЕЛЬНО отображается на графике.

Теперь понятно, что в ТЕСТЕРЕ отображается, на ОБЫЧНЫЙ график советник не бросал.

Вариант с Deviation*Point() очень хорош, но только для Envelopes.

 
Vladimir Karputov:
Исходя из вышесказанного вообще неясно, ЗАЧЕМ Вам скрывать ОДНУ линию вызываемого индикатора, если советник запущен в ТЕСТЕРЕ СТРАТЕГИЙ в визуальном режиме?

Когда тестирую, хотелось бы видеть верхнюю линию Envelopes с периодом (например) 14, а нижнюю линию Envelopes с периодом (допустим) 8.

Стратегия пробойная с разными периодами на Buy и Sell. Периоды определяются оптимизацией. Но потом итог нужно посмотреть визуально.

 
DCodec:

Когда тестирую, хотелось бы видеть верхнюю линию Envelopes с периодом (например) 14, а нижнюю линию Envelopes с периодом (допустим) 8.

Стратегия пробойная с разными периодами на Buy и Sell. Периоды определяются оптимизацией. но потом итог нужно посмотреть визуально.


Варианты:

  1. Пользовательский индикатор на базе iEnvelopes с настройками цвета линии - таким образом вызывая его через iCustom и передавая нужный параметр, можно "выключить" нужную линию. Затем в советнике использовать два вызова изменённого iEnvelopes: один с периодом 14, второй с периодом 8
  2. В советнике использовать два вызова iEnvelopes: один с периодом 14, второй с периодом 8 и смириться с тем, что будут видны четыре линии (две от индикатора с периодом 14 и две от индикатора с периодом 8)
  3. В советнике использовать два вызова iEnvelopes: один с периодом 14, второй с периодом 8. Создать шаблон графика с именем советника, в этом шаблоне изменить цвета линий индикаторов. Шаблон с именем советника подхватится тестером в визуальном режиме автоматически. Нюанс: вручную нужно согласовывать (задавать) периоды для индикаторов в шаблоне графика с периодами в эксперте.
 
DCodec:

Когда тестирую, хотелось бы видеть верхнюю линию Envelopes с периодом (например) 14, а нижнюю линию Envelopes с периодом (допустим) 8.

Стратегия пробойная с разными периодами на Buy и Sell. Периоды определяются оптимизацией. Но потом итог нужно посмотреть визуально.

Две МА с нужными периодами. 
 
Vladimir Karputov:

Варианты:

  1. Пользовательский индикатор на базе iEnvelopes с настройками цвета линии - таким образом вызывая его через iCustom и передавая нужный параметр, можно "выключить" нужную линию. Затем в советнике использовать два вызова изменённого iEnvelopes: один с периодом 14, второй с периодом 8
  2. В советнике использовать два вызова iEnvelopes: один с периодом 14, второй с периодом 8 и смириться с тем, что будут видны четыре линии (две от индикатора с периодом 14 и две от индикатора с периодом 8)
  3. В советнике использовать два вызова iEnvelopes: один с периодом 14, второй с периодом 8. Создать шаблон графика с именем советника, в этом шаблоне изменить цвета линий индикаторов. Шаблон с именем советника подхватится тестером в визуальном режиме автоматически. Нюанс: вручную нужно согласовывать (задавать) периоды для индикаторов в шаблоне графика с периодами в эксперте.

Интересно, но пока не понимаю как можно "выключить" нужную линию. Сам пытался, но не получилось.

Спасибо за идеи.

 
Artyom Trishkin:
Две МА с нужными периодами. 

Этот вариант до гениальности прост, но я не ищу легких путей.

Благодарю за отклик.

 
DCodec:

Этот вариант до гениальности прост, но я не ищу легких путей.

Благодарю за отклик.

Тогда кастомный индикатор с одной линией. Владимир уже вам подсказывал про него.
Впрочем, хотели бы сделать - уже бы сделали. Ощущение, что ищете проблему для её решения.
 
Artyom Trishkin:
Тогда кастомный индикатор с одной линией. Владимир уже вам подсказывал про него.
Впрочем, хотели бы сделать - уже бы сделали. Ощущение, что ищете проблему для её решения.

Нет, не проблему. Просто проигрываю в голове, на планшете нет возможности установить MT5.

На выходных доберусь до ПК и всё сделаю.

Спасибо всем за помощь.

Причина обращения: