Индикатор добавляется только в тестер с визуализацией.
А зачем советнику уровни из индикатора? Они рисуются графическими, горизонтальными линиями? Может достаточно задать числовое значение уровня в советник?
Индикатор добавляется только в тестер с визуализацией.
Это понятно. Т.е. если режим не визуализации при тестировании, то для такого режима нужно всё-таки добавить индикатор при помощи функции ChartIndicatorAdd(). А в остальных случаях эта функция не бесполезна и можно обойтись лишь функцией iCustom(), верно?
А зачем советнику уровни из индикатора? Они рисуются графическими, горизонтальными линиями? Может достаточно задать числовое значение уровня в советник?
Ну как сказать. Все расчёты индикатора перенести в советник? Не вариант.. Там уровни высчитываются динимачески.
Это понятно. Т.е. если режим не визуализации при тестировании, то для такого режима нужно всё-таки добавить индикатор при помощи функции ChartIndicatorAdd(). А в остальных случаях эта функция не бесполезна и можно обойтись лишь функцией iCustom(), верно?
Ну как сказать. Все расчёты индикатора перенести в советник? Не вариант.. Там уровни высчитываются динимачески.
Ну, не видя индикатора говорить сложно, а изучать индикатор чтобы что-то вам посоветовать лениво.
Вот для чего нужна мне эта функция ChartIndicatorAdd
В тестере Индикатор рисует трендовые или горизонтальные линии - а Эксперт открывает от этих линии
так же и в реале - по времени выставится Индикатор от рисует свои уровни - но когда Эксперт откроет от его уровней Индикатор выставит опять эти уровни, Эксперт зациклится на открывании,
нужно что бы индикатор удалился после первого срабатывания Эксперта.
1. Выставит на график Индикатор
input group "---- Time ChartIndicatorAdd ----" input string InpIndi_name = "Имя Индикатора"; // Installation Indicator Name input datetime InpHoursFrom_1 = D'1970.01.01'; // Time Installation Indicator
2. Удалит Индикатор как Эксперт откроет позицию
input group "---- Indicator Delete ----" input string Inpshort_name = "Имя Индикатора"; // Delete Indicator Name input string Inpshort_name_1 = "Имя Индикатора"; // Delete Indicator Name input bool Inpres = false; // Delete All Indicators
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
тут вообще мудрил от трендовой линии выставляется Индикатор - круговорот Установится Удалится Индикатор
input string t8="----- ChartIndicatorAdd -----"; // : Работа с Trailing Line: 2 input bool InpChartInd = false; // Avto Line Chart Indicators input string InpIndiL = "AVERAGE 0"; // Line name (ChartIndicatorAdd) input int InpStep5 = 0; // Obj: Шаг сетки, пунктов("0" -> false) input string InpIndi_name = "Имя Индикатора"; // Installation Indicator Name input int InpChart = 0; // Window numbe input datetime InpMonday_1 = D'1970.01.01'; // Installation Indicator (00::00->off)
Ну, не видя индикатора говорить сложно, а изучать индикатор чтобы что-то вам посоветовать лениво.
Да ладно? Причём здесь индикатор? Я спросил о том, что по-моему, функция ChartIndicatorAdd() избыточна. Свою позицию я обосновал. Но, вчера я проверил это всё вскольз. Есс-но, возможно варианты. Поэтому и спросил.
Так вот каким боком индикатор в возможной избыточности функции в MQL это уже вопрос..
Вы сами поняли, что речь совсем не об индикаторе и индикатор на функции не влияет никак?
Вы сами поняли, что речь совсем не об индикаторе и индикатор на функции не влияет никак?
А вы сами поняли это предложение?
Если вам нужно из советника добавить индикатор на график, добавляйте и флаг вам в руки… Но факт, что при тестировании в режиме визуализации индикатор автоматом отображается, никак не говорит о бесполезности функции…
На этом я с вами прощаюсь, диалог закончен…………
А вы сами поняли это предложение?
Конечно, понимаю. Как индикатор может влиять на функцию? Это тоже самое, что приложение на базе того же Андроида будет влиять на язык Kotlin или Java, а не наоборот, архитектура языка влияет на приложение..
А вы сами поняли это предложение?
Если вам нужно из советника добавить индикатор на график, добавляйте и флаг вам в руки… Но факт, что при тестировании в режиме визуализации индикатор автоматом отображается, никак не говорит о бесполезности функции…
На этом я с вами прощаюсь, диалог закончен…………
Ну так есс-но. Так проще. Написать что-то и закончить разговор. Странные обиды без причины. Мой вопрос был такой:
Вместо ответа я услышал то, что вам влом изучать индикатор. Но я об этом и не просил.
Кстати, индикатор добавляется на график не только в режиме визуализации в тестере, но и в режиме реальной торговли. По сути, как я написал в первом сообщении функция ChartIndicatorAdd() полностью бесполезна.
Вот для чего нужна мне эта функция ChartIndicatorAdd
В тестере Индикатор рисует трендовые или горизонтальные линии - а Эксперт открывает от этих линии
так же и в реале - по времени выставится Индикатор от рисует свои уровни - но когда Эксперт откроет от его уровней Индикатор выставит опять эти уровни, Эксперт зациклится на открывании,
нужно что бы индикатор удалился после первого срабатывания Эксперта.
1. Выставит на график Индикатор
2. Удалит Индикатор как Эксперт откроет позицию
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
тут вообще мудрил от трендовой линии выставляется Индикатор - круговорот Установится Удалится Индикатор
Ваше сообщение я понял. Но ответа на мой вопрос это не даёт.
Это понятно. Т.е. если режим не визуализации при тестировании, то для такого режима нужно всё-таки добавить индикатор при помощи функции ChartIndicatorAdd(). А в остальных случаях эта функция не бесполезна и можно обойтись лишь функцией iCustom(), верно?
Ну как сказать. Все расчёты индикатора перенести в советник? Не вариант.. Там уровни высчитываются динимачески.
Если функция НЕ бесполезна, вероятно она очень нужна и её можно и нужно применять. Так?
Если можно обойтись только iCustom() то эта функция бесполезна и она НЕ нужна.
А вот как это может быть одновременно, поскольку две части предложения объединены союзом И, я не понимаю………
Плюс ко всему вы не дали ответ на вопрос об уровнях. И о чём продолжать разговор?
Это понятно. Т.е. если режим не визуализации при тестировании, то для такого режима нужно всё-таки добавить индикатор при помощи функции ChartIndicatorAdd(). А в остальных случаях эта функция не бесполезна и можно обойтись лишь функцией iCustom(), верно?
iCustom используется для индикаторов, оперирующих индикаторными буферами. Результат расчета таких индикаторов не отображается на графике. А вот те индикаторы, которые оперируют графическими объектами, отображают свои данные на графике. Думаю, что это побочный эффект (не продумано разработчиками) и такого быть не должно. То есть iCustom добавляет индикатор на виртуальный чарт, а ChartIndicatorAdd - на реально существующий.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер. Сегодня мне понадобилось добавить индикатор на график. Сам индикатор, по сути, торговомуроботу не нужен. Но ему нужно уровни, которые строит индикатор. Соответственно, нужно лишь добавить индикатор на график, а далее уже использовать уровни, которые индикатор используется. В данном случае, в коде мне обращаться к индикатору нет необходимости.
Изначально, я решил, что мне нужно лишь добавить индикатор на график функцией ChartIndicatorAdd(). Но интересно то, что эта функция принимает хэндл индикатора, который, в моём случае, кастомный и его можно создать при помощи функции iCustom(). А вот здесь самое интересное.
Зачем нужна функция ChartIndicatorAdd(), если при вызове функции iCustom() в любом месте кода индикатора, индикатор добавляется на график. По сути, это и натолкнуло меня на мысль спросить зачем вообще нужна функция ChartIndicatorAdd()? И нужно ли она вообще?