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

 
Andrei Sokolov #:

Подскажите по ArraySetAsSeries пожалста.

но если:

то:  arr: 3 2 1 0

Получается, что меняется направление индексации, причём с эффектом как будто происходит физическое преобразование массива.

Прикольненько, даже не подозревал об этом )

 
Aleksandr Slavskii #:

Получается, что меняется направление индексации, причём с эффектом как будто происходит физическое преобразование массива.

Прикольненько, даже не подозревал об этом )

Я об этом и спрашивал - как под капотом этот эффект реализован?

 
Andrei Sokolov #:

Я об этом и спрашивал - как под капотом этот эффект реализован?

во внутреннем объекте имеется флаг показывающий с какой стороны отсчитывать индексы

 
Maxim Kuznetsov #:

во внутреннем объекте имеется флаг показывающий с какой стороны отсчитывать индексы

Это и так понятно.

Ясно. Никто не знает)

 
Aleksandr Slavskii #:

Получается, что меняется направление индексации, причём с эффектом как будто происходит физическое преобразование массива.

Прикольненько, даже не подозревал об этом )

Предположу что ArraySetAsSeries указывает на то как массив копируется при следующем изменении размера.

 

обычный массив
arr[0]=1;
arr[1]=2;
arr[2]=3;

добавляем элемент
arr[3]=4;

итог: 1,2,3,4

-------
массив серия
arr[0]=3;
arr[1]=2;
arr[2]=1;

добавляем элемент
arr[3]=4;

итог: 3,2,1,4

если Вы хотите вставить 4 перед 3 нужно перед этим сделать массив обычным, а затем снова серией,
при увеличении массива элементы добавляются в конец массива, что у них под капотом не видел)

 
Давно меня тут не было ;)
int OnCalculate(const int32_t   rates_total,
                const int32_t   prev_calculated,
                const datetime  &time[],
                const double    &open[],
                const double    &high[],
                const double    &low[],
                const double    &close[],
                const long      &tick_volume[],
                const long      &volume[],
                const int32_t   &spread[])
Для чего это изменение? - по существу как я понял ничего не поменялось, кроме увеличения занимаемого объёма памяти
 
Alexandr Sokolov #:
Давно меня тут не было ;)
Для чего это изменение? - по существу как я понял ничего не поменялось, кроме увеличения занимаемого объёма памяти

чтобы жизнь медом не казалась, еще больше взорвать мозг не профессиональным программистам


с появлением deepseek стало гораздо проще, многие вопросы накопившиеся сразу отпали, так и пишите - mql5 и сам вопрос, нейросеть это просто спасение, не стесняйтесь задавать уточняющие вопросы там, типа покажи другой вариант

 
Alexandr Sokolov #:
Давно меня тут не было ;)
Для чего это изменение? - по существу как я понял ничего не поменялось, кроме увеличения занимаемого объёма памяти

это вы где откопали ?

в справочнике пока-что всё по прежнему..

объём памяти кстати и не страдает от int -> int32_t, как было 4-ре байта так и осталось. 

 
Maxim Kuznetsov #:
int32_t,

В справке уже есть. https://www.mql5.com/ru/docs/basis/types/integer

Документация по MQL5: Основы языка / Типы данных / Целые типы
Документация по MQL5: Основы языка / Типы данных / Целые типы
  • www.mql5.com
Целые типы представлены в языке MQL5 одиннадцатью видами. Некоторые из типов могут использоваться вместе с другими, если этого требует логика...