![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы шутите, конечно, все работает
Да, теперь все работает.
Я использовал последнюю версию со всеми 10 параметрами, и теперь все работает.
Спасибо.
BTW, я все еще не понимаю, почему более старая версия с 7 параметрами не работала!
Как на изображении выше, этот индикатор имеет 8 внешних параметров. Здесь 'TimeFrame' был определен как '0' перед строкой "xpMA".
Затем я объявил остальные 7 параметров, как показано ниже:
Так где я допустил ошибку, пожалуйста, укажите.
С уважением
Он должен учиться на распространенных ошибках.
Спасибо за поддержку и понимание :)
BTW, я все еще не понимаю, почему более старая версия с 7 параметрами не работала!
Как показано на рисунке выше, этот индикатор имеет 8 внешних параметров. Здесь 'TimeFrame' был определен как '0' перед строкой "xpMA".
Затем я объявил остальные 7 параметров, как показано ниже:
Так где я допустил ошибку, пожалуйста, укажите.
Позвольте мне сказать еще раз, используя iCustom , вы должны передавать параметры, соответствующие порядку объявления.
Передаваемые параметры и их порядок должны соответствовать порядку объявления и типу внешних переменных пользовательского индикатора. Если значения входных параметров не указаны, будут использованы значения по умолчанию.
Вы НЕ МОЖЕТЕ пропустить параметр
например, если пользовательский индикатор имеет 5 параметров, вы можете использовать его следующим образом:
но вы не можете использовать его таким образом:
повторюсь, используя iCustom , вы должны передавать параметры, соответствующие порядку объявления
вы НЕ можете пропустить какой-либо параметр
например, если пользовательский индикатор имеет 5 параметров, вы можете использовать его следующим образом:
Но вы не можете использовать его таким образом:
Вот что я делаю неправильно и не могу определить.
Хорошо, вот как я назначал параметры:
Param1=MA_Period
Param2=MA_Type
Param3=MA_Applied
Param4=T3MA_VolumeFactor
Param5=JMA_Phase
Param6=Step_Period
Параметр7=Режим отладки
Теперь какой из них неверен?
С уважением,
вы пропустили первый "TimeFrame".
вы пропустили первый параметр "TimeFrame".
Ооо, тогда это тот самый случай.
Если я пропущу любой из внешних параметров, то он не будет работать.
Но я пропустил его сознательно, так как он должен работать с текущим таймфреймом, который определен в начале:
iCustom(Null, 0, Param1,...)
Поэтому я подумал, что нет необходимости определять его снова как 'TimeFrame'.
Спасибо за исправление.
Ооо, тогда так и есть.
Если я пропущу какой-либо из внешних параметров, он не будет работать.
Нет, вы можете пропустить, но вы не можете пропустить, т.е. если есть 5 параметров и вы оставляете последние 2, то нет проблем.
но вы не можете пропустить 1 и использовать 2 3 4 5
Но я пропустил их сознательно, так как они должны работать с текущим таймфреймом, который определяется в начале:
iCustom(Null, 0, Param1,...)
Да, но терминал не знает, что содержит этот параметр, он может содержать что угодно (не обязательно таймфрейм)
Вот почему я подумал, что нет необходимости определять его снова как 'TimeFrame'.
Не думай, а действуй! ;-)
Спасибо за исправление.