Особенности языка mql5, тонкости и приёмы работы - страница 222
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это не новость, они так всегда от рождения работают.
только если данные больше чем __atomic__ надо доступ обкладывать/защищать критическими секциями (или mutex в терминал std::thread)
Ну вот я не знал такого поведения, и ожидал при импорте отдельный процесс.
Так как думал что глобальные указатели DLL будут новые, в каждой загруженной программе МТ5.
С чем и пришлось попотеть в понимании логики, недоумевая почему вылетает ошибка по памяти.
Но когда методом тыка(принта) понял причину, то по другому тогда строится весь архитектурный план работы с DLL.
Блин, а насчёт мютексов ты прав, что то не подумал. Спасибо за подсказку.
Да. Хотя если метод без параметров, то можно так:
Применение:
При частичном исполнении отложек меняется поле ORDER_TIME_SETUP_MSC.
Как следствие, DEAL_TIME_MSC может быть меньше ORDER_TIME_SETUP_MSC своего ордера.
Как насчет использования пользовательской функции сравнения:
Вы правы, спасибо! Я перестарался на ровном месте. Оставлю ваш вариант для сортировки.
Применение.
ЗЗЫ Жаль, что по подполям или методам не работает.
Вот оптимизированный QuickSort из моей библиотеки, немного адаптированный под ваши требования.
Он может сортировать огромные массивы без переполнения стека (из-за неконтролируемой рекурсии).
Привет и спасибо, что поделились!
Это было бы идеально, если бы работало. Однако, при вставке в скрипт .mq5 и выполнении, к сожалению, ваш код выдает следующую ошибку(и):
Не могли бы вы исправить это? Для вас это, вероятно, просто, тогда как я не знаю, с чего начать :-)
При использовании ArrayInsert можно экономить на памяти в случае, когда Array_Destination[] меньше, чем Array_Source[], из которого добавляются элементы.
Для этого надо дважды применить ArraySwap: до и после ArrayInsert.
Например, это актуально, когда работаешь с большими MqlTick-архивами и т.д.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2022.02.20 15:00
Вы правы, Спасибо! Перемудрил я на ровном месте. Оставлю Ваш вариант для сортировки.
Применение.
Была ошибка в метода Partition. Исправленный вариант.
Была ошибка в метода Partition. Исправленный вариант.
Для частного случая, когда для сортировки берется числовое поле (самая частая ситуация), написал вариант, который быстрее предыдущего на несколько порядков. Но при этом потребляет памяти в два раза больше. Актуально для больших массивов.
Применение (с замером времени выполнения).
Результат.