Здравствуйте !
Я довольно часто сталкиваюсь с необходимостью сдвига или переворота массивов, возможно кто то также часто использует такие операции ?
Для динамического массива нет необходимости переворота данных, достаточно изменить направление (ArraySetAsSeries) , но вот с статическим массивом так не получиться.
Решения типа:
for (int y = 0; y < ArraySize(Arr_0); y++) Arr_0[y] = Arr_1[ArraySize(Arr_1) - 1 - y];
или
for (int y = ArraySize(Arr) - 1; y > 0; y--) Arr[y] = Arr[y - 1];
позволяют осуществить задачу, но реализация на уровне MQL5 даст гораздо более высокое быстродействие, а подключать dll для решения простых задач возможно нет смысла.
Поэтому, если найдется существенное количество заинтересованных может стоить добавить операторы ArraySwap и ArrayMove ?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте !
Я довольно часто сталкиваюсь с необходимостью сдвига или переворота массивов, возможно кто то также часто использует такие операции ?
Для динамического массива нет необходимости переворота данных, достаточно изменить направление (ArraySetAsSeries) , но вот с статическим массивом так не получиться.
Решения типа:
for (int y = 0; y < ArraySize(Arr_0); y++) Arr_0[y] = Arr_1[ArraySize(Arr_1) - 1 - y];
или
for (int y = ArraySize(Arr) - 1; y > 0; y--) Arr[y] = Arr[y - 1];
позволяют осуществить задачу, но реализация на уровне MQL5 даст гораздо более высокое быстродействие, а подключать dll для решения простых задач возможно нет смысла.
Поэтому, если найдется существенное количество заинтересованных может стоить добавить операторы ArraySwap и ArrayMove ?