Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 796

 
Igor Makanu:

в MQL5 индикаторные буффера и таймсерии "развернуты" наоборот, по умолчанию самый левый бар в МТ5 это бар №0, а в МТ4 самый правый бар это бар №0 и индикаторные буффера такую же имеют нумерацию

ЗЫ: увы, с МТ5 не хочу возиться, мне для проверки идей МТ4 хватает, в МТ5 только готовою смотрю, если что и пишу под МТ5, то никому не показываю )))

Я в качестве примера смотрел код macd для пятерки, там SimpleMAOnBuffer без шаманства применили и возможности запустить его в обратную сторону нет.

Попробовал в обратную сторону считать 

   int limit;
   if(prev_calculated==0)
      limit=0;
   else limit=prev_calculated-1;

   for(int i=limit;i<rates_total && !IsStopped();i++)

то же самое получается, похоже проблема в чем то другом.

 
psyman:

Попробовал в обратную сторону считать 

в обратную сторону не так просто считать.... нужно массивы развернуть ArraySetAsSeries() - причем все, и буфера и таймсерии, которыми пользьзуетесь

и вот тогда можете как в МТ4 считать с право налево, и еще все манипуляции с сравнение и поиском наибольшего и наименьшего эл-та тоже нужно голову ломать в какую сторону сейчас массив...

мне такие задачи не нравятся, я беру и пишу на МТ4, на МТ5 все время себя перепроверяю ))))

Вы тем более используете стандартную библиотеку  #include <MovingAverages.mqh>  - тут я вообще не помощник, мне из стандартной библиотеки были интересны только графика и массивы, дальше не смотрел как там все устроено - смысла нет - готовых индикаторов "вагон с тележкой" под МТ4

 
Igor Makanu:

в обратную сторону не так просто считать.... нужно массивы развернуть ArraySetAsSeries() - причем все, и буфера и таймсерии, которыми пользьзуетесь

и вот тогда можете как в МТ4 считать с право налево, и еще все манипуляции с сравнение и поиском наибольшего и наименьшего эл-та тоже нужно голову ломать в какую сторону сейчас массив...

мне такие задачи не нравятся, я беру и пишу на МТ4, на МТ5 все время себя перепроверяю ))))

Вы тем более используете стандартную библиотеку  #include <MovingAverages.mqh>  - тут я вообще не помощник, мне из стандартной библиотеки были интересны только графика и массивы, дальше не смотрел как там все устроено - смысла нет - готовых индикаторов "вагон с тележкой" под МТ4

Сейчас посмотрел несколько индикаторов из стандартного набора, почему-то нигде ArraySetAsSeries() не используется. В справке МТ4 пишут:

Таймсерии представляют из себя массивы с обратной индексацией, то есть самый первый элемент таймсерии находится на крайней правой позиции, а последний элемент таймсерии находится на крайней левой позиции. https://docs.mql4.com/ru/series/bufferdirection

То же самое в МТ5:

Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым).

https://www.mql5.com/ru/docs/series


Библиотеку испльзовал потому как не знаю другого стандартного способа считать среднее, хотя по идее если убрали iMAOnArray что-то должно быть вместо него.

Доступ к таймсериям и индикаторам - Справочник MQL4
Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Функции для работы с таймсериями и индикаторами. Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым). Для копирования значений таймсерий и индикаторов рекомендуется использовать только динамические массивы, так как функции копирования...
 
psyman:

Сейчас посмотрел несколько индикаторов из стандартного набора, почему-то нигде ArraySetAsSeries() не используется. В справке МТ4 пишут:

Таймсерии представляют из себя массивы с обратной индексацией, то есть самый первый элемент таймсерии находится на крайней правой позиции, а последний элемент таймсерии находится на крайней левой позиции. https://docs.mql4.com/ru/series/bufferdirection

То же самое в МТ5:

Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым).

https://www.mql5.com/ru/docs/series


Библиотеку испльзовал потому как не знаю другого стандартного способа считать среднее, хотя по идее если убрали iMAOnArray что-то должно быть вместо него.

а Вы просто проверьте чем отличается нумерация в МТ4 и МТ5 - нарисуйте индикаторным буфером 10 Close от нулевого бара до 9 бара и сразу увидите где в МТ4 нарисует а где в МТ5

в топик про МТ5 пишите, там быстрее ну или не быстрее ))), может Артем тут покажется, он любит под МТ5 поучить, я не люблю МТ5 - сколько себя не заставлял

 
Igor Makanu:

а Вы просто проверьте чем отличается нумерация в МТ4 и МТ5 - нарисуйте индикаторным буфером 10 Close от нулевого бара до 9 бара и сразу увидите где в МТ4 нарисует а где в МТ5

в топик про МТ5 пишите, там быстрее ну или не быстрее ))), может Артем тут покажется, он любит под МТ5 поучить, я не люблю МТ5 - сколько себя не заставлял

Получается в справке МТ5 копипаста от МТ4?

Дайте ссылку плиз, в упор не вижу в каком месте можно вопрос по МТ5 задать.

 
psyman:

Получается в справке МТ5 копипаста от МТ4?

Дайте ссылку плиз, в упор не вижу в каком месте можно вопрос по МТ5 задать.

не копипаста, а нумерация в МТ5 как в обычных массивах - элемент с младшим индексом старший по времени, а элемент со старшим индексом появляется позже, самый левый бар в МТ5 номер 0, а самый правый бар = rates_total-1 - и так для всего и для буфера и для таймсерии, можно нумерацию изменить ArraySetAsSeries().... тут в общем Вы что то одно выберите для освоения или МТ4 или МТ5 - синтаксис команд одинаковый, но .... особенностей чем отличается МТ4 от МТ5 очень много

https://www.mql5.com/ru/forum/6343/page1020

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2019.03.26
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Igor Makanu:

не копипаста, а нумерация в МТ5 как в обычных массивах - элемент с младшим индексом старший по времени, а элемент со старшим индексом появляется позже, самый левый бар в МТ5 номер 0, а самый правый бар = rates_total-1 - и так для всего и для буфера и для таймсерии, можно нумерацию изменить ArraySetAsSeries().... тут в общем Вы что то одно выберите для освоения или МТ4 или МТ5 - синтаксис команд одинаковый, но .... особенностей чем отличается МТ4 от МТ5 очень много

https://www.mql5.com/ru/forum/6343/page1020

Спасибо

 
Igor Makanu:

а Вы просто проверьте чем отличается нумерация в МТ4 и МТ5 - нарисуйте индикаторным буфером 10 Close от нулевого бара до 9 бара и сразу увидите где в МТ4 нарисует а где в МТ5

в топик про МТ5 пишите, там быстрее ну или не быстрее ))), может Артем тут покажется, он любит под МТ5 поучить, я не люблю МТ5 - сколько себя не заставлял

Я появлюсь. Верно всё с серийностью. А MovingAverages.mqh работает в четвёрочном стиле - слева-направо.

С обсуждаемым кодом нужно не сильно разбираться - лишь поглядеть куда направлены все массивы и направить их в одну сторону - как в четвёрке. Просто мне совсем некогда...

 
psyman:

Получается в справке МТ5 копипаста от МТ4?

Дайте ссылку плиз, в упор не вижу в каком месте можно вопрос по МТ5 задать.

Здесь задавайте - тут учим переходу на пятёрку, ну или просто отвечаем на вопросы по обеим платформам. Но с уклоном на мультиплатформенность.

 
Artyom Trishkin:

Здесь задавайте - тут учим переходу на пятёрку, ну или просто отвечаем на вопросы по обеим платформам. Но с уклоном на мультиплатформенность.

Та уже задал https://www.mql5.com/ru/forum/160683/page795#comment_11143961

Причина обращения: