← 返回

Нереальные тормоза

Здравствуйте.

Скачал S# 3.0.19, разбираюсь с примерами. SampleHistoryTester и SampleEmulationTester нереально тормозят.

SampleHistoryTester отработал интервал new DateTime(2009, 6, 1), new DateTime(2009, 7, 1) за 26 минут!!!

Дождаться завершения SampleEmulationTester просто не смог! За 30 минут прогресс бар не прошел и 10%.

Система Vista. Core2 Quad тоже должно хватать, как я думаю :) ...

В чем может быть дело?

本主题对您有帮助吗?

分享主题

评论 (5)

登录创建账户, 登录或注册以发表评论

Oppositus
Oppositus 作者

Latency ордеров - 5 секунд! И это при тестировании. Что будет, если использовать библиотеку для реальной торговли?

Oppositus
Oppositus 作者

Помогло выставление свойства IsForts (не описано в документации) в true:

var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit()) ;

Таки объясните кто-нибудь, что это было.

Mikhail Sukhov
Mikhail Sukhov

Oppositus: Таки объясните кто-нибудь, что это было.

Обсуждали схожую проблему с соседнем топике, где заявки отменялись, а не исполнялись. У вас видимо такое же. Переписывание стратегии примера проблему решило. Примеры в S# - это своего рода фейс контроль. Кто не может найти в них ошибку - тем падаваном не быть юным.🙂

Mikhail Sukhov
Mikhail Sukhov

Mikhail Sukhov:

Oppositus: Таки объясните кто-нибудь, что это было.

Обсуждали схожую проблему с соседнем топике, где заявки отменялись, а не исполнялись. У вас видимо такое же. Переписывание стратегии примера проблему решило. Примеры в S# - это своего рода фейс контроль. Кто не может найти в них ошибку - тем падаваном не быть юным.🙂

Запустил пример. Выяснил, что он не up to date к последней версии. Если идет переход на 3.1.XXX, то нужно сделать trader.StartExport();

Пример отработал с этим изменением на 1.5 минуты (на ноуте, 2200ггц, 2 ядра). Выдал такую же задержку в 5 минут. Причина оказалось банальной - шаг в истории 5 минут.

Переделал на 1 секунду шаг. Тестирование прошло за 7 минут (кстати, диапазоны я не менял, тоесть как было 3 месяца, так и осталось). Соответственно задержка стала в отчете в 1 секунду. Количество отмененных заявок сократилось, сделок стало больше, PnL уменьшился.🙂

Вывод: или уменьшать шаг, или котирование убирать. Или тестировать на реальной стратегии. Поддерживать нереальные примеры S# не так интересно.🙂

critic
critic

Михаил, вот зачем ты вводишь людей в заблуждение? Выключаю все стратегии, генератор стакана, оставляю только эмулятор. Т.е. программа только данные из хранилища достаёт. Данные - контракт RIM1 с марта по июнь. Скорость работы практически не изменилась. 6Гб памяти съедены полностью. Прогресс движется 10 процентов в 10 минут. Закомментировано даже создание стратегии!

На ваше "Примеры в S# - это своего рода фейс контроль. Кто не может найти в них ошибку - тем падаваном не быть юным": Ты бы выложил своё чадо в исходных текстах, как делают это все нормальные "нежадные" люди. А то возникает здравое предположение, что в твоём коде полно закладок, специальных и случайных багов и глюков. Где, интересно, ещё человек должен найти ошибку, прежде чем у него заработает хоть какой-то робот? И где гарантии, что опираясь на твои "ошибки" такой робот не сольёт информацию или попросту капитал? Есть прямое опасение, что цель твоего проекта вовсе не подарить правильно работающую библиотеку для построения биржевых роботов. Иначе, зачем тебе скрывать исходный код? Зачем вся эта обфускация? :)