Не правильно работает простая функция

 

Добрый день Уважаемые Форумчане.
Пишу советник на основе индикатора.
Индикатор не мой, бесплатный хотела его подключить к советнику.
Подключаю стандартным способом:

........

#resource "\\Indicators\\RealPro\\fxr_sr_zones.ex4"  // Подгружаю

.......

input double factor=0.4;                      // Подгружаю настройки
input int zone_extend=1;
input int TimeFrame=0;
input int zone_show_weak=1;
input int zone_show_untested=1;
input int zone_show_turncoat=1;
input int zone_show_info=1;
input int zone_label_shift=5;
input int zone_show_alerts=0;
input int send_email=0;
input int send_mobil_notification=0;
input int new_zone_alert=0;
input int new_zone_mobil_notification=0;
input int zone_alert_waitseconds=300;

............

// Подгружаю в код советника

double Signal_fxr_sr_zones_DOWN = iCustom(Symbol(),PERIOD_CURRENT,"::Indicators\\RealPro\\fxr_sr_zones",factor,zone_extend,TimeFrame,zone_show_weak,zone_show_untested,zone_show_turncoat,zone_show_info,zone_label_shift,zone_show_alerts,send_email,send_mobil_notification,new_zone_alert,new_zone_mobil_notification,zone_alert_waitseconds, 1, 1);
Запускаю в тестере, а советник загружает множество копий индикатора. (Снимок прикрепила)

Подскажите в чем проблема пожалуйста?
Файлы:
 
Natalya Smirnova:

Добрый день Уважаемые Форумчане.
Пишу советник на основе индикатора.
Индикатор не мой, бесплатный хотела его подключить к советнику.
Подключаю стандартным способом:

Запускаю в тестере, а советник загружает множество копий индикатора. (Снимок прикрепила)

Подскажите в чем проблема пожалуйста?

Передаете неправильные кол-во переменных для индикатора.

т.е. индикатор, допустим, имеет 5 внешних переменных, вы передаете 4 или 6, неправильное кол-во в функции iCustom

 
Nikita Chernyshov #:

Передаете неправильные кол-во переменных для индикатора.

т.е. индикатор, допустим, имеет 5 внешних переменных, вы передаете 4 или 6, неправильное кол-во в функции iCustom

Спасибо большое за ваш ответ.
В индикаторе (при запуске его в тестере) отображаются переменные

input double factor=0.4;
input int zone_extend=1;
input int TimeFrame=0;
input int zone_show_weak=1;
input int zone_show_untested=1;
input int zone_show_turncoat=1;
input int zone_show_info=1;
input int zone_label_shift=5;
input int zone_show_alerts=0;
input int send_email=0;
input int send_mobil_notification=0;
input int new_zone_alert=0;
input int new_zone_mobil_notification=0;
input int zone_alert_waitseconds=300;
Но имеются еще настройки цвета линий. Их скорее всего тоже нужно передавать?
Прикрепила снимок настроек индикатора
Список того, что я на данный момент передаю написала.
Файлы:
 
Natalya Smirnova #:

Спасибо большое за ваш ответ.
В индикаторе (при запуске его в тестере) отображаются переменные

Но имеются еще настройки цвета линий. Их скорее всего тоже нужно передавать?
Прикрепила снимок настроек индикатора
Список того, что я на данный момент передаю написала.

вторая переменная в индикаторе имеет тип bool, а вы передаете int- нужно чтобы все соответствовало. Лишние параметры с конца можно не передавать.

Следующая текст-разделитель, а вы передаете TimeFrame

.. итд..
 

Если в индикаторе есть хотя бы один строковый параметр, то ничего не поможет. Каждый вызов такого индикатора терминал считает вызовом индикатора с другими параметрами. 

Попробуйте связаться с автором и попросить его убрать все строковые параметры из настроечных параметров. У меня с полгода назад была аналогичная проблема. Именно так и решилась.

 
Ihor Herasko #:

Если в индикаторе есть хотя бы один строковый параметр, то ничего не поможет. Каждый вызов такого индикатора терминал считает вызовом индикатора с другими параметрами. 

Попробуйте связаться с автором и попросить его убрать все строковые параметры из настроечных параметров. У меня с полгода назад была аналогичная проблема. Именно так и решилась.

 Вы не правы, вообще в первый раз такое слышу.. Постоянно работаю с такими индикаторами.. Если параметр строкой, то его и надо передать, то есть строку и все..

 
Ihor Herasko #:

Если в индикаторе есть хотя бы один строковый параметр, то ничего не поможет. Каждый вызов такого индикатора терминал считает вызовом индикатора с другими параметрами. 

Попробуйте связаться с автором и попросить его убрать все строковые параметры из настроечных параметров. У меня с полгода назад была аналогичная проблема. Именно так и решилась.

Не, такого не наблюдал. По крайней мере в mql4

Иногда разделители параметров делают строковым значением. Я его всегда передаю просто также строкой и все нормально. 

 

Вот так делаю и всё всегда работает

iCustom(NULL, 0, indicatorFileName, 12, "", "", 32, i+1);
 
Vitaly Muzichenko #:

Вот так делаю и всё всегда работает

Так же делаю и всё работает всегда. В первый раз слышу чтобы строковые параметры убивали возможность работать с индикатором программно.

 
Сам индикатор может запускать кучу своих копий.
На англоязычном форуме есть знаменитый деятель, который всегда так делает - вызывает копии самого себя)
 
Nikolay Ivanov #:

 Вы не правы, вообще в первый раз такое слышу.. Постоянно работаю с такими индикаторами.. Если параметр строкой, то его и надо передать, то есть строку и все..

Так "не прав" или "в первый раз слышу"? Согласитесь, разные термины. Ну теперь будете знать. Не знать - не стыдно. Стыдно не признавать очевидное.

Nikita Chernyshov #:

Не, такого не наблюдал. По крайней мере в mql4

Вот, понаблюдайте.

Artyom Trishkin #:

Так же делаю и всё работает всегда. В первый раз слышу чтобы строковые параметры убивали возможность работать с индикатором программно.

Странно, что для Вас это откровение.

Кликабельно.

Эксперт для воспроизведения прикреплен.

Индикатор, хоть и из Маркета, но бесплатный.

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