Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Exness-MT5Trial3, ECN-счет, с тестовым периодом с 1 января 2025 года по 5 февраля 2025 года.
Воспроизвел.
Однако, я устал очень долго ждать и нарываться на нехватку памяти и зависание браузера.
Поэтому значительно ускорил выполнение вашего кода и браузера.
Воспроизвел.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
hini, 2025.02.24 15:17
Для Report.mqh воспроизвести, как здесь, не смог.
Я ошибся с датой, это должно быть 15 января.
Если такую функцию в дебаге вызывать в OnTick, то получите срабатывание условия.
Причина в накапливаемой ошибке, т.к. баланс/эквити учитывают профит закрытых ордеров без нормализации.
Но при помещении в историю торговли происходит нормализация профита.
Вы можете добавить нормализацию при расчете баланса или отказаться от нормализации при добавлении в историю.
При такой правке изначально приведенная функция перестанет срабатывать. Однако, я не вижу однозначно правильного решения, и оставил бы так, как есть. Просто с пониманием, что такое может происходить. Вводить еще один #define для такой опции не хотел бы.
Если такую функцию в дебаге вызывать в OnTick, то получите срабатывание условия.
Причина в накапливаемой ошибке, т.к. баланс/эквити учитывают профит закрытых ордеров без нормализации.
Но при помещении в историю торговли происходит нормализация профита.
Вы можете добавить нормализацию при расчете баланса или отказаться от нормализации при добавлении в историю.
При такой правке изначально приведенная функция перестанет срабатывать. Однако, я не вижу однозначно правильного решения, и оставил бы так, как есть. Просто с пониманием, что такое может происходить. Вводить еще один #define для такой опции не хотел бы.
Почему тогда количество сделок отличается?
Это текущая ошибка QuickReport. В Report.mqh этой ошибки нет.
Это текущая ошибка QuickReport. В Report.mqh этой ошибки нет.
ok
Скажите, пожалуйста, как вы восстанавливаете данные о виртуальных позициях из последнего удаленного ЭА? В настоящее время я использую CopyTicksRange в OnInit для копирования данных Tick, начиная с времени первой открытой позиции перед удалением ЭА и заканчивая текущим временем, затем циклически запускаю стратегию по этим Ticks. Существует ли лучший способ?
Скажите, пожалуйста, как вы восстанавливаете данные о виртуальных позициях из последнего удаленного ЭА? В настоящее время я использую CopyTicksRange в OnInit для копирования данных Tick, начиная с времени первой открытой позиции перед удалением ЭА и заканчивая текущим временем, затем циклически запускаю стратегию по этим Ticks. Существует ли лучший способ?
Если сохранять виртуальное окружение, то теряется весь смысл самовосстановления EA.
Для боевой торговли во входном параметре советника указываю дату, с которой посчитать виртуальное окружение.
Использую более лаконичную запись.
Очень важно, что всегда в боевом терминале (не в Тестере) VIRTUAL::NewTick надо вызывать для новых тиков, полученных только из CopyTicks*, а не из SystemInfoTick. Таким образом не будут теряться тики.
Если сохранять виртуальное окружение, то теряется весь смысл самовосстановления EA.
Для боевой торговли во входном параметре советника указываю дату, с которой посчитать виртуальное окружение.
Использую более лаконичную запись.
Очень важно, что всегда в боевом терминале (не в Тестере) VIRTUAL::NewTick надо вызывать для новых тиков, полученных только из CopyTicks*, а не из SystemInfoTick. Таким образом не будут теряться тики.
У меня есть еще один вопрос. Если начальная дата указывается из входных параметров, то по мере прохождения времени, когда торговая система работает все дольше и дольше, она всегда будет использовать эту начальную дату? Например, если торговая система начала работать с 01.01.2025, и начальная дата также установлена на эту дату, то предположим, что на 01.03.2026 нужно перезагрузить EA. Будет ли начальной датой по-прежнему 01.01.2025? Как обновить эту дату? Начать новый период, когда все виртуальные/реальные торговые системы закроют свои позиции?