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
Alexander1) В одном роботе реализовано несколько стратегий (5-6), каждая из них работает на отдельном счету. Alexander, а вы могли бы привести приблизительную схему реализации?
|
|
|
|
Alexander
|
Дата: 10.11.2010
SergAlexander1) В одном роботе реализовано несколько стратегий (5-6), каждая из них работает на отдельном счету. Alexander, а вы могли бы привести приблизительную схему реализации? Создаётся multitrader, в aggregatedtraders кладутся QuikTraders. Далее для каждой стратегии: - получается список счетов, на которых она будет выполняться (из настроек) - для каждого счёта запускается стратегия (добавляем в StrategyManager, вызываем Start) наверное мне проще будет ответить на вопросы или помочь разрешить сложность, если она есть...
|
|
|
|
dart
|
Дата: 10.11.2010
Mikhail SukhovВсе всем!
и чего не хватает для S#. Сегодня случай произошёл. Отлучился на пару часов. У меня 2 квика. Пока меня не было связь одного квика с сервером оборвалась, но через несколько минут восстановилась. Такое, к сожалению, достаточно регулярно бывает. И как раз, в эти несколько минут, пока не было связи, сигнал на продажу поступил. Естественно он не выполнился. В связи с чем, такой вопрос родился, хотя бы теоретически: Можно ли исполнение MQS откладывать до тех пор пока связь снова не восстановится?
|
|
|
|
Mikhail Sukhov
|
Дата: 10.11.2010
dartMikhail 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# - разбираюсь с событийной моделью , которая всё таки не до конца событийная... имхо. :)
Внутри - да. Буду постепенно ее улучшать. Но, что главное, дал наружное описание, которое постараюсь только расширять. Так что для перехода соблюдены все условия.
|
Автор топика
|
|
|
ustas
|
Дата: 24.11.2010
Mikhail SukhovНо, что главное, дал наружное описание, которое постараюсь только расширять. Так что для перехода соблюдены все условия. С этим я полностью согласен. 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# улучшать.
|
Автор топика
|
|
|
Maxim
|
Дата: 14.02.2011
Quote: Я бы начал с систематизации проблемы Да мне самому мартышкин труд не охота делать. Но только систематизировать проблему не всегда получается. Если ошибка появляется редко, но стоит он очень много денег, то систематизировать ее имея черный ящик труднее, чем без черного ящика.
|
|
|
|
Mikhail Sukhov
|
Дата: 14.02.2011
Maxim  Quote: Я бы начал с систематизации проблемы Да мне самому мартышкин труд не охота делать. Но только систематизировать проблему не всегда получается. Если ошибка появляется редко, но стоит он очень много денег, то систематизировать ее имея черный ящик труднее, чем без черного ящика. Если очень много денег, то можно поговорить о подписании NDA + сумме в 300 тысяч рублей.
|
Автор топика
|
|
|
Maxim
|
Дата: 14.02.2011
NDA без проблем. Но сумма, к сожалению, очень большая. Наверно у нас разные представления об «очень много денег» :)
|
|
|
|
Mikhail Sukhov
|
Дата: 14.02.2011
Maxim  NDA без проблем. Но сумма, к сожалению, очень большая. Наверно у нас разные представления об «очень много денег» :) Это такая проверка уровня серьезности - человек серьезен на словах или на деле. Деньги, всегда прекрасный показатель проверки намерений. А юридический документ - это формальность. Я эту дверь не закрываю. Если есть другие желающие посмотреть в исходники QuikTrader - пишите в личку. Условия я здесь озвучил.
|
Автор топика
|
|
|
KAX
|
Дата: 21.02.2011
1. Всяко разное пишу) Перестал устраивать купайл, был в поисках альтернативы =) Даже написал свой дде сервер, но потом наткнулся на s#, жить стало легче 2. Конечно использую)))) До этого использовал свои велосипеды написанные на c# 3. Квик) Пока торгую только на мамбе.
|
|
|
|
Иванов Андрей
|
Дата: 20.03.2011
Mikhail Sukhov  Maxim  NDA без проблем. Но сумма, к сожалению, очень большая. Наверно у нас разные представления об «очень много денег» :) Это такая проверка уровня серьезности - человек серьезен на словах или на деле. Деньги, всегда прекрасный показатель проверки намерений. А юридический документ - это формальность. Я эту дверь не закрываю. Если есть другие желающие посмотреть в исходники QuikTrader - пишите в личку. Условия я здесь озвучил. Уверен, что в поиске очень редкой ошибки не помогут исходники S#. Все нужные мне моменты я и без согласований смотрел рефлектором. А когда не знаешь, где копать, чужой код не поможет. Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.
|
|
|
|
Mikhail Sukhov
|
Дата: 20.03.2011
Иванов Андрей  Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.
Если ошибка стабильно не воспроизводиться может ее и нет?
|
Автор топика
|
|
|
pyhta4og
|
Дата: 20.03.2011
Иванов Андрей  [quote=Mikhail Sukhov;5939][quote=Maxim;5937] Уверен, что в поиске очень редкой ошибки не помогут исходники S#. Все нужные мне моменты я и без согласований смотрел рефлектором. А когда не знаешь, где копать, чужой код не поможет. Хотел я было узнать что такое лежит в enumerable  Когда выяснилось, что это всего-то  то я сдался работать деобфускатором ;) Было бы не 300 а 50 я бы согласился. Все равно выгодней чем руками их до нуля проскальпить;) Или пять лет самому что-то подобное рожать с нуля. Но 300 не тяну никак. Может глубокоуважаемый автор устроит акцию "Напиши ITrader для OEC" или там "Найди 200 багов в смартком адаптере" и обменяй его на сорсы HistoryTrader когда-нибудь ;) В общем за полезные дела. Все равно следует признать, что библиотека лучшее из того что есть в фри-доступе.
|
|
|
|
Mikhail Sukhov
|
Дата: 20.03.2011
pyhta4og  Было бы не 300 а 50 я бы согласился. Все равно выгодней чем руками их до нуля проскальпить;) Или пять лет самому что-то подобное рожать с нуля. Но 300 не тяну никак.
Я понимаю, было бы платное или без тех поддержки. Но я то тут, и вроде как денег за ответы не прошу. Или это такой экстремальный вид проведения досуга? Насчет обфускации. К сожалению, защита от конкуренции отражается и на пользователях. Если я выложу все в открытый доступ, то что стоит компании с инвестициями сделать аналог S# (можно даже не аналог, а взять сам S#) + продвинутый дизайн как в попсовых ТА программах? Да ничего. А у меня вряд ли появиться желание и возможность конкурировать в этой нише. В итоге проект закроется. На опен сорс уповать даже не стоит. Под такую брендовую вещь как Плаза, и то нашлось 3 волонтера, что уж говорить про обычные роботы. И останется только платное решение. Оно вам надо?
|
Автор топика
|
|
|
Иванов Андрей
|
Дата: 21.03.2011
Mikhail Sukhov  Иванов Андрей  Для стабильной невоспроизводимой ошибки использование чужих исходников оправдано.
Если ошибка стабильно не воспроизводиться может ее и нет? Ошибка стабильная, но воспроизвести её не получается. В этом случае известно только направление иследования и можно добавить отладку в чужой код, чтобы сузить область исследований. У меня нет примеров из обычной жизни =) А из необычной вряд ли получится экстраполировать. Например, IIS эпизодически захлёбывается запросами, хотя мощности сервера достаточно и так происходить не должно. Или, например, port sharing отваливается в случайные моменты -- и под нагрузкой, и просто так. Всё разбирается частично с помощью исходников .NET Framework, частично эмпирически при столкновениях с нативными бинарниками, исходников к которым нет, частично просто в процессе поиска воспроизводимости.
|
|
|