Выложил новую версию, теперь уже под новым названием. Большое количество изменений и нововведений, что сделало это релиз самым долгим. Скачать дистрибутив. И так:
1. QuikTrader теперь поддерживает TRANS2QUIK 1.1. Для тех, кто в не в курсе - это такая версия, которая умеет мониторить состояние заявки и сделок по ней. Включить включил, а вот доступа из вне не дал. Причина в том, что тесты показали точно такую же скорость отклика, что и DDE (подозреваю, что схожий механизм). Соответственно, чтобы не поддерживать две режима, оставил включенным пока только старый. Багов меньше, возможностей больше.
2. Переименовал класс Task в Strategy как четко определяющее свое предназначение. Так же сделал его более умным. Сам набирает сделки, сам определяет позицию, проскальзывание (подробнее, пункт 6), прибыль-убыток (пункт 7). Разве что не кушает сам.
3. В документацию добавил топик, описывающий как из робота отслеживать состояние соединения и производить переподключение в случае потери соединения с Квиком. А также, добавил класс ReConnectionManager, который умеет автоматизировать работу с соединением. Пример использования в документации и примере Sample.
4. Вынес всю логику работы со свечками в отдельный класс CandleManager.
5. Добавил класс SyncTrader (и аналог для свечек - SyncCandleManager). Класс нужен для предотвращения ошибок меж потокового взаимодействия с визуальными контролами WPF (графическая библиотека в .NET). Рекомендуется при отсутствии большого опыта в создании графических программ на .NET. Подробнее, в документации.
6. Добавил класс BaseSlippageManager (это абстрактный класс, а его реализации - TraderSlippageManager, StrategySlippageManager, SecuritySlippageManager, AccountSlippageManager). Это, как нетрудно догадаться из названия, механизм для подсчета проскальзывания. Пример использования в документации и примере SampleSMA.
7. Так же, как и для проскальзывания из пункта 6, добавил менеджеров P&L (прибыли-убытка): TraderPnLManager, StrategyPnLManager, SecurityPnLManager, AccountPnLManager.
8. Добавил событие ITrader.SecuritiesChanged, сигнализирующее об изменении параметров инструментов.
9. Добавил событие ITrader.QuotesChanged, сигнализирующее об изменении стакана. Нужен для мониторинга низко ликвидных инструментов.
10. В самый последний момент добавил класс MarketDepth - стакан по русски. Прислали по почте, я его отрефакторил и вот он в составе библиотеки.
11. А также ряд других важных архитектурных изменений для следующего релиза, который обещает превратить Stock# в версию 2.0.
пятница, 29 января 2010 г.
четверг, 28 января 2010 г.
Stock#
Все, теперь точно устаканился с названием проекта - оно будет Stock# или кратко, S# (и пусть длинное Ecng.Trading уйдет в небытие). Как раз в манере .NET, где любят называть как язык C# (F#, R# и т.д.). Теперь вот есть и S# (читать как эс шарп, а полное название Stock# как сток шарп). Как вам, язык .NET под биржу? Отхватил себе название, глаз радует. "Как корабль назовешь, так он и поплывет" (с) Врунгель.
Под это дело сразу же зарегистрировал сайт - stocksharp.com. Пока он недоступен для просмотра, но титульную страничку создам ASAP. С линками на документацию, последнюю версию, новостями (это будет данный блог) и форумом. Ах да, завел и форум. Вот его адрес - http://groups.google.ru/group/stocksharp. Теперь вопросы лучше задавать там. Хотелось бы, чтобы и другие проявляли активность. Вопросы, как правило, повторяются.
Вспоминаю сейчас тот период, когда создавал проект (первое название QuikWrapper). Естественно, я выбрал в качестве начинания программу Quik, потому она как была самая удобная для пользователей, так и остается. На днях пробовал SmartTrade. Жуть! Честное слово, я даже подумать не мог, как мы программеры не любим вас трейдеров. Убогий интерфейс, неинтуитивное управление. Единственное превосходство перед Quik - это наличие хорошего API. Для Quik его, как правило, и нет. Поэтому и существует (чуть не написал Ecng.Trading! пора привыкать) S#.
Затем, в процессе выпуска следующей версии QuikWrapper, библиотека так расширилась, что начали появляться наработки по алгоритмам (не зависящих от трейдерского ПО) и мне стало ясно направление - на Квике останавливаться нельзя. Да, Квик лучший, что есть на российском рынке. И да, не все это понимаю. Значит, будет расширяться. В .NET принято создавать иерархию из проекта. Название формируется как ИмяКомпании.Проект. И я решил переименовать QuikWrapper в Ecng.Trading. Но мне это название не понравилось изначально, спустя каких-то пару дней. Слишком сложно языком ворочать, произнося его. И вот, новое, надеюсь последнее, супер лаконичное, приятное слуху и языку; дамы и господа - S#.
Под это дело сразу же зарегистрировал сайт - stocksharp.com. Пока он недоступен для просмотра, но титульную страничку создам ASAP. С линками на документацию, последнюю версию, новостями (это будет данный блог) и форумом. Ах да, завел и форум. Вот его адрес - http://groups.google.ru/group/stocksharp. Теперь вопросы лучше задавать там. Хотелось бы, чтобы и другие проявляли активность. Вопросы, как правило, повторяются.
Вспоминаю сейчас тот период, когда создавал проект (первое название QuikWrapper). Естественно, я выбрал в качестве начинания программу Quik, потому она как была самая удобная для пользователей, так и остается. На днях пробовал SmartTrade. Жуть! Честное слово, я даже подумать не мог, как мы программеры не любим вас трейдеров. Убогий интерфейс, неинтуитивное управление. Единственное превосходство перед Quik - это наличие хорошего API. Для Quik его, как правило, и нет. Поэтому и существует (чуть не написал Ecng.Trading! пора привыкать) S#.
Затем, в процессе выпуска следующей версии QuikWrapper, библиотека так расширилась, что начали появляться наработки по алгоритмам (не зависящих от трейдерского ПО) и мне стало ясно направление - на Квике останавливаться нельзя. Да, Квик лучший, что есть на российском рынке. И да, не все это понимаю. Значит, будет расширяться. В .NET принято создавать иерархию из проекта. Название формируется как ИмяКомпании.Проект. И я решил переименовать QuikWrapper в Ecng.Trading. Но мне это название не понравилось изначально, спустя каких-то пару дней. Слишком сложно языком ворочать, произнося его. И вот, новое, надеюсь последнее, супер лаконичное, приятное слуху и языку; дамы и господа - S#.
среда, 20 января 2010 г.
O Stock# (Ecng.Trading)
Программная библиотека Stock# (старое название Ecng.Trading) предназначена для создания торговых роботов на платформе .NET с использованием программ Quik и SmartCOM. Скачать дистрибутив. Обсуждение ведется по адресу http://groups.google.ru/group/stocksharp.
Преимущества библиотеки:
Преимущества библиотеки:
- Используется современная платформа .NET с мощным набором функциональности. Нет ограничения в кодировании, которые присутствуют в скриптовых языках.
- Быстрое обработка алгоритма стратегий. Программа компилируется в машинные инструкции (что дает большой прирост в производительности). Нет синтетических секундных задержек при выполнении алгоритма. Основное ограничение практически всех встроенных языков в таких программах как WealthLab, AmiBroker и т.д.
- Нет необходимости использовать дополнительное программное обеспечение. Библиотека полностью автономна от сторонних программ.
- Возможность запуска нескольких сотен одновременно работающих алгоритмов по различным инструментам и тайм-фреймам (скорость зависит только от мощности компьютера, а не от ограничения внешней программы).
- Возможность реализации скальперских стратегий, с тайм-фреймом менее секунды.
воскресенье, 17 января 2010 г.
Ecng.Trading 1.5
Обновление! Выложил обновленный архив Ecng.Trading_1.5.zip (18.01.2010 22.46 MSK)
Быстро пролетели новогодние выходные. Заметил за собой особенность – чем больше отдыхаешь, тем труднее потом начинать работать. Видимо, хорошего понемногу.
Выкладываю на всеобщее порицание очередную версию - Ecng.Trading 1.5. Качать традиционно отсюда.
Что нового:
Вот скриншоты из новых примеров:
Скользящие средние

Расширенный стакан

Свечки

Приятного роботописания!
Быстро пролетели новогодние выходные. Заметил за собой особенность – чем больше отдыхаешь, тем труднее потом начинать работать. Видимо, хорошего понемногу.
Выкладываю на всеобщее порицание очередную версию - Ecng.Trading 1.5. Качать традиционно отсюда.
Что нового:
- Пожалуй, самое больше изменение (+нововведение) это появление полноценной документации, а не описание API, как было до этого. Документация включает абсолютно все, что умеет Ecng.Trading - как использовать, и как использовать лучше. Файл в архиве называется Ecng.Trading.chm. Плюс, к документации для наглядного изучения я сделал дополнительно два примера (к уже двум существующим). Первый – это реализация до боли знакомого алгоритма пересечения скользящих средних. Я показал, как можно создавать подобные алгоритмы с помощью Ecng.Trading. Второй пример более графический. Визуально показано, какие свечки поддерживает Ecng.Trading, и чем они отличаются.
- В QuikTrader добавил поддержку экспорта дополнительных колонок для стандартных таблиц (Инструменты, Заявки и т.д.). Подробнее, в документации и в примере Sample.
- Переделал структуру работы с механизмом торговых заданий – Task. Как использовать – опять же в документации.
- Описал свое видение того, куда буду развивать проект.
- И, конечно же, исправил ошибки.
Вот скриншоты из новых примеров:
Скользящие средние

Расширенный стакан

Свечки

Приятного роботописания!
воскресенье, 10 января 2010 г.
Excel4Net.Com - программирование на C# .NET под Excel
В поисках необычного в процессе серфинга по инету наткнулся на интересный проект: Excel4Net. Я уже писал ранее, как ведущие роботоводы разрабатывают свои прораммы в нынешнее время. И программирование под Excel меня не привело в восторг. После ознакомления с данным проектом, я решил пересмотреть свое мнение на Excel, причем в значительно лучшую сторону.
Excel - очень распространенная среда, и конкурентам (по крайней мере из российского сектора) до массовости Excel как пешком до Поднебеной. Тем не менее, повторю основные минусы Excel:
Excel4Net позволяет как раз решить главный недостаток - интеграция. С использованием .NET у Excel появляется просто огромный потенциал в работе с другими программами. Например, библиотеку Ecng.Trading можно на раз-два-три начать использовать как раз из Excel. Это отчетливый сигнал тем, у кого торговые алгоритмы написаны на VBA, и их не устраивает стабильность и скорость. Excel4Net позволяет переписать ряд алгоритмов со скриптов на C# (или VB.NET, кому что нравится), что увеличит скорость в разы. Я переписал один свой макрос на C#, и у него прирост в производительности был равен 1600%. В 16 раз!. Вот здесь показано, как реализовать формулу Блэка-Шоулза.
После выпуска версии Ecng.Trading 1.5 (в текущий момент заканчиваю документацию, которой теперь будет много), обязательно сделаю что-нибудь торговое под Excel4Net. Такой проект трейдерам пройти мимо нельзя.
Excel - очень распространенная среда, и конкурентам (по крайней мере из российского сектора) до массовости Excel как пешком до Поднебеной. Тем не менее, повторю основные минусы Excel:
К этому стоит добавить еще то, что на Excel не так уж тривиально интегрироваться с торговой программой, что для предыдущего пункта делать вообще не нужно. Отдельно можно выделить стабильность - всего один поток, и если он зависнет, зависнут как другие скрипты, так и не будет возможности перезапустить алгоритм (а Excel еще не научился вытаскивать себя из болота за волосы как Мюнхаузен), или даже перезапустить соединение с торгующей программой.
Excel4Net позволяет как раз решить главный недостаток - интеграция. С использованием .NET у Excel появляется просто огромный потенциал в работе с другими программами. Например, библиотеку Ecng.Trading можно на раз-два-три начать использовать как раз из Excel. Это отчетливый сигнал тем, у кого торговые алгоритмы написаны на VBA, и их не устраивает стабильность и скорость. Excel4Net позволяет переписать ряд алгоритмов со скриптов на C# (или VB.NET, кому что нравится), что увеличит скорость в разы. Я переписал один свой макрос на C#, и у него прирост в производительности был равен 1600%. В 16 раз!. Вот здесь показано, как реализовать формулу Блэка-Шоулза.
После выпуска версии Ecng.Trading 1.5 (в текущий момент заканчиваю документацию, которой теперь будет много), обязательно сделаю что-нибудь торговое под Excel4Net. Такой проект трейдерам пройти мимо нельзя.
Подписаться на:
Сообщения (Atom)