Доброе утро, форумчане.
Думаю мой вопрос уже обсуждался десятки раз. Но ответ найти не мог((((
Вопрос звучит следующим образом:
Создан пользовательский индикатор, строит линию на графике(считалась средняя средних и т.д.). Этот индикатор считается на основе многих символов, сами символы задаются во внешних параметрах при запуске индикатора. Их может быть от 2 до 20. На основе всех этих пар строится средняя.
Далее я создаю эксперта, который обращается к индикатору, применяю
iCustom(Возвращает хэндл указанного пользовательского индикатора.)
int iCustom( |
Я так понимаю,это первая форма вызова. Когда пользовательский индикатор считается на основе передаваемого символа.
НО, у меня под капотом индикатора их много. Например считаю индикатор на основе EURUSD,GBPUSD,NZDUSD.
Далее делаю эксперта, и чтобы доставать данные индикатора по первой форме вызова я должен передать символ на основе которого он считается, но блин он считается на основе многих.
Делема, как в EURUSD торговать эксперту, который основывается на индикаторе от EURUSD,GBPUSD,NZDUSD.
Не совсем верно в Вашем случае. Неверно: "... пользовательский индикатор считается на основе передаваемого символа ...", верно так: "... пользовательский индикатор ПРИКРЕПЛЯЕТСЯ к символу указанному в переменной symbol , а все расчёты он производит всё-равно внутри по своим заданным параметрам. А вот эти параметры (от 2-х и более) нужно передать через iCustom в списке входных параметров".
Не совсем верно в Вашем случае. Неверно: "... пользовательский индикатор считается на основе передаваемого символа ...", верно так: "... пользовательский индикатор ПРИКРЕПЛЯЕТСЯ к символу указанному в переменной symbol , а все расчёты он производит всё-равно внутри по своим заданным параметрам. А вот эти параметры (от 2-х и более) нужно передать через iCustom в списке входных параметров".
Спасибо, Владимир!!!
Ошибка закралась в другом месте. У меня неправильно определялся текущий символ.
Я так понимаю, что текущий символ берется из окна обзора рынка, т.е. тот символ который там самый первый? Просто пока я не поставил нужный символ в самый вверх, в отладке открывал то окно, которое первое в обзоре рынка.
ISL:
Ошибка закралась в другом месте. У меня неправильно определялся текущий символ.
Я так понимаю, что текущий символ берется из окна обзора рынка, т.е. тот символ который там самый первый? Просто пока я не поставил нужный символ в самый вверх, в отладке открывал то окно, которое первое в обзоре рынка.
Это очень странно. Символ берется с графика, на котором у Вас запущен эксперт или индикатор. Получается константой _Symbol или методом Symbol().
Это очень странно. Символ берется с графика, на котором у Вас запущен эксперт или индикатор. Получается константой _Symbol или методом Symbol().
Когда я просто запускаю индикатор или эксперта, на выделенном графике, все норм. Но вот если я запуская отладку с точкой останова, то у меня открывается и сам график , того символа который первый в обзоре рынка и переменная Symbol() в наблюдении равна тоже равна этой странной паре)
Когда я просто запускаю индикатор или эксперта, на выделенном графике, все норм. Но вот если я запуская отладку с точкой останова, то у меня открывается и сам график , того символа который первый в обзоре рынка и переменная Symbol() в наблюдении равна тоже равна этой странной паре)
В метаэдиторе выберите "Сервис / Настройки / Отладка / Символ". И будет Вам счастье.
В метаэдиторе выберите "Сервис / Настройки / Отладка / Символ". И будет Вам счастье.
А что вписать, мне же нужен будет постоянно действующий символ? Или надо будет при отладке, каждый раз вписывать тот символ который мне нужен в данный момент?
А что вписать, мне же нужен будет постоянно действующий символ? Или надо будет при отладке, каждый раз вписывать тот символ который мне нужен в данный момент?
Он сохраняется.

Он сохраняется.
Если я тестю в данный момент сбер,я туда вписываю сбер, завтра я хочу потестировать BTC, надо будет вписать BTC? Правильно?
Для отладки - да.
Для отладки - да.
Все понял! Только начал изучение, и вы уже мне очень помогли)
Спасибо огромное!
В будущем при возникновении вопросов(а возникать они будут), лучше создавать новую тему, или есть ветка, где все всё подряд спрашивают?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброе утро, форумчане.
Думаю мой вопрос уже обсуждался десятки раз. Но ответ найти не мог((((
Вопрос звучит следующим образом:
Создан пользовательский индикатор, строит линию на графике(считалась средняя средних и т.д.). Этот индикатор считается на основе многих символов, сами символы задаются во внешних параметрах при запуске индикатора. Их может быть от 2 до 20. На основе всех этих пар строится средняя.
Далее я создаю эксперта, который обращается к индикатору, применяю
iCustom(Возвращает хэндл указанного пользовательского индикатора.)
int iCustom(
string symbol, // имя символа
ENUM_TIMEFRAMES period, // период
string name // папка/имя_пользовательского индикатора
... // список входных параметров индикатора
);
Я так понимаю,это первая форма вызова. Когда пользовательский индикатор считается на основе передаваемого символа.
НО, у меня под капотом индикатора их много. Например считаю индикатор на основе EURUSD,GBPUSD,NZDUSD.
Далее делаю эксперта, и чтобы доставать данные индикатора по первой форме вызова я должен передать символ на основе которого он считается, но блин он считается на основе многих.
Делема, как в EURUSD торговать эксперту, который основывается на индикаторе от EURUSD,GBPUSD,NZDUSD.