Нереальные тормоза
Atom Ответить
16.04.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 тоже должно хватать, как я думаю :) ...

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



Спасибо:




5 Ответов
Oppositus

Фотография
Дата: 16.04.2011
Ответить


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

Oppositus

Фотография
Дата: 16.04.2011
Ответить


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

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

Таки объясните кто-нибудь, что это было.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 16.04.2011
Ответить


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


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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 18.04.2011
Ответить


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
Спасибо:

critic

Фотография
Дата: 05.07.2011
Ответить


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

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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy