Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Си программисты.
Пример очень простой в данном случае. Посчитать суммарное время жизни всех закрытых позиций - куда сложнее задача для быстрой производительности.
Пример очень простой в данном случае. Посчитать суммарное время жизни всех закрытых позиций - куда сложнее задача для быстрой производительности.
Я уже объяснял причину вам ранее, но вы не приняли во внимание.
Я уже объяснял причину вам ранее, но вы не приняли во внимание.
Видимо, мне нужно поискать на форуме ваше объяснение.
Видимо, мне нужно поискать на форуме ваше объяснение.
В прошлый раз у вас был схожий вопрос, когда переданный параметр не кэшировался, а сразу передавался в код.
А как закешировали, скорость возросла. Выделяйте всегда память под переменную, только потом её используйте.
Аналогично и здесь, объявили переменную, память уже выделена, и дальнейшая работа с переменной будет быстрее, т.к. нет затрат на выделение памяти.
Это также касается получения значений из функции mql.
Даже разработчики рекомендовали тут на форуме, сперва получить значение из функции в переменную, а затем эту переменную использовать в условии if()
Посчитать суммарное время жизни всех закрытых позиций - куда сложнее задача для быстрой производительности.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2020.08.29 04:17
Возможно, есть вариант быстрее. Но шаг влево в условии того, что нужно посчитать, и логику, возможно, придется значительно менять. Непросто, в общем.
Возможно, есть вариант быстрее. Но шаг влево в условии того, что нужно посчитать, и логику, возможно, придется значительно менять. Непросто, в общем.
Дело не в условии, а в написании кода.
Хотя и условие можно заменить на switch, он побыстрее будет работать чем логическое условие if else.
Попробуй такой код, станет быстрее или нет? Если нет, то попробуй if else заменить на switch.
Надеюсь теперь понятен смысл, что все объявления переменных нужно выносить за цикл, и не переобъявлять их по 100500 раз.
Так же под каждое возвращаемое значение, выделяем память в виде переменной.
Ещё такой вариант кода, чтоб лишний раз не дёргать History для второго условия.
Можно ещё подумать, какое условие чаще будет выполнятся, поставить его первым в цикле, и continue переводить итерацию.
Ещё такой вариант кода, чтоб лишний раз не дёргать History для второго условия.
Дальше сами.
В МТ4 работает так же, просто создание кеша скрыто. На каждом OnTick/OnStart МТ4 терминал автоматически и экономно создает снепшот рыночного окружения для каждого эксперта.
Поэтому вы не можете оценить истинных задержек на подготовке данных из MQL4 кода. К счастью, в МТ4 данных мало и все просто.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2020.08.29 08:36
MT4x32 быстрее MT5x64 более, чем в четыре раза, при одинаковом количестве закрытых позиций.
Дальше сами.
Ну раз сами, то сами.
Но странно почему такой результат, это уже вопрос Ренату.
Моё подозрение на проверку хешмап DealsIn.TryGetValue
Посмотри под профилировщиком.