Oppositus
|
Дата: 06.09.2012
|
|
|
|
Ситуация повторилась. Получил лог. Все оказалось еще хуже, чем в прошлый раз! MQS почему-то зависла - судя по всему (потребление процессора 0) на каком-то объекте синхронизации. И повесила намертво всю мою программу. Потом отвисла. Но, сами понимаете, это не дело. Обратите внимание на время - MQS висела почти пять минут. Все это время в робот не приходили сделки и пр. После ошибки MQS осталась висеть в состоянии Stopping. Это было раз. Два оказадлось тоже ничего себе. Я отдал приказ на покупку 1 контракта. А MQS пыталась купить два! Видимо, стратегия заботится о том, чтобы у меня было больше прибыли, ггг. Есть ли какие-нибудь рекомендации, как этого - зависания и неверного объема, избежать? Код
TC_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.722 | | Buy 140915 with stop 140805 in 110 pt and take 141215 in 300
TC_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.725 | | Входим в лонг, макс. объем 1
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.753 | | Стратегия запущена.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.755 | | Котирование на Buy объема 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.762 | | Приостановка правил. _rulesSuspendCount 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.811 | | Возобновление правил. _rulesSuspendCount 0.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.849 | | Цена текущей NULL и лучшей 140930.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.850 | | Лучший бид 140920 и лучший аск 140930.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.858 | | Регистрация новой заявки на Buy с ценой 140930 и объемом 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:38.896 | | Заявка 45101909 на Buy отправлена с ценой 140930 объемом 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.077 | | Заявка 45101909 принята биржей.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.082 | | Сброс счетчика ошибок регистрации с 0 до нуля.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.209 | | Цена текущей 140930 и лучшей 140925.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.209 | | Лучший бид 140915 и лучший аск 140925.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.217 | | Котирование заявки 45101909 на Buy с ценой 140930 объемом 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.231 | | Перекотирование зарегистрировано для заявки 45101910 на Buy с ценой 140925.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.393 | | Заявка 45101909 полностью исполнилась. Оставшийся объем 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.401 | | Цена текущей NULL и лучшей 140925.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.407 | | Лучший бид 140915 и лучший аск 140925.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.415 | | Регистрация новой заявки на Buy с ценой 140925 и объемом 1.
TC_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.442 | | Новый трейд. Теперь прибыль 0 за 0 трейдов. Макс. убыток 0. Макс прибыль -79228162514264337593543950335.
TC_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.444 | | Новая Buy сделка 625120903 по цене 140925 на 1 заявки 45101909.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.463 | | Новая Buy сделка 625120903 по цене 140925 на 1 заявки 45101909.
TC_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.467 | | Новая позиция 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.480 | | Новая позиция 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 12:55:39.430 | | Заявка 45101911 на Buy отправлена с ценой 140925 объемом 1.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.443 | | Заявка 45101909 больше не активна.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.455 | | Позиция изменилась на 1. Оставшийся объем 0.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.456 | | Заканчиваем котирование.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.457 | | Стратегия останавливается.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.459 | | Ожидание снятия всех активных заявок.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.830 | | Заявка 45101911 больше не активна.
MQS_RIU2@RTS_SPBFUT00TE4 | 06.09.2012 13:01:01.939 | Ошибка | Заявка 45101911 не была принята по причине StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Ошибка создания заявки. [FORTS] "Нехватка средств по лимитам клиента."..
|
|
Спасибо:
|
|
|
|
|
ra81
|
Дата: 06.09.2012
не используй mqs. я ее не использую еще с 4.0.22. Там тоже были проблемы. Вхожу по маркету. Ну или напиши свою которая будет работать так как ты хочешь.
|
|
Спасибо:
|
|
|
|
|
Oppositus
|
Дата: 06.09.2012
ra81 не используй mqs. я ее не использую еще с 4.0.22. Там тоже были проблемы. Вхожу по маркету. Ну или напиши свою которая будет работать так как ты хочешь. Я склоняюсь... Но MQS позволяет не писать обработку ордеров, ошибок, перерегистрацию и пр. Запустил - и она сама все сделала. Так намного продуктивнее.
|
|
Спасибо:
|
|
|
|
|
ra81
|
Дата: 06.09.2012
Oppositus ra81 не используй mqs. я ее не использую еще с 4.0.22. Там тоже были проблемы. Вхожу по маркету. Ну или напиши свою которая будет работать так как ты хочешь. Я склоняюсь... Но MQS позволяет не писать обработку ордеров, ошибок, перерегистрацию и пр. Запустил - и она сама все сделала. Так намного продуктивнее. Если бы все работало как следует то да. А так я уже написал обработку ордеров, Ошибок перерегистрацию и все такое. Запускаю и все само делается. Как будет все работать без ошибок буду пользоваться.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 07.09.2012
|
|
|
|
ra81 не используй mqs. я ее не использую еще с 4.0.22. Там тоже были проблемы. Вхожу по маркету. Ну или напиши свою которая будет работать так как ты хочешь. Котирование - сложная вещь. Сложная вовсе не потому, что ее так придумали, а потому что управление заявками довольно не простая задача. Со стороны всегда кажется, что это довольно просто, и проще переписать. На деле все далеко не так. Ты, Родион, используешь Альфа Директ. Где по определению нет быстрой операции перестановки заявок. Котирование на такой медленной платформе работает нормально. Единственно, что оно не совместимо с написанным тобой коннектором. Я уже писал, что у тебя локи, которые использовать не нужно. Ты неправильно их используешь, что приводит к дедлокам. Котирование тут не виновато, раз ты решил написать свой коннектор. Раз он криво написан, не вини, пожалуйста, СтокШарп. Еще котирование довольно сложно настраивать. Отвечать всем как это делать нет физически времени (на это существует дока). Теперь еще и нет смысла, когда у нас тех поддержкой занимаются профессионально. Документации, возможно, недостаточно, чтобы описать весь принцип работы котирования. Поэтому тут всегда есть вариант, использовать стандартное или написать самому. К варианту "использовать" прилагается опцион с получение сырцов котирования. К варианту "написать" прилагается куча геморроя с неисполнением заявок, частичным исполнением и т.д. Еще раз повторюсь, если бы котирование было простой задачей - оно было бы давно реализовано и работало как часы. И последнее. Всегда можно помощь обменять на помощь. Помогаете - получаете в ответ. Конечно, если хочется пойти самым сложным путем (написать дэдлочный коннектор, написать непонятно какое котирование[laugh]), то тут да, путь единственный - все писать самому, все делать самому. Только потом чур не удивляться, что у вас наблюдаются ошибки, которых нет у других. Но я лично не понимаю смысла этого подхода. Тоесть, вместо того, чтобы потратить несколько дней, будет потрачено несколько недель. А в чем смысл? Чтобы продолжать сидеть на старом коде, с кучей не поддерживаемых файлов, и советовать другим загнать себя так же в тупиковую студию?
|
|
|
|
|
Oppositus
|
Дата: 07.09.2012
|
|
|
|
Mikhail Sukhov Ты, Родион, используешь Альфа Директ. Где по определению нет быстрой операции перестановки заявок. Котирование на такой медленной платформе работает нормально. Единственно, что оно не совместимо с написанным тобой коннектором. Я уже писал, что у тебя локи, которые использовать не нужно. Ты неправильно их используешь, что приводит к дедлокам. Котирование тут не виновато, раз ты решил написать свой коннектор. Раз он криво написан, не вини, пожалуйста, СтокШарп. Насчет Родиона не знаю, но у меня тоже локи - см. второе сообщение темы. И коннектор Квик - стандартный, из библиотеки. Mikhail Sukhov Документации, возможно, недостаточно, чтобы описать весь принцип работы котирования. Совершенно недостаточно. Скажу более (уж не обижайтесь) - то, что лежит на сайте и скачивается с библиотекой - это не документация, это отписка. Документация выглядит примерно так: http://msdn.microsoft.co...ng.readerwriterlockslim Понятно, что написание документации такого уровня требует отдельной команды. Но текущая документация по S# API просто бесполезна. Добавьте чуть более подробные описания - и отпадет много вопросов, которые постоянно всплывают на форуме. Если бы можно было настроить котирование по документации, этой темы точно не было бы. Mikhail Sukhov К варианту "использовать" прилагается опцион с получение сырцов котирования. Михал, подскажите пожауйста, где и как можно посмотреть на исходники котирования? Профессиональную поддержку я пока не хочу.
|
|
Спасибо:
|
|
|
|
|
ra81
|
Дата: 08.09.2012
|
|
|
|
Mikhail Sukhov ra81 не используй mqs. я ее не использую еще с 4.0.22. Там тоже были проблемы. Вхожу по маркету. Ну или напиши свою которая будет работать так как ты хочешь. Котирование - сложная вещь. Сложная вовсе не потому, что ее так придумали, а потому что управление заявками довольно не простая задача. Со стороны всегда кажется, что это довольно просто, и проще переписать. На деле все далеко не так. Ты, Родион, используешь Альфа Директ. Где по определению нет быстрой операции перестановки заявок. Котирование на такой медленной платформе работает нормально. Единственно, что оно не совместимо с написанным тобой коннектором. Я уже писал, что у тебя локи, которые использовать не нужно. Ты неправильно их используешь, что приводит к дедлокам. Котирование тут не виновато, раз ты решил написать свой коннектор. Раз он криво написан, не вини, пожалуйста, СтокШарп. Еще котирование довольно сложно настраивать. Отвечать всем как это делать нет физически времени (на это существует дока). Теперь еще и нет смысла, когда у нас тех поддержкой занимаются профессионально. Документации, возможно, недостаточно, чтобы описать весь принцип работы котирования. Поэтому тут всегда есть вариант, использовать стандартное или написать самому. К варианту "использовать" прилагается опцион с получение сырцов котирования. К варианту "написать" прилагается куча геморроя с неисполнением заявок, частичным исполнением и т.д. Еще раз повторюсь, если бы котирование было простой задачей - оно было бы давно реализовано и работало как часы. И последнее. Всегда можно помощь обменять на помощь. Помогаете - получаете в ответ. Конечно, если хочется пойти самым сложным путем (написать дэдлочный коннектор, написать непонятно какое котирование[laugh]), то тут да, путь единственный - все писать самому, все делать самому. Только потом чур не удивляться, что у вас наблюдаются ошибки, которых нет у других. Но я лично не понимаю смысла этого подхода. Тоесть, вместо того, чтобы потратить несколько дней, будет потрачено несколько недель. А в чем смысл? Чтобы продолжать сидеть на старом коде, с кучей не поддерживаемых файлов, и советовать другим загнать себя так же в тупиковую студию? Ничего не имею против котирования. Оно работает. На альфа оно не работает толком ни на моем ни на другом коннекторе при определенном потоке заявок. И дело не в коннекторах а в самой альфе. Поэтому и я, и не только я от него отказались, потому как возникающие проблемы сводят на нет всю пользу котирования. Стоит отметить что я не говорил - котирование глючное и полно багов :). Нет. У него есть некоторые ограничения, скажем так. Мне они не подошли я отказался от котирования. Хотя я лично проверял и у меня оно работало после переработки тех багов с дедлоками, о которых Михаил сообщает. Сейчас нет такой проблемы в принципе (потому что все развязано через очереди), но от котирования я все же отказался. И подтверждаю что котирование непростой алгоритм. Совершенно согласен тут с Михаилом.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 08.09.2012
ra81 Ничего не имею против котирования. Оно работает. На альфа оно не работает толком ни на моем ни на другом коннекторе при определенном потоке заявок.
На стандартном коннекторе котирование работает. Я проверял как раз несколько месяцев назад сам.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 08.09.2012
|
|
|
|
Oppositus Насчет Родиона не знаю, но у меня тоже локи - см. второе сообщение темы. И коннектор Квик - стандартный, из библиотеки. Без логов абсолютно не понятно, что произошло. Стратегия не останавливается до тех пор, пока не будут получены финальные сообщения по ее заявкам. Oppositus Совершенно недостаточно. Скажу более (уж не обижайтесь) - то, что лежит на сайте и скачивается с библиотекой - это не документация, это отписка. Документация выглядит примерно так: http://msdn.microsoft.co...ng.readerwriterlockslim Понятно, что написание документации такого уровня требует отдельной команды. Но текущая документация по S# API просто бесполезна. Добавьте чуть более подробные описания - и отпадет много вопросов, которые постоянно всплывают на форуме. Если бы можно было настроить котирование по документации, этой темы точно не было бы. То, что вы смотрите - это авто генерация документации. Она не руками пишется. И в нее нет возможности добавлять расширенное описание. Смотреть надо раздел http://stocksharp.com/doc/ Да и, если уж так дело пошло, пришлите ссылку на хотя бы одну документацию по трейдинговой системе, где она полнее нашей. С МСДН сравнивать некорректно. Та документация стоит сотни миллионов долларов. Хотя, если у вас есть хотя бы один миллион, обещаем, что сделаем с помощью него документацию намного качественнее.[cool] Oppositus Михал, подскажите пожауйста, где и как можно посмотреть на исходники котирования? Профессиональную поддержку я пока не хочу.
Где - от меня. Как - помочь проекту. В основном это программирование. Пишите свои координаты для быстрого чатинга. Будем думать, чем сможете вы помочь.
|
|
|
|
|
Oppositus
|
Дата: 10.09.2012
|
|
|
|
Mikhail Sukhov То, что вы смотрите - это авто генерация документации. Она не руками пишется. И в нее нет возможности добавлять расширенное описание. Смотреть надо раздел http://stocksharp.com/doc/ "Обучающая часть" документации (там где примеры) достаточно для первого знакомства. Когда надо уже использовать библиотеку - нужно знать тонкости. Поэтому я лезу в раздел API и вижу там очень мало полезной информации, увы. Насчет "не руками пишется". А как же богатые возможности документирования C#? http://msdn.microsoft.co...t78ax%28v=vs.71%29.aspx и http://msdn.microsoft.co...88481%28v=vs.71%29.aspx Вопрос, как я понимаю, стоит в недостатке времени, а не в невозможности добавить расширенное описание - это как раз можно сделать. Или есть технические ограничения при сборке документации из XML в CHM? Mikhail Sukhov Да и, если уж так дело пошло, пришлите ссылку на хотя бы одну документацию по трейдинговой системе, где она полнее нашей. Тут вы правы, посмотрел TSLab и Qwatch - вообще финиш. Mikhail Sukhov Где - от меня. Как - помочь проекту. В основном это программирование. Пишите свои координаты для быстрого чатинга. Будем думать, чем сможете вы помочь. А какие задачи есть? В этой теме http://stocksharp.com/fo...1/Tiekushchiie-zadachi/ явно не все перечислено. Я готов поучаствовать в пределах разумного времени (час-два в день, больше нету). Например, документировать чего-нибудь. Координаты или в скайп oppositus или на почту trader@devilstar.ru (почту читаю только после 20:00 Мск).
|
|
Спасибо:
|
|
|
|