Creation идет последним а не первым. Собственно не понимаю почему переданный шаг не применяется к индикатору в чем может быть проблема?
Последовательность параметров в iCustom должна быть такая же как в индикаторе.
Ну дак я его и перенес в конец, что бы он был по умолчанию
В советнике iCustom пересчитывает индикатор по своим параметрам, а сам индикатор отображается по своим параметрам. Чтобы в тестере с визуализацией видеть индикатор с параметрами советника, надо подготовить шаблон с установленным индикатором под именем tester или с тем-же именем как и советник.
А можно поподробнее (или ссылку почитать? )
А если у меня два индикатора, тогда как быть?
Я взял для примера индикатор опубликованный в этой статье: https://www.mql5.com/ru/docs/indicators/isar
Я хочу что бы в значение
Задавалось во входных параметрах советника который использует этот индикатор
Я это делаю так:
Но индикатор инициируется все равно с параметрами 0.02 которые указаны по умолчанию. Если верить документации: https://www.mql5.com/ru/docs/indicators/icustom то iCustom после трех аргументов принимает переменное кол-во параметров, и передает их в индикатор.
Да я немного поменял последовательность параметров в индикаторе выше.
Creation идет последним а не первым. Собственно не понимаю почему переданный шаг не применяется к индикатору в чем может быть проблема?
Хотите задавать параметры индикатора отличные от тех, что идут по умолчанию и при этом чтобы Ваши параметры (а не те что идут по умолчанию) отображались в Тестере стратегий - пишите свой индикатор у которого во входные параметры вынесены настройки. Например:
RSI LiDo Color имеет во входных параметрах настройки уровней и в тестере он эти уровни отображает. Допустим я задам ему 73 и 26
и они отобразятся в тестере:
Хотите задавать параметры индикатора отличные от тех, что идут по умолчанию и при этом чтобы Ваши параметры (а не те что идут по умолчанию) отображались в Тестере стратегий - пишите свой индикатор у которого во входные параметры вынесены настройки. Например:
RSI LiDo Color имеет во входных параметрах настройки уровней и в тестере он эти уровни отображает. Допустим я задам ему 73 и 26
и они отобразятся в тестере:
Блин я так это и сделал, вот как вы этот индикатор вызываете у себя в советнике можно пример?
Потому что я делаю то же самое и там все равно значения по умолчанию.
input double step=0.02; // шаг - коэффициент ускорения при подтягивании стопов input double maximum=0.2; // максимальное значение шага //... indicator_isar = iCustom(asymbol.Name(),Period(),"algotrade_isar",step,maximum);
/////////
а вот так, тоже не работает?
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
или вот так!
//--- входные параметры input string symbol=" "; // символ input ENUM_TIMEFRAMES period=PERIOD_CURRENT; // таймфрейм input double step=0.02; // шаг - коэффициент ускорения при подтягивании стопов input double maximum=0.2; // максимальное значение шага input Creation type=Call_iSAR; // тип функции //... indicator_isar = iCustom(symbol,period,"algotrade_isar",step,maximum,type);
input string symbol="EURUSD"; // символ
проверил вот так - всё отлично работает!
//+------------------------------------------------------------------+ //| isar_algotrade.mq5 | //| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Перечисление способов создания хэндла | //+------------------------------------------------------------------+ enum Creation { Call_iSAR, // использовать iSAR Call_IndicatorCreate // использовать IndicatorCreate }; //--- входные параметры input string symbol="EURUSD"; // символ input ENUM_TIMEFRAMES period=PERIOD_CURRENT; // таймфрейм input double step=0.02; // шаг - коэффициент ускорения при подтягивании стопов input double maximum=0.2; // максимальное значение шага input Creation type=Call_iSAR; // тип функции //--- int indicator_isar; // variable for storing the handle of the iRSI indicator //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- create handle of the indicator iRSI indicator_isar = iCustom(symbol,period,"algotrade_isar",step,maximum,type); //--- if the handle is not created if(indicator_isar==INVALID_HANDLE) { //--- tell about the failure and output the error code PrintFormat("Failed to create handle of the iRSI indicator for the symbol %s/%s, error code %d", Symbol(), EnumToString(Period()), GetLastError()); //--- the indicator is stopped early return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
индикатор из примера документации
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я взял для примера индикатор опубликованный в этой статье: https://www.mql5.com/ru/docs/indicators/isar
Я хочу что бы в значение
Задавалось во входных параметрах советника который использует этот индикатор
Я это делаю так:
Но индикатор инициируется все равно с параметрами 0.02 которые указаны по умолчанию. Если верить документации: https://www.mql5.com/ru/docs/indicators/icustom то iCustom после трех аргументов принимает переменное кол-во параметров, и передает их в индикатор.
Да я немного поменял последовательность параметров в индикаторе выше.
Creation идет последним а не первым. Собственно не понимаю почему переданный шаг не применяется к индикатору в чем может быть проблема?