Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А какой именно?
попробовал на паре индикаторов. раньше оба работали нормально, теперь нет.
2) часто возникают проблемы при попытке тестового прогона с подключением к ядрам (срабатывает с n-ого захода). см. картинку.
Группа телепатов уже занимается вашей проблемой.
не нужно быть телепатом чтобы понять, что iCustom() не работает как должен.
для проверки можно выполнить код эксперта:
double buffer[];
ResetLastError();
int MA_handle = iCustom(NULL, 0, "Examples\\Custom Moving Average", 21, 0, MODE_SMMA);
//int MA_handle = iMA(NULL, 0, 21, 0, MODE_SMMA, PRICE_MEDIAN);
Print("MA_handle = ", MA_handle, " error = ", GetLastError());
int copy = CopyBuffer(MA_handle, 0, 0, 5, buffer);
if (copy == -1) Print("Неудачная попытка получить значения индикатора Custom Moving Average");
else
for (int i = 0; i < 5; i++) Print("buffer[", i, "] = ", buffer[i]);
и результатом будет сообщение "Неудачная попытка получить значения индикатора Custom Moving Average".
т.е. CopyBuffer даёт ошибку (возвращает значение -1) для хэндла индикатора iCustom(). если взять стандартный индикатор iMA(), то тот же код работает!
Посмотрите направление индексации полученного массив, может его нужно развернуть.
все в порядке с направлением индексации и в предыдущих билдах тоже самое работало. в 448 и 450 - не работает.
я уже неоднократно предлагал разработчикам тщательнее тестировать основной функционал терминала,
но от билда к билду в терминале вместо одних критических ошибок - появляются другие и тоже критические.
т.е. одно чинится и другое, что уже нормально работало - ломается и конца этому не видно. стабильной версии, видимо, не дождаться (((
Слипчик перед копированием данных поставьте, на расчёт индикатора требуется время, поэтому хотя хендл возвращается корректно но данные ещё не рассчитаны,
вообще то индикаторы рекомендуется вызывать в ините, а запрашивать данные уже в OnTick() или других спецфункциях.
опять же вы копируете 5 данных от нулевого бара, но в копибуфер нулевой бар это гдето в районе 1970 года(зависит от настроек макс бар), поэтому я и говорил посмотрите индексацию массива.
Слипчик перед копированием данных поставьте, на расчёт индикатора требуется время, поэтому хотя хендл возвращается корректно но данные ещё не рассчитаны
Sleep(1000); // 1 сек. после вызова iCustom() действительно помог, НО... мне что теперь подбирать время задержки ? я откуда должен узнать сколько процесс расчёта займет ?
это неправильно отдавать корректный хэндл индикатора указывающий на мусор ! и раньше, видимо, работало правильно, потому-что такой проблемы не было.
вообще то индикаторы рекомендуется вызывать в ините, а запрашивать данные уже в OnTick() или других спецфункциях.
это мне хорошее замечание, спасибо ) потому-что сделай я так и проблемы бы не увидел...
опять же вы копируете 5 данных от нулевого бара, но в копибуфер нулевой бар это гдето в районе 1970 года(зависит от настроек макс бар), поэтому я и говорил посмотрите индексацию массива.
насколько я понимаю, из справочной документации, в CopyBuffer() нулевой бар - это фактически "настоящее время", а уже при копировании происходит разворот массива.
Sleep(1000); // 1 сек. после вызова iCustom() действительно помог, НО... мне что теперь подбирать время задержки ? я откуда должен узнать сколько процесс расчёта займет ?
это неправильно отдавать корректный хэндл индикатора указывающий на мусор ! и раньше, видимо, работало правильно, потому-что такой проблемы не было.
Можно ли программно установить следующие опции индикатора (обведенные красным)?
Что-то не нашел как это сделать.
Не знаю стоит ли отнести это к багу, но по-моему есть ошибки в коде библиотек для всех типов мувингов ( SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) для мастера, см. CSignalTEMA::ShortCondition()
Так же в Библиотеке SignalMA в
Не знаю стоит ли отнести это к багу, но по-моему есть ошибки в коде библиотек для всех типов мувингов ( SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) для мастера, см. CSignalTEMA::ShortCondition()
Так же в Библиотеке SignalMA в
https://www.mql5.com/ru/forum/1111/page391#comment_67358
Приведите полную строку вызова.
/i:<путь к папке MQL5>
Приведите полную строку вызова.
Вот все испробованные варианты:
После каждой попытки выполнялась проверка на существование файла по пути
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44D6FB562C883F0C70690F3306A3851D\MQL5\Scripts\sInstallerTestScript.ex5
Инклудник по пути
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44D6FB562C883F0C70690F3306A3851D\MQL5\Include\InstallerTestInclude\IncInstallerTest.mqh
существует.
Проверка существания выполнялась функцией: