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


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

Скачал 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:




5 Answers
Oppositus

Avatar
Date: 4/16/2011
Reply


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

Oppositus

Avatar
Date: 4/16/2011
Reply


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

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

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

Mikhail Sukhov

Avatar
Date: 4/16/2011
Reply


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


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

Mikhail Sukhov

Avatar
Date: 4/18/2011
Reply


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


Обсуждали схожую проблему с соседнем топике, где заявки отменялись, а не исполнялись. У вас видимо такое же. Переписывание стратегии примера проблему решило. Примеры в 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