Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 771
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
только не календарных. 30 дневных баров назад (воскресенья, субботы)
Судя по функции без параметра shift вы в 5ке делаете, а вопрос в четвёрошной ветке задали :)
Да, 30 баров это 21 рабочий день, если считать от вчера. (24.02.2019 - 25.01.2019)
У меня получились
за Месяц средний размер свечи : 598
за Неделю средний размер свечи: 519
А iATR() выдаёт десятизначные числа...
Так что я пока не пойму как его использовать.
А iATR() выдаёт десятизначные числа...
Обычно, десятичные дроби (т.е. как у цены. Чтоб в пункты перевести нужно разделить на _Point).
См. иллюстрацию: евро/доллар на сегодня - 560 пунктов по дневным за месяц.
Обычно, десятичные дроби (т.е. как у цены. Чтоб в пункты перевести нужно разделить на _Point).
См. иллюстрацию: евро/доллар на сегодня - 560 пунктов по дневным за месяц.
Проверил в MQL4. У меня получается так:
Обычно, десятичные дроби (т.е. как у цены. Чтоб в пункты перевести нужно разделить на _Point).
См. иллюстрацию: евро/доллар на сегодня - 560 пунктов по дневным за месяц.
Проверил в MQL5. Написал такой код для проверки:
Вот что он выдаёт:
т.е. получается показывает одно, а выдаёт другое значение...
Проверил в MQL5. Написал такой код для проверки:
Вот что он выдаёт:
т.е. получается показывает одно, а выдаёт другое значение...
В MQL5 такая конструкция работы с индикатором не пригодна
Сначала нужно создать хендл, что вы сейчас и сделали, а после этого уже получать значения с CopyBuffer
В MQL5 такая конструкция работы с индикатором не пригодна
Сначала нужно создать хендл, что вы сейчас и сделали, а после этого уже получать значения с CopyBuffer
Спасибо, учту и перепишу код.
Я просто пишу в в МТ4 и с помощью #include <MT4Orders.mqh> тестирую в МТ5.
Возможно библиотека не поддерживает Индикаторы.
Спасибо, учту и перепишу код.
Я просто пишу в в МТ4 и с помощью #include <MT4Orders.mqh> тестирую в МТ5.
Возможно библиотека не поддерживает Индикаторы.
Да, только торговые функции.
Спасибо, учту и перепишу код.
Я просто пишу в в МТ4 и с помощью #include <MT4Orders.mqh> тестирую в МТ5.
Возможно библиотека не поддерживает Индикаторы.
Это очень быстрый вариант совместить две платформы, он рабочий, но так в mql5 лучше не делать
Ну и применять индикатор подобным образом как в mql4
Это очень быстрый вариант совместить две платформы, он рабочий, но так в mql5 лучше не делать
Ну и применять индикатор подобным образом как в mql4
Огромное спасибо за Код.
Получилось так:
Теперь у меня есть усреднённые данные на начало старта Советника. И эти данные пересчитываются при каждом обращении к функции.
Чтобы ограничить обращение, я так понимаю, нужно сделать буферную запись, с рассчитанными данными.
Получается, нужно задать условие для пересчёта. По "Понедельникам" и если в буфере ничего нет.(перезапуск Робота)
т.е. объявить переменную buferStep = -1; и в OnTick() if buferStep <0 или "Понедельник" то пересчёт.
Вот тут опять у меня затык, как Роботу объявить что сегодня "Понедельник" ?
Огромное спасибо за Код.
Получилось так:
Теперь у меня есть усреднённые данные на начало старта Советника. И эти данные пересчитываются при каждом обращении к функции.
Чтобы ограничить обращение, я так понимаю, нужно сделать буферную запись, с рассчитанными данными.
Получается, нужно задать условие для пересчёта. По "Понедельникам" и если в буфере ничего нет.(перезапуск Робота)
т.е. объявить переменную buferStep = -1; и в OnTick() if buferStep <0 или "Понедельник" то пересчёт.
Вот тут опять у меня затык, как Роботу объявить что сегодня "Понедельник" ?
Ну как-бы Я не использовал-бы понедельник, использовал-бы просто количество дней назад. А значения получал-бы на каждом новом баре, чтоб не нагружать советник расчётами на каждом тике.