Кто что пишет
Atom Ответить
09.11.2010


Всех приветствую!

Предлагаю чуть отвлечься от чтения новостей и кодирования ботов, и написать, кто что делает в теме системного трейдинга. Пункты: тип робота (арбитраж, опц стратегия, тренд следящая, скальпинг и т.д.), использую ли S# (если нет, то на чем пишите), под что пишите (Квик, Смарт, ПлазаLaugh). Мой пример:

1. арбитраж, опц стратегия, аналитическия прога по опцам.
2. Да, пользуюсь S#.
3. Киви, Смарт.

Хочу понять, каким направлением более всего балуетесь, и чего не хватает для S#.



Спасибо:




26 Ответов
1 2  >
dart

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


Mikhail Sukhov
Все всем!
1. арбитраж, опц стратегия, аналитическия прога по опцам.
2. Да, пользуюсь S#.
3. Киви, Смарт.

Пользуюсь S# в основном как адаптером к квику. Пробую писать активные стратегии.
У меня встречный вопрос, а почему вы сами ХФТ не торгуете, хотя везде $# позиционируется как платформа именно для этого?
Спасибо за программу
Спасибо:

Serg

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


Арбитраж через квик на S#. Есть еще несколько ботов на с++ билдере но хотелось бы их тоже реализовать на s#. собственно с реализацией не должно быть проблем. есть только одна проблема в недопонимание того как правильно и красиво несколько ботов на шарпе связать с одним квиком. чтоб никто никому не мешал и работало все быстро и легко. наверно это должно какимто образом смахивать на livetrade sdk.

Да, за S# огромное спасибо!

И еще... Если мне не изменяет память когдато тут поднималась тема по поводу кнопки Donate. Я так и не в курсе появилась она или нет... если нет то было бы не плохо сделать, я б вам, Михаил, хоть на пиво донейтнул) и думаю не я один такой. Мелочь но приятно(наверно). А если есть то покажите мне ее быстрей...

Все Спасибо
Спасибо:

Mikhail Sukhov

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


dart

Пользуюсь S# в основном как адаптером к квику. Пробую писать активные стратегии.
У меня встречный вопрос, а почему вы сами ХФТ не торгуете, хотя везде $# позиционируется как платформа именно для этого?
Спасибо за программу


HFT - это же не алгоритм, а скорость. Через Киви и Смарт получает довольно выигрышно по скорости. По Плазе не пробовал, потому и не делал.
Автор топика
Спасибо:

Alexander

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


1) В одном роботе реализовано несколько стратегий (5-6), каждая из них работает на отдельном счету.
В одно время шла одновременная работа с несколькими квиками (вплоть до 7).
Сейчас торговля ведётся на 1 квике, на нескольких счетах - на каждом своя стратегия.
Стратегии все пока таймфреймовые - 1-5 минут, вялый интрадей - 1-2 сделки в день.

2) Конечно пользуюсь, куда без него? :)

3) Квик. Смартком невзлюбил с того времени, как он только зарождался на форуме айтиинвест - уж слишком много багов было. Наверняка сейчас лучше, но в плане стабильности с квика слезать не хочется совсем.
Спасибо:

Serg

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


Alexander
1) В одном роботе реализовано несколько стратегий (5-6), каждая из них работает на отдельном счету.


Alexander, а вы могли бы привести приблизительную схему реализации?
Спасибо:

Alexander

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


Serg
Alexander
1) В одном роботе реализовано несколько стратегий (5-6), каждая из них работает на отдельном счету.


Alexander, а вы могли бы привести приблизительную схему реализации?


Создаётся multitrader, в aggregatedtraders кладутся QuikTraders.
Далее для каждой стратегии:
- получается список счетов, на которых она будет выполняться (из настроек)
- для каждого счёта запускается стратегия (добавляем в StrategyManager, вызываем Start)


наверное мне проще будет ответить на вопросы или помочь разрешить сложность, если она есть...
Спасибо:

dart

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


Mikhail Sukhov
Все всем!

и чего не хватает для S#.


Сегодня случай произошёл. Отлучился на пару часов. У меня 2 квика. Пока меня не было связь одного квика с сервером оборвалась, но через несколько минут восстановилась. Такое, к сожалению, достаточно регулярно бывает. И как раз, в эти несколько минут, пока не было связи, сигнал на продажу поступил. Естественно он не выполнился. В связи с чем, такой вопрос родился, хотя бы теоретически:
Можно ли исполнение MQS откладывать до тех пор пока связь снова не восстановится?
Спасибо:

Mikhail Sukhov

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


dart
Mikhail Sukhov
Все всем!

и чего не хватает для S#.


Сегодня случай произошёл. Отлучился на пару часов. У меня 2 квика. Пока меня не было связь одного квика с сервером оборвалась, но через несколько минут восстановилась. Такое, к сожалению, достаточно регулярно бывает. И как раз, в эти несколько минут, пока не было связи, сигнал на продажу поступил. Естественно он не выполнился. В связи с чем, такой вопрос родился, хотя бы теоретически:
Можно ли исполнение MQS откладывать до тех пор пока связь снова не восстановится?


StrategyManager в случае потери связи перестает выполнять стратегии. Есть подозрение, что Квик ничего не послал (это Вам лучше проверить экспериментально). В таком случае нужно смотреть на отсутствие данных. Через ReConnectionSettings.ExportTimeOutInterval
Автор топика
Спасибо:

dart

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


Mikhail Sukhov

StrategyManager в случае потери связи перестает выполнять стратегии.

да так оно и было. В окне мониторинг стратегий следующие записи:
MQS 15:05:46 Регистрация новой заявки на Sell
MQS 15:05:47 в колонке Тип - Ошибка, в колонке Сообщение - Ecng.Trading.Quik.ApiException: Код ошибки QuikDsiconnected
MQS 15:05:47 MQS останавливается

Вот если б можно было не целиком стратегии приостанавливать, а только передачу ордеров в квик до тех пор пока связь не восстановится.
В принципе, можно было б сделать опционально - указывать в настройках, либо исполнять все накопившиеся ордера за это время, либо обнулять их все. Но такого я ни в одной проге не видел
Спасибо:

ustas

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


интрадэй свинг 50-100 сделок в день

раньше использовал перл и C++ делая вызовы из Оракла через RPC писал в файл транзакций, так как система была распределённая (логика вся в Оракле саму базу заполнял через odbc). В принципе всего было нормально, скорости хватало. Единственное что замучило при перезапуске QUIK или обрыве связи надо было таблицу "все сделки" заново импортировать через odbc - потеря времени большая. Сейчас полностью перешёл на S# так как можно продолжить писать в базу с любого момента времени быстро получив данные по DDE, из S# - за что много спасиб! В Оракл пишу/читаю по ODP.NET , логика осталась в базе, заявки выставляет S#. Сейчас пытаюсь релизовать некоторые стратегии полносью на S# - разбираюсь с событийной моделью , которая всё таки не до конца событийная... имхо. :)

Спасибо и с уважением!
Спасибо:

Mikhail Sukhov

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


ustas
Сейчас пытаюсь релизовать некоторые стратегии полносью на S# - разбираюсь с событийной моделью , которая всё таки не до конца событийная... имхо. :)


Внутри - да. Буду постепенно ее улучшать. Но, что главное, дал наружное описание, которое постараюсь только расширять. Так что для перехода соблюдены все условия.Cool
Автор топика
Спасибо:

ustas

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


Mikhail Sukhov
Но, что главное, дал наружное описание, которое постараюсь только расширять. Так что для перехода соблюдены все условия.Cool

С этим я полностью согласен. When.Do... - что то супер ! Очень красиво и полезно. Снимаю шляпу!

Спасибо и с уважением!
Спасибо:

Иванов Андрей

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


Я не знаю, что пишу =) Даже терминов большую часть не знаю.
Жена занимается биржей вручную, я себе сделал несколько счетов и играюсь с ними. Суперденег не заработал ещё =)

От S# использую только QuikTrader, в стратегиях и остальном времени разбираться нет. Приложение консольное.

К обновлениям функциональности отношусь спокойно, кроме одной какой-то версии. Где появился QuikTerminal и изменилась сигнатура метода у события Trader.OrdersFailed. Про терминал понятно, а с событием получилось забавно -- я оборачивал старую реализацию ошибок в S# классом с таким же названием и теми же свойствами =)
Спасибо:

Maxim

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


1. Трендследящая стратегия.
2. Да, пользуюсь S#. Из библиотеки использую только QuikTrader.
3. Квик.

Из пожеланий могу написать следующее:
реализацию QuikTrader посмотреть и отлаживать нет возможности,
полностью зависимость от Вас, Михаил. Поэтому хотелось бы большей
надежности в работе этого класса.

Уже произошел случай, когда выяснить по какой причине некорректно
прошла сделка не было возможности. Возможно проблема была в QuikTrader,
возможно нет. Когда речь идет о больших суммах, данная неопределенность
не допустима. Если аналогичный случай повторится, придется писать свой
вариант QuikTrader. Хотя очень не хочется тратить время на то, что уже
сделали Вы, Михаил.
Спасибо:

Mikhail Sukhov

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


Maxim Перейти

реализацию QuikTrader посмотреть и отлаживать нет возможности,
полностью зависимость от Вас, Михаил. Поэтому хотелось бы большей
надежности в работе этого класса.


Больше фидбеков от вас, больше надежности. Так что тут все напрямую зависит лично от каждого участника.

Maxim Перейти

Уже произошел случай, когда выяснить по какой причине некорректно
прошла сделка не было возможности. Возможно проблема была в QuikTrader,
возможно нет. Когда речь идет о больших суммах, данная неопределенность
не допустима. Если аналогичный случай повторится, придется писать свой
вариант QuikTrader. Хотя очень не хочется тратить время на то, что уже
сделали Вы, Михаил.


Странный конечно подход. Я бы начал с систематизации проблемы, а уж потом решил - писать свое или просить о фиксах... Если будете писать свое, не бросайте нас. Выкладывайте свои наработки, я ими буду S# улучшать.BigGrin
Автор топика
Спасибо:

Maxim

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


Цитата:
Я бы начал с систематизации проблемы


Да мне самому мартышкин труд не охота делать.

Но только систематизировать проблему не всегда получается.
Если ошибка появляется редко, но стоит он очень много денег,
то систематизировать ее имея черный ящик труднее, чем без черного ящика.
Спасибо:

Mikhail Sukhov

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


Maxim Перейти
Цитата:
Я бы начал с систематизации проблемы


Да мне самому мартышкин труд не охота делать.

Но только систематизировать проблему не всегда получается.
Если ошибка появляется редко, но стоит он очень много денег,
то систематизировать ее имея черный ящик труднее, чем без черного ящика.


Если очень много денег, то можно поговорить о подписании NDA + сумме в 300 тысяч рублей.
Автор топика
Спасибо:

Maxim

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


Smile

NDA без проблем.
Но сумма, к сожалению, очень большая.

Наверно у нас разные представления об «очень много денег» :)
Спасибо:

Mikhail Sukhov

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


Maxim Перейти
Smile

NDA без проблем.
Но сумма, к сожалению, очень большая.

Наверно у нас разные представления об «очень много денег» :)


Это такая проверка уровня серьезности - человек серьезен на словах или на деле. Деньги, всегда прекрасный показатель проверки намерений. А юридический документ - это формальность.

Я эту дверь не закрываю. Если есть другие желающие посмотреть в исходники QuikTrader - пишите в личку. Условия я здесь озвучил.
Автор топика
Спасибо:

KAX

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


1. Всяко разное пишу) Перестал устраивать купайл, был в поисках альтернативы =) Даже написал свой дде сервер, но потом наткнулся на s#, жить стало легче Love
2. Конечно использую)))) До этого использовал свои велосипеды написанные на c#
3. Квик)

Пока торгую только на мамбе.
Спасибо:

Иванов Андрей

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


Mikhail Sukhov Перейти
Maxim Перейти
Smile

NDA без проблем.
Но сумма, к сожалению, очень большая.

Наверно у нас разные представления об «очень много денег» :)


Это такая проверка уровня серьезности - человек серьезен на словах или на деле. Деньги, всегда прекрасный показатель проверки намерений. А юридический документ - это формальность.

Я эту дверь не закрываю. Если есть другие желающие посмотреть в исходники QuikTrader - пишите в личку. Условия я здесь озвучил.

Уверен, что в поиске очень редкой ошибки не помогут исходники S#.
Все нужные мне моменты я и без согласований смотрел рефлектором. А когда не знаешь, где копать, чужой код не поможет.

Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.
Спасибо:

Mikhail Sukhov

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


Иванов Андрей Перейти

Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.


Если ошибка стабильно не воспроизводиться может ее и нет?
Автор топика
Спасибо:

pyhta4og

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


Иванов Андрей Перейти
[quote=Mikhail Sukhov;5939][quote=Maxim;5937]Smile

Уверен, что в поиске очень редкой ошибки не помогут исходники S#.
Все нужные мне моменты я и без согласований смотрел рефлектором. А когда не знаешь, где копать, чужой код не поможет.


Хотел я было узнать что такое лежит в enumerable


Когда выяснилось, что это всего-то


то я сдался работать деобфускатором ;)


Было бы не 300 а 50 я бы согласился. Все равно выгодней чем руками их до нуля проскальпить;) Или пять лет самому что-то подобное рожать с нуля. Но 300 не тяну никак.

Может глубокоуважаемый автор устроит акцию "Напиши ITrader для OEC" или там "Найди 200 багов в смартком адаптере" и обменяй его на сорсы HistoryTrader когда-нибудь ;) В общем за полезные дела.

Все равно следует признать, что библиотека лучшее из того что есть в фри-доступе.


Спасибо:

Mikhail Sukhov

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


pyhta4og Перейти

Было бы не 300 а 50 я бы согласился. Все равно выгодней чем руками их до нуля проскальпить;) Или пять лет самому что-то подобное рожать с нуля. Но 300 не тяну никак.


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

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

Иванов Андрей

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


Mikhail Sukhov Перейти
Иванов Андрей Перейти

Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.


Если ошибка стабильно не воспроизводиться может ее и нет?


Ошибка стабильная, но воспроизвести её не получается. В этом случае известно только направление иследования и можно добавить отладку в чужой код, чтобы сузить область исследований.

У меня нет примеров из обычной жизни =) А из необычной вряд ли получится экстраполировать. Например, IIS эпизодически захлёбывается запросами, хотя мощности сервера достаточно и так происходить не должно. Или, например, port sharing отваливается в случайные моменты -- и под нагрузкой, и просто так. Всё разбирается частично с помощью исходников .NET Framework, частично эмпирически при столкновениях с нативными бинарниками, исходников к которым нет, частично просто в процессе поиска воспроизводимости.
Спасибо:
1 2  >

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

loading
clippy