Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть еще один момент. Тоже связан с количеством ордеров, но отработавших. При старте у вас нет истории и обращение к ней происходит очень быстро. Впоследствии же история накапливается и, если у вас есть цикл, проверяющий историю закрытых ордеров, то именно он может стать причиной замедления. Я эту проблему решал, вводя переменную, которая запоминает количество проверенных в истории ордеров и при следующем обращении к истории начинал только с нового номера. Но этот финт можно использовать только при тестировании. В онлайне все же лучше проверять всю историю.
Я замедление тоже всегда связывал с этой историей, и особо не заморачивался никогда. Но тут потребовалось значительно ускорить тестирование, т.к. в историю попадало большое количество ордеров. Сначала я ограничил проверку истории в цикле, сделав выход после нахождения нужного ордера. Это заметно ускорило процесс тестирования, но всё равно постепенное замедление к концу теста присутствовало. Первые полгода идут ещё более менее, но потом постепенно всё переходит на черепаший шаг.
Я решил вообще отказаться от запроса истории. Сделал вариант советника для тестирования, где формировал собственную историю посредством массива структуры требуемого мне размера. Т.к. мне требовались лишь несколько последних закрытых сделок, информацию о них я считывал непосредственно перед их закрытием советником.
Тем самым в советнике исключены запросы в массивы данных, которые увеличиваются по ходу тестирования. Тем более обработка их в цикле. Но скорость тестирования всё равно уменьшается с течением теста.
Может кто то уже решал такую проблему в своих программах.
Я замедление тоже всегда связывал с этой историей, и особо не заморачивался никогда. Но тут потребовалось значительно ускорить тестирование, т.к. в историю попадало большое количество ордеров. Сначала я ограничил проверку истории в цикле, сделав выход после нахождения нужного ордера. Это заметно ускорило процесс тестирования, но всё равно постепенное замедление к концу теста присутствовало. Первые полгода идут ещё более менее, но потом постепенно всё переходит на черепаший шаг.
Я решил вообще отказаться от запроса истории. Сделал вариант советника для тестирования, где формировал собственную историю посредством массива структуры требуемого мне размера. Т.к. мне требовались лишь несколько последних закрытых сделок, информацию о них я считывал непосредственно перед их закрытием советником.
Тем самым в советнике исключены запросы в массивы данных, которые увеличиваются по ходу тестирования. Тем более обработка их в цикле. Но скорость тестирования всё равно уменьшается с течением теста.
Может кто то уже решал такую проблему в своих программах.
Графические элементы при открытии/закрытии позиций отображаются на графике?
Если да, то по мере их появления удаляйте CTRL+B, это ускорит тест.
Ну так я без визуализации тестирую.
Тем не менее: выводит ли эксперт какие-либо графические объекты? Дело в том, что я также недавно столкнулся с такой неприятностью. Оказалось, что вывод графических объектов в режиме быстрого тестирования существенно замедляет тестирование. Поэтому пришлось сделать такую надстройку:
Ммм, есть там четыре линии. Думаете, они могут замедлить. И почему тогда к концу замедляется?
Возможно такое, что значки открытия/закрытия сделок тоже как то оказывают влияние на скорость в таком случае?
Тем не менее: выводит ли эксперт какие-либо графические объекты? Дело в том, что я также недавно столкнулся с такой неприятностью. Оказалось, что вывод графических объектов в режиме быстрого тестирования существенно замедляет тестирование. Поэтому пришлось сделать такую надстройку:
У меня раза в 3 или 5 медленнее с граф. объектами, месяц от 10 минут до получаса. Без визуализации ускоряет, но не в разы точно. Только когда вообще ничего не создаешь, тогда скорость приемлема, лет пять за ночь можно посмотреть. вин7, i3, 8гб, медленный винт.
Ммм, есть там четыре линии. Думаете, они могут замедлить. И почему тогда к концу замедляется?
Возможно такое, что значки открытия/закрытия сделок тоже как то оказывают влияние на скорость в таком случае?
Тестер, когда долго работает, почему то забирает на себя память, заметил. Этим многие программы грешат.
Ммм, есть там четыре линии. Думаете, они могут замедлить. И почему тогда к концу замедляется?
Возможно такое, что значки открытия/закрытия сделок тоже как то оказывают влияние на скорость в таком случае?
Дело не в количестве объектов. Достаточно будет и одного. Тормозит само обращение к графическим объектам, которое невозможно выполнить в среде с отсутствием устройства для отображения.
Попробуйте отключить все обращения к GUI при быстром тестировании. Если не поможет, то копайте в направлении обращения к истории счета и списку рабочих ордеров. Сначала отключите блок работы с ордерами и сравните скорость. Если и там не обнаружится проблем, то это уже специфика алгоритма советника. Тогда эту проблему решать только Вам самому.
Всю графику отключил, в том числе поставил clrNONE на значки открытия/закрытия ордеров. В рынке всегда один ордер, тут навряд ли тормоза будут сильные. Блок работы с историей отключил ещё вчера, об этом писал выше. Пробую таким образом прогнать.
Баг встречал и понял причину. Она столь смехотворна, что озвучивать опасно - скептики засмеют. Проявление такое: в режиме ВСЕ ТИКИ по мере течения модельного времени растет загрузка дисковой системы. Одно из выражений - лампочка индикации обращений с винчестеру.
Как бороться? Конечно же уменьшением временного интервала тестирования. Характер рынка быстро меняется. Поэтому тестировать стоит максимум за последний 2020 год. Да и то где-то с апреля или мая. Если уж хочется тестировать за прошлые годы, то каждый год по отдельности. Но помните: наша задача = профит, в противовес игре в тестер. Или Вы иначе считаете?