добавьте пожалуйста в MT4 ArrayRemove, очень полезная функция.
сомневаюсь, что добавят, тут уже 32-битные версии МТ5 разработчики поддерживать не хотят
напишите сами
вот набросал, работает корректно (насколько я понял как работает ArrayRemove() - не пользовался)
void OnStart() { int arr[]; Print("--- ArrayRemoveMQL4 ---"); ArrayResize(arr, 20); for(int i = 0; i < ArraySize(arr); i++) arr[i] = i; ArrayPrint(arr); ArrayRemoveMQL4(arr, 5, 10); ArrayPrint(arr); Print("--- ArrayRemove ---"); ArrayResize(arr, 20); for(int i = 0; i < ArraySize(arr); i++) arr[i] = i; ArrayPrint(arr); ArrayRemove(arr, 5, 10); ArrayPrint(arr); } //+------------------------------------------------------------------+ template<typename T> bool ArrayRemoveMQL4(T& array[], uint start, uint count) { return(ArrayCopy(array, array, start, start + count) && ArrayResize(array, ArraySize(array) - count) > 0); } //+------------------------------------------------------------------+
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) --- ArrayRemoveMQL4 ---
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) --- ArrayRemove ---
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 15 16 17 18 19
единственное нужно обработку ошибок правильно сделать - самое трудное, не люблю
и не стал разбираться с параметром WHOLE_ARRAY - тоже нужно посчитать размеры массива, не интересно
сомневаюсь, что добавят, тут уже 32-битные версии МТ5 разработчики поддерживать не хотят
напишите сами
вот набросал, работает корректно (насколько я понял как работает ArrayRemove() - не пользовался)
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) --- ArrayRemoveMQL4 ---
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) --- ArrayRemove ---
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2020.06.11 16:44:16.123 tst2 (EURUSD,H1) 0 1 2 3 4 15 16 17 18 19
единственное нужно обработку ошибок правильно сделать - самое трудное, не люблю
и не стал разбираться с параметром WHOLE_ARRAY - тоже нужно посчитать размеры массива, не интересно
спасибо. а тут не давно в соседней ветке о кроссплатформенности мечтали))
наверно действительно стоит сделать собственную функцию ArrayRemove и использовать её и в 4 и 5. тогда точно будет одинаково

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
или дайте пожалуйста код самой функции по принципу как это сделано в этой статье https://www.mql5.com/ru/articles/81
что бы ArrayRemove в 4 и 5 работала одинаково.