Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1501
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подскажите пожалуйста, как решается ошибка 4806 - запрошенные данные не найдены. Хочу из индикатора получать данные разных периодов усреднения для болинджера. По букварю хендл в OnInit получают, а для моей цели он должен быть в OnCalculate отсюда и ошибка, видимо. Помогите разобраться на примере.
Организовано примерно так, извините за целостность.
Хенд индикатора в MQL5 нужно создавать в OnInit()!
Хенд индикатора в MQL5 нужно создавать в OnInit()!
Тогда на каждый период усреднения отдельный хендл будет?
Организовано примерно так, извините за целостность.
Освобождение ресурса не происходит..а так всё корректно, хоть и не эффективно
после iMA(...) и операций с ним, надо вызывать IndicatorRelease если он более ненужен
Для освобождения памяти компьютера от неиспользуемого больше индикатора служит функция IndicatorRelease(), которой передается хэндл этого индикатора.
А хендл индикатора можно создавать в любом месте кроме OnDeinit. Только озаботиться "что делать при ошибке создания"
@Vladimir Karputov @Maxim Kuznetsov Приклеить или прибить? )) Простая задача - сложная подготовка, в mql4 на один два делалось. И всё-таки как собрать данные болинджера по разным таймфреймам и периодам усреднения в один массив без ошибок?
у вас всё правильно, просто вы все хендлы съели, это исчерпаемый ресурс...их надо освобождать.
hdl=iMA(....)
if (hdl!=INVALID_HANDLE) {
/// do something
IndicatorRelease(hdl);
}
подсмотрите как у fxsaber в его библиотеках сделано, для упрощения переезда с 4 на 5
Первое что приходит в голову - это проверить работу индикатора, а потом смотреть советник
не могу найти ничего там, в индикаторе нет строк типа - выходов если..., обрабатывается каждый тик, и в робота приходит каждый тик.
весь м1 нет сигнала пока не сменится бар и новый сигнал, напомню сигнал все тики смотрит, обработки новый бар нет.
и напомню, что мне приходится тестировать сразу в 3 терминалах. похоронят меня с тремя терминалами в руке.
не могу найти ничего там, в индикаторе нет строк типа - выходов если..., обрабатывается каждый тик, и в робота приходит каждый тик.
весь м1 нет сигнала пока не сменится бар и новый сигнал, напомню сигнал все тики смотрит, обработки новый бар нет.
и напомню, что мне приходится тестировать сразу в 3 терминалах. похоронят меня с тремя терминалами в руке.
Возможно в индикаторе сигнал только при смене бара...
Лучше конечно видеть код.
С завистью смотрю, как товарищи на MQL5 быстро кодят, используя классы CTrade и другие, изначально встроенные в МТ5.
По разным, труднопреодолимым обстоятельствам, я вынужден до сих пор кодить на MQL4 и придумывать свои корявые конструкции.
М.б. уже есть есть такой набор классов для MQL4 ?
Заранее благодарю)