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

Нереальные тормоза
Atom
4/16/2011
Oppositus


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

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

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

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

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

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



Thanks:


Oppositus

Avatar
Date: 4/16/2011
Reply


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

Oppositus

Avatar
Date: 4/16/2011
Reply


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

var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit()) { IsForts = true };

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

Mikhail Sukhov

Avatar
Date: 4/16/2011
Reply


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


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

Mikhail Sukhov

Avatar
Date: 4/18/2011
Reply


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


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


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

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

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

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

critic

Avatar
Date: 7/5/2011
Reply


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

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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy