ITrader для Wealth Lab. А оно того стоит?
Atom Ответить
01.06.2010


Хочу реализовать следующее:

http://docs.google.com/drawings/pub?id=1KqLTRrS7H6yfY6x5eSINSjrIIEG87ZZUdY2ZRJX3qX8&w=960&h=720


Насколько я понимаю, в случае использования S#, интерфейс для Quik уже
есть, и осталось реализовать ITrader для Wealth Lab.
Но есть несколько но:
1) Лицензия s#. Есть доступ к исходникам, или хотя бы уверенность, что
завтра программа не станет платной?
2) Бэктестинг/Оптимизация. Есть ли сейчас возможность многократного
запуска робота на одних и тех же данных с передачей подстраиваемых
параметров. (Уверен, что нет, и тогда вопрос такой: Возможно ли
дорабатывать существующий код? К коду есть доступ?)
3) Набор данных. Wealth Lab достаточно сильно ограничивает доступ
робота к данным. Например, информации о заявках в нем нет. Насколько
архитектуры Wealth Lab и S# соответствуют друг другу, возможно легче
написать для Wealth Lab с нуля?

Теги:


Спасибо:




18 Ответов
denis

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


Почему именно велс? Есть и другие варианты с меньшими ограничениями на АПИ и
работу с рыночными данными.

Спасибо:

skzuev

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


Добрый день,

У Вас в схеме есть некая нелогичность, на мой взгляд.

Если вся логика в роботе - зачем Вам WL для бектеста?

Если логика в WL - где она на нижней схеме и зачем Вам робот для бектеста?

С уважением,
Сергей Зуев

Спасибо:

anebotov

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


просто с велс я знаком, он тоже на c#, и как написать интерфейс
(ITrader выдающий себя за робота) я знаю.
хотя готов рассмотреть и другие системы, но боюсь написание под них
займет больше времени ...
Название системы и плюсы по сравнению с WL можно внести здесь

https://spreadsheets.google.com/ccc?key=0Aqp1hwxgUHAgdFIwU0tvUS1DOTJBd182Y20zUlpKc0E&hl=ru


Автор топика
Спасибо:

anebotov

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


Вся логика в роботе.
добавлять в робота название бумаги на которой он торгует, номер счета
и т.п. вещи считаю не верными (это кстати камень в огород s#). Даже
привязывать робота к таймфрейму нужно только в крайней необходимости.
WL позволяет оттестировать робота на многих бумагах / таймфреймах .
Сравнить несколько пар бумага-робот между собой. Сравнить по
нескольким параметрам, в удобной (часто графической) форме. Описывать
всё это в роботе считаю вредным. Робот должен уметь запускаться без
перекомпиляции на разных бумагах.

Автор топика
Спасибо:

skzuev

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


Ну тогда было бы логичным прикрутить к роботу внешние параметры ( файлы
конфигцрации, БД и т.п.) и управлять через них. Как мне кажется, читать из
файла конфигурации названия бумаги проще, чем прикручивать WL. Хотя я могу и
ошибаться.

С уважением,
Сергей Зуев

Спасибо:

denis

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


Немного обновил табличку.
Там довольно симпатичные редакторы :) как в студии.

Спасибо:

anebotov

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


Сергей, опиши, как ты представляешь себе следующий процесс:
1) протестировать робота на 200 бумагах и пяти таймфреймах
2) оптимизировать его параметры на выбранных бумагах/таймфреймах
3) НЕ МЕНЯЯ РОБОТА запустить на бою на данных бумагах/таймфреймах
т.е. тебе в любом случае надо нечто управляющая роботом, некая
надстройка абстрагирующая робота от реальных названий бумаг и т.п..

Денис, спасибо, твои добавления в документ интересны. По поводу
редактора: WL позволяет запускать робота откомпелированного в студии.

Но на первом плане остается вопрос о судьбе стоимости/лицензии
продукта s#, написать адаптер под квик (опыт есть) займет у мена
столько же времени как и разбирательство с ITrader. КАКИЕ ПЛАНЫ У
ПРОДУКТА?

Автор топика
Спасибо:

denis

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


Тестирование, оптимизация и среда для исполнения кода робота - это OQ
or RigthEdge, они лучше велса. Только пока к ним не написаны адаптеры.
Но тут уже пробегал один разраб адаптера для OQ.

по теме велса: сегодня будет вебинар у цериха.http://zerich.ru/events/webinar.php

01 июня 2010г. В 19ч 00м МСК состоится бесплатный вебинар посвещенный
торговым роботам на платформе Wealth-Lab Developer .NET <<WLD.NET +
ZerichAlgoTrading: технологии будущего>>

Напрягаться с лицензией придется, если вы пишете софт на продажу. В
остальных случаях - "бери и пользуй".
Эта разработка адаптера для велса на продажу? или для собственных
нужд?

Спасибо:

Mikhail Sukhov

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


Почему нужно напрягаться с лицензией? Отнюдь. Это есть продавать Велс
вместе в приблудой - тогда да. А так - пишет любой кто хочет.

Спасибо:

skzuev

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


Я буду рассказывать в варианте AmiBroker'a, на WL у меня роботов нет :)
система реальная, ей сейчас пользуюсь.

Основную логику работы робота (входы/выходы+фильтры) делаем на Ami (там
Jscript подобный язык, вообщем терпимый). Получаем AFL файл с роботом.Робот
читает параметры из хранилища через COM интерфейс. Пишем на Jscript функцию,
которая через тот же COM дергает Ami, заставляя проводить бектест робота.

Один вызов робота для бектеста выглядит следующим образом:

main("RTS_01","SPFB.RTS","01.09.2009","30.12.2009",exportpath);

указываем код набора параметров, код инструмента, диапазон дат, путь для
вывода результатов. Результаты бектеста в CSV сливаем по вкусу в Excel или
MS SQL.

Оптимизация аналогично.

Мне удобнее за один раз гонять по одному инструменту.

Предположим, оптимизировали, протестировали и остались довольны
результатами.

Берем скрипт номер 2, ставим его на шедулер. Этот скрипт гоняет робота
похожим образом, но сбрасывает в файл вывод робота с последнего доступного
бара в режиме Explore (есть такой в Ami).

Из файла данные подтягиваются в QPILE (написано задолго до S#), где работает
исполнительный механизм, который ставит стопы, передвигает заявки и т.п.

Данные с финама и из квика грузятся в Ami через тот же Jscript.

Если Вы пишете с 0 и под WL, то сейчас конечно проще взять C# и делать на
нем. Всякие QPILE - отстой, я намучался с ним.

Про S# - библиотека отличная, автор молодец. Но не совсем корректно
требовать от него гарантий развития проекта и сохранения бесплатности. Это
все же результаты его труда, с которыми он может делать все, что захочет :))

Но S# плохо приспособлен для тех. анализа - нет там многих вещей,
естественных для Ami, WL и т.п.
Можно все это написать - но надо ли? Если хочется программировать - конечно,
лучше написать самому. Если хочется сделать рабочего робота - лучше еще раз
все взвесить.

С уважением,
Сергей Зуев

Спасибо:

skzuev

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


Можно я задам некорректный вопрос?

Чем OQ лучше WL ?

С уважением,
Сергей Зуев

Спасибо:

Mikhail Sukhov

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


В догонку. OQ не смотрел. Но RE пока сыроват. Детские болезни
присутствуют. WL выглядит серьездно. На Пауке говорят, что ему ровня
QD, а не OQ.

Спасибо:

denis

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


1) есть АПИ,
2) умеет работать с бид/аск, т.е. тестить на истории не только по
тикам, но и по бид/аск при рыночном ордере,
3) русская тех. поддержка

Спасибо:

anebotov

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


я не хочу от автора гарантий бесплатности, а лишь спрашиваю какие
планы.
Согласитесь, что написать ITrader для WL или адаптер для квик под свою
архитектуру (при наличии опыта работы с API квика) задачи соизмеримые
по сложности.
Но если написав свой адаптер я получаю полную свободу телодвижений, то
реализовав ITrader завязываюсь на продукт (и даю данному продукту
некий бонус). И если завтра данный продукт станет платным, то мне
будет жаль потраченных сил.

Писать собираюсь opensource, т.к. для себя сделал следующие выводы:
реализацию алгоритма разглашать нельзя, это хлеб
описать алгоритм словами можно, т.к. реализация будет отличаться, и
тебе это не вредит
ИНФРАСТРУКТУРУ выкладывать в opensource даже полезно, т.к. всё равно
её напишут, а в opensource ты получаешь хорошее тестирование.

Но по косвенным признакам делаю вывод что s# рано или поздно станет
платным. А сейчас просто процесс популяризация и отладки продукта, на
время которого делать его платным не с руки.

Автор топика
Спасибо:

skzuev

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


Мысли вообщем абсолютно правильные, согласен. Только одно уточнение - я
правильно помню, что WL - платный инструмент? Если он платный, то бояться
перспектив платности S# несколько странно :))

Я думаю понятно почему :))

С уважением,
Сергей Зуев

Спасибо:

Mikhail Sukhov

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


Есть такое явление в онлайн комьюнити. Когда что-то дается бесплатно,
а потом делается платно, то это вызывает такую бурю гневный эмоций
(подчас, совершенно необъективных), что проект может завершиться в
любой момент. Поэтому я придерживаюсь мнения, что прлдект или должен
быть всегла платным или всегда бесплатным. В любом случае, условия
оговаривать сначала.

Насчет отладки и тестирования. Мне с самого начала пророчили, что
продукт будет платным. Скоро уже будет год (в онлайне чуть меньше).
Где мои деньги? =) Если без шуток. С кого тут брать? И 20 активных
пользователей не соберется. А проект по себестоимости уже за лимон
перевалил. Взять сейчас, и зарядить цену в 1000р. Получить 5 покупок.
И наслаждаться бесплатной версией, распространяемой покупателями на
всех различных форумах. А что, на хорошее шампанское как раз хватит?

Для чего я сделал проект? Первоначальная цель уже утрачена. Сейчас
пишу программу, будет платной. Основана на том же S#. Конкурентов не
боюсь, что кто-то захочет на том же S# сделать. Наоборот, всячески
ищу. Потому что хорошим (и перспективным) людям готов помочь сам за
скромный процент в прибыли. Так что сейчас S# для меня - это и
одновременно привлечение, и распространение.

Спасибо:

anebotov

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


Спасибо, вопрос с бесплатностью снят. Но в связи с Вашей нынешней
разработкой всплыл вопрос о поддержке проекта в будущем. Не умрет
завтра?

Михаил, можно услышать Ваше мнение про Open Source вообще и проекте

http://code.google.com/p/open-wealth-project/wiki/Whyв частности.
Вообще, Вы верите, что удастся сколотить комьюнити?

В любом случае, вроде, решение принято, буду использовать Ваш s# (а
именно QuikTrader), а у s# появится возможность бэктестинга и
совместимый с Wealth Lab способ написания роботов :).

С помощью чего Вы составляете документацию к проекту?

Автор топика
Спасибо:

Mikhail Sukhov

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


Завтра не умрет.

А я вспомнил Ваш проект. На пауке писал Вам про утилиту downloader.

Чтобы сколотить комьюнити, одной лишь веры недостаточно. Надо знать,
как ее эту комьюнити собрать. И не просто собрать, а чтобы она
работала. И не просто работала, а чтобы она давала положительный
результат. Вы все это знаете? Если да, то Вам можно спать спокойно. Я
вот, к примеру, даже не представляю, где Вы народ искать будете.
Тематика у Вас трейдерская, а задачи для программистов.

Или к примеру еще одни вопрос. А для чего этот проект лично Вам нужен?

Эти вопросы очень важные. Скажем, залог успешного проекта. А Вы
рассуждаете о S#. Даже не будь я создателем этого проекта, по меньше
мере было бы странно сравнивать проект с низкими рисками и задачу с
просто громадными (это я про OWP =) ).

Документацию пишу с помощью DocProject. На редкость паршивая вещь.
Если найдете лучше, напишите.

Спасибо:


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

loading
clippy