Филосовский вопрос - что для себя выбрать в качестве стандарта.

 

Сейчас как я понял в пятерке можно работать с котировками в режиме таймсерии, это когда последний по времени имеет индекс 0 или как с традиционными массивами когда последний по времени имеет индекс размера массива минус одни.


Так все таки для себя лучше - я как-то привык уже что последний нулевой. Но можно и восстановить привычки.  Вопрос в том, не спроста же придумали индексацию как в тайм серии?


Вот и не знаю - отвыкать или нет. Хотя все же пятый бар как-то проще понять что пять баров назад.


Что посоветует?

 
Academic:

Сейчас как я понял в пятерке можно работать с котировками в режиме таймсерии, это когда последний по времени имеет индекс 0 или как с традиционными массивами когда последний по времени имеет индекс размера массива минус одни.


Так все таки для себя лучше - я как-то привык уже что последний нулевой. Но можно и восстановить привычки.  Вопрос в том, не спроста же придумали индексацию как в тайм серии?


Вот и не знаю - отвыкать или нет. Хотя все же пятый бар как-то проще понять что пять баров назад.


Что посоветует?

В пятерке используется традиционная индексация, если хотите массив как тайм серию, его необходимо перевернуть с помощью функции

ArraySetAsSeries

Устанавливает флаг AS_SERIES указанному объекту динамического массива, индексация элементов массива будет производиться как в таймсериях.

bool  ArraySetAsSeries(
   void  array[],     // массив по ссылке
   bool  set          // true означает обратный порядок индексации
   );


 
sergey1294:

В пятерке используется традиционная индексация, если хотите массив как тайм серию, его необходимо перевернуть с помощью функции

ArraySetAsSeries

Устанавливает флаг AS_SERIES указанному объекту динамического массива, индексация элементов массива будет производиться как в таймсериях.

bool  ArraySetAsSeries(
   void  array[],     // массив по ссылке
   bool  set          // true означает обратный порядок индексации
   );


Добавлю. Тоже самое можно сделать и с индикаторными буферами.
 
joo:
Добавлю. Тоже самое можно сделать и с индикаторными буферами.
Да все понятно - :) Вопрос то был несколько в иной плоскости и даже более того - было утверждение что теперь в пятерке можно и так и эдак, но для себя надо один раз решить "как" и далее придерживаться уже этого стандарта. Я пока для себя решил что буду работать только в режиме таймсерия. Так и математически проше. Но на всякий случай - теперь в пятерке можно ВСЕ делать как хочешь - не хочешь работать с ТС не работай вообще.
 
Academic:
Да все понятно - :) Вопрос то был несколько в иной плоскости и даже более того - было утверждение что теперь в пятерке можно и так и эдак, но для себя надо один раз решить "как" и далее придерживаться уже этого стандарта. Я пока для себя решил что буду работать только в режиме таймсерия. Так и математически проше. Но на всякий случай - теперь в пятерке можно ВСЕ делать как хочешь - не хочешь работать с ТС не работай вообще.

Слишком филосовский вопрос, как Вам будет удобней :)

imho есть смысл совсем отказаться от перевёртывания индексации в таймсерию.

У таймсерии один плюс - удобство человеческого восприятия, компьютеру пофих)

В случае статического массива выбора нет.

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

 

Academic:

Так все таки для себя лучше - я как-то привык уже что последний нулевой. Но можно и восстановить привычки.  Вопрос в том, не спроста же придумали индексацию как в тайм серии?

Ваш вопрос, по-моему, относится к категории вида "С какой ноги начинать движение после остановки, с левой или правой?"

От себя могу сказать, что мне в разных случаях удобно по-разному, и формировать для себя стандарт в этом вопросе я считаю излишним. Например, сбегать на N баров назад удобнее, когда массив представлен как тайм-серия, а пробежаться от начала дня до его окончания в поисках нескольких восходящих минимумов-максимумов подряд удобнее при обычной индексации, так как не приходится инвертировать стандартное определение восходящего тренда на нисходящий.

Я обычно комментирую в коде, для чего использую ту или иную индексацию, это впоследствии очень помогает.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Объекты Ганна
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Объекты Ганна
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Объекты Ганна - Документация по MQL5
 
Vladix:

Ваш вопрос, по-моему, относится к категории вида "С какой ноги начинать движение после остановки, с левой или правой?"

От себя могу сказать, что мне в разных случаях удобно по-разному, и формировать для себя стандарт в этом вопросе я считаю излишним. Например, сбегать на N баров назад удобнее, когда массив представлен как тайм-серия, а пробежаться от начала дня до его окончания в поисках нескольких восходящих минимумов-максимумов подряд удобнее при обычной индексации, так как не приходится инвертировать стандартное определение восходящего тренда на нисходящий.

Я обычно комментирую в коде, для чего использую ту или иную индексацию, это впоследствии очень помогает.

Различие в подходах порождает ошибки.
 
Academic:
Различие в подходах порождает ошибки.
В данном случае ошибки как раз может породить использование одного вида индексации на все случаи жизни. Ведь чем проще код, тем сложнее сделать в нем ошибку. Или вы так не считаете?
 
Vladix:
В данном случае ошибки как раз может породить использование одного вида индексации на все случаи жизни. Ведь чем проще код, тем сложнее сделать в нем ошибку. Или вы так не считаете?
Вот тут и кроется чертик. :) Проще это то что привычнее, понятнее а не короче или красивее. Проще тот объект чья модель сейчас свежа в голове.
 
Academic:
Вот тут и кроется чертик. :) Проще это то что привычнее, понятнее а не короче или красивее. Проще тот объект чья модель сейчас свежа в голове.
Хммм... тогда вам наверняка будет сложно меня понять. Мой подход как раз и основан не на текущем "свежем" моменте, а на том, что рано или поздно к этому коду можно будет вернуться, либо для его модификации, либо для внедрения его в другой проект, либо для выделения этого кода в функцию или класс. И к тому моменту код, возможно, уже не будет настолько понятным и прозрачным, как на момент его написания.
 
Vladix:
Хммм... тогда вам наверняка будет сложно меня понять. Мой подход как раз и основан не на текущем "свежем" моменте, а на том, что рано или поздно к этому коду можно будет вернуться, либо для его модификации, либо для внедрения его в другой проект, либо для выделения этого кода в функцию или класс. И к тому моменту код, возможно, уже не будет настолько понятным и прозрачным, как на момент его написания.
Вот именно я это и говорю - стандарт нужен. :)
Причина обращения: