Stock# с несколькими квиками
Atom Ответить
03.08.2010


Со сколькими копиями квика можно безболезненно запускать одного
робота?
Как происходит экспорт через DDE в Stock# - одинаковые данные, я так
понимаю, фильтруются?

Вопрос возник не случайно - сейчас с 7ми квиками роботы съедают до
50-60% от нашего довольно мощного сервера (на каждом квике запущен 1-2
робота, каждый робот запускается 1 секунду). Стоит ли искать ошибку,
пытаться оптимизировать самого робота или лучше закинуть часть квиков
на другой сервер?

Теги:


Спасибо:




48 Ответов
< 1 2 
Maxim

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


Mikhail Sukhov Перейти
Maxim Перейти
Как может ReConnectionManager одного Квика перезапустить все остальные Квики?
Или я что то не понял?


С тех пор много воды утекло.



То есть ситуация уже другая и ReConnectionManager пользовать можно?

А на предыдущий вопрос какой ответ?
Насчет информации из стакана, если два Квика работают.
Спасибо:

Mikhail Sukhov

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


Maxim Перейти
Mikhail Sukhov Перейти
Maxim Перейти
Как может ReConnectionManager одного Квика перезапустить все остальные Квики?
Или я что то не понял?


С тех пор много воды утекло.



То есть ситуация уже другая и ReConnectionManager пользовать можно?

А на предыдущий вопрос какой ответ?
Насчет информации из стакана, если два Квика работают.


Лучше чтобы пересечение не было.
Спасибо:

Maxim

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


Mikhail Sukhov Перейти

Лучше чтобы пересечение не было.


Скупы Вы, Михаил, на слова. Smile

Но всеже повытягиваю информацию из Вас еще Smile


Ситуация такая. Сейчас использую три разных Квика.
По отдельности каждый из них работает не идеально.
То задержки происходят, то обрыв соединения.

Необходимо использовать суммарную их информацию.
Для этих целей, насколько я понял, подходит MultiTrader.
Хотелось бы узнать подводные камни.

Какие еще тонкости в использовании MultiTrader с несколькими Квиками, настроенными на одну и ту же бумагу?
В чем сложность со стаканом? Почему «лучше чтобы пересечение не было»?

Может быть Alexander поможет с ответом?
Спасибо:

Mikhail Sukhov

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


Maxim Перейти
Скупы Вы, Михаил, на слова. Smile


Я не скуп. Мне теперь приходится отвечать и новичкам и старичкам. Новичкам отвечаю больше. За счет ответов старичкам. Так что если старички хотят повысить качество ответов себе любимым, нужно повышать количество ответов новичкам.

Maxim Перейти

Но всеже повытягиваю информацию из Вас еще Smile


Ситуация такая. Сейчас использую три разных Квика.
По отдельности каждый из них работает не идеально.
То задержки происходят, то обрыв соединения.

Необходимо использовать суммарную их информацию.
Для этих целей, насколько я понял, подходит MultiTrader.
Хотелось бы узнать подводные камни.

Какие еще тонкости в использовании MultiTrader с несколькими Квиками, настроенными на одну и ту же бумагу?
В чем сложность со стаканом? Почему «лучше чтобы пересечение не было»?

Может быть Alexander поможет с ответом?


Я несколько Квиков не использовал. Да, думаю Александр тут более компетентен.
Спасибо:

Maxim

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


Alexander, поделитесь опытом как работается с несколькими Квиками?

Интересует ситуация, когда в Квиках настроены одинаковые бумаги.
Одна из задач использования MultiTrader - это минимизировать сделать поступление
информации более стабильной. Что бы при задержках или падении части роботов программа
все равно получала актуальные данные.

Реализовывать MultiTrader у себя в программе еще не начал.
Возможно будут более конкретные вопросы. Пока могу задать такие:
1) Какие подводные камни стоит учесть? На что обратить внимание?
2) Предположим используется MultiTrader с двумя разными Квиками.
В этих Квиках настроены «Все сделки» и «Стаканы» для одной бумаги, например Сбера.
Выше Вы написали, что данные поступают от двух Квиков одновременно.
Дублирующие данные учитываются и отбрасываются.
Верно ли это для «Стаканов»?
3)Нормально ли теперь работает ReConnectionManager? Можно ли его использовать, если один из Квиков упадет?
Спасибо:

Alexander

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


Maxim Перейти
Alexander, поделитесь опытом как работается с несколькими Квиками?

Интересует ситуация, когда в Квиках настроены одинаковые бумаги.
Одна из задач использования MultiTrader - это минимизировать сделать поступление
информации более стабильной. Что бы при задержках или падении части роботов программа
все равно получала актуальные данные.

Реализовывать MultiTrader у себя в программе еще не начал.
Возможно будут более конкретные вопросы. Пока могу задать такие:
1) Какие подводные камни стоит учесть? На что обратить внимание?
2) Предположим используется MultiTrader с двумя разными Квиками.
В этих Квиках настроены «Все сделки» и «Стаканы» для одной бумаги, например Сбера.
Выше Вы написали, что данные поступают от двух Квиков одновременно.
Дублирующие данные учитываются и отбрасываются.
Верно ли это для «Стаканов»?
3)Нормально ли теперь работает ReConnectionManager? Можно ли его использовать, если один из Квиков упадет?


Я использую MultiTrader лишь как коллекцию квиков. Фактически работа ведётся с каждым QuikTrader отдельно.
ReConnectionManager устанавливается для каждого квика, поэтому если один падает - другие-то работают.
Экспорт запускается для каждого квика отдельно. Опять же - сделано для того, чтоб при падении одного квика с данными, другие нормально работали.
В стратегиях используются непосредственно нужные QuikTrader.
MultiTrader используется для получения событий в основном о непрошедших сделках и т.д. и т.п. Может я неоптимально его использую, но пришёл именно к такому решению - как раз для того чтобы постоянно было дублирование данных для пущей стабильности.
Автор топика
Спасибо:

Maxim

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


Alexander, спасибо за ответ.
Не совсем Вас понял. Еще немножко уточню.

1) Настроены ли у Вас во всех Квиках одинаковые бумаги?
Например, во всех четырех Квиках идет вывод тикков и стаканов для Сбера.

2) Используете ли Вы свойство Trades из MultiTrader, или используете это свойство у каждого Квика?

3)Используете ли Вы метод GetMarketDepth из MultiTrader, или используете этот метод у каждого Квика?
Спасибо:

Alexander

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


Maxim Перейти
Alexander, спасибо за ответ.
Не совсем Вас понял. Еще немножко уточню.

1) Настроены ли у Вас во всех Квиках одинаковые бумаги?
Например, во всех четырех Квиках идет вывод тикков и стаканов для Сбера.

2) Используете ли Вы свойство Trades из MultiTrader, или используете это свойство у каждого Квика?

3)Используете ли Вы метод GetMarketDepth из MultiTrader, или используете этот метод у каждого Квика?


1) Да, конечно. Каждый квик работает с одинаковыми стратегиями и с одинаковыми бумагами.
2) Стратегию я регистрирую используя конкретный необходимый QuikTrader. Поэтому Trades используется из него, а не из MultiTrader
3) GetMarketDepth я вызываю для каждого квика - для дублирования данных в случае если один из квиков упадёт чтоб работа продолжалась.
Автор топика
Спасибо:

Maxim

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


Alexander Перейти

2) Стратегию я регистрирую используя конкретный необходимый QuikTrader. Поэтому Trades используется из него, а не из MultiTrader
3) GetMarketDepth я вызываю для каждого квика - для дублирования данных в случае если один из квиков упадёт чтоб работа продолжалась.


Правильно я понимаю, что если один Квик упадет, то стратегия которая ему соответствует перестанет работать?
Спасибо:

Alexander

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


Maxim Перейти
Alexander Перейти

2) Стратегию я регистрирую используя конкретный необходимый QuikTrader. Поэтому Trades используется из него, а не из MultiTrader
3) GetMarketDepth я вызываю для каждого квика - для дублирования данных в случае если один из квиков упадёт чтоб работа продолжалась.


Правильно я понимаю, что если один Квик упадет, то стратегия которая ему соответствует перестанет работать?


Да. Т.к. данные в него перестанут поступать. Но все остальные квики с этой стратегией будут работать.
Опережая вопрос - как сделать автоматическое дублирование данных я не знаю :)

Вообще наверное MultiTrader как раз и должен это делать.
Автор топика
Спасибо:

Maxim

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


Alexander Перейти

Опережая вопрос - как сделать автоматическое дублирование данных я не знаю :)
Вообще наверное MultiTrader как раз и должен это делать.


Я же в этом ключе и веду весь диалог :)
Пытаюсь выяснить, как Вы используете MultiTrader для собирания одинаковых, дублирующихся данных со всех квиков, а потом использования этих данных из MultiTrader.

Вообщем, насколько я теперь понял, MultiTrader в этом ключе никто не использовал.
Придется наступать на грабли самому.
Спасибо:

Alexander

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


Удалил предыдущий ответ, был неправ.
Сейчас пересмотрел код - MultiTrader фильтрует сделки по уникальности trade.ID (если стоит флаг SupportTradesUnique).
Если флаг не стоит - фильтрации не будет.
Остальные данные суммируются.
Подписка на события происходит для каждого из квика при добавлении его в AggregatedTraders.

Также не забывайте, что у каждого trade есть поле Security. А оно будет разным для разных квиков (из-за Security.Trader).
Автор топика
Спасибо: Maxim

dart

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


Добрый день,
Работаю одним роботом с двумя квиками. И данные с ТВС первого квика приходят с запозданием.
Например, сегодня на 17 часов последний тик был от 16 ч 11 мин.
Во втором квике все тики прищли вовремя.
Может проще запустить два робота отдельно на каждый квик?
ЗЫ. наблюдал это на версиях 2.6.2 и 3.1.8
Спасибо:

Alexander

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


dart Перейти
Добрый день,
Работаю одним роботом с двумя квиками. И данные с ТВС первого квика приходят с запозданием.
Например, сегодня на 17 часов последний тик был от 16 ч 11 мин.
Во втором квике все тики прищли вовремя.
Может проще запустить два робота отдельно на каждый квик?
ЗЫ. наблюдал это на версиях 2.6.2 и 3.1.8



Как строится работа с двумя квиками? Как определяется задержка?
У меня в настоящий момент работает 6 квиков, 1 робот, задержек не наблюдаю.
Автор топика
Спасибо:

dart

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


Alexander Перейти

Как строится работа с двумя квиками? Как определяется задержка?
У меня в настоящий момент работает 6 квиков, 1 робот, задержек не наблюдаю.

1. Как обычно, объявляю два квика. Без использования Multitrader.
2. Смотрю сделки методом Filter. Смотрю дату последнего тика.
Спасибо:

Alexander

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


dart Перейти
Alexander Перейти

Как строится работа с двумя квиками? Как определяется задержка?
У меня в настоящий момент работает 6 квиков, 1 робот, задержек не наблюдаю.

1. Как обычно, объявляю два квика. Без использования Multitrader.
2. Смотрю сделки методом Filter. Смотрю дату последнего тика.


2 QuikTrader? DDE разные?
Используйте MultiTrader, там всё просто, не надо его бояться. :)
Автор топика
Спасибо:

dart

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


Alexander Перейти
dart Перейти
Alexander Перейти

Как строится работа с двумя квиками? Как определяется задержка?
У меня в настоящий момент работает 6 квиков, 1 робот, задержек не наблюдаю.

1. Как обычно, объявляю два квика. Без использования Multitrader.
2. Смотрю сделки методом Filter. Смотрю дату последнего тика.


2 QuikTrader? DDE разные?
Используйте MultiTrader, там всё просто, не надо его бояться. :)

Конечно ДДЕ разные. S# сам же их переименовывает quik1 и quik2.
Можно и Multitrader. Но у меня могут быть на разных квиках разные стратегии и разные объемы.
Там же, я как понял, вся работа ведется только с одним созданным шлюзом Multitrader. Как там задавать разные объемы на разные квики?
Спасибо:

Alexander

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


dart Перейти
Alexander Перейти
dart Перейти
Alexander Перейти

Как строится работа с двумя квиками? Как определяется задержка?
У меня в настоящий момент работает 6 квиков, 1 робот, задержек не наблюдаю.

1. Как обычно, объявляю два квика. Без использования Multitrader.
2. Смотрю сделки методом Filter. Смотрю дату последнего тика.


2 QuikTrader? DDE разные?
Используйте MultiTrader, там всё просто, не надо его бояться. :)

Конечно ДДЕ разные. S# сам же их переименовывает quik1 и quik2.
Можно и Multitrader. Но у меня могут быть на разных квиках разные стратегии и разные объемы.
Там же, я как понял, вся работа ведется только с одним созданным шлюзом Multitrader. Как там задавать разные объемы на разные квики?


Передавать в стратегии нужные Volume.
Я, к примеру, меняю объём для каждой стратегии в каждом квике перед каждым входом - в зависимости от того сколько для данного счёта свободных средств.
MultiTrader никак не влияет на то что на разных квиках будут разные стратегии, это очевидно что так будет.
Автор топика
Спасибо:

dart

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


Да я кажется понял. Попробую с Multitrader.
Хотя всё равно не понятно почему с двумя QuikTrader сделки приходят не одинаково.
Мне кажется проще иметь возможность самому задавать имя ДДЕ-сервера и запускать два отдельных робота на каждый квик.
Хотя б для того чтобы можно было перезапускать один без ущерба для второго робота
Спасибо:

Alexander

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


dart Перейти
Да я кажется понял. Попробую с Multitrader.
Хотя всё равно не понятно почему с двумя QuikTrader сделки приходят не одинаково.
Мне кажется проще иметь возможность самому задавать имя ДДЕ-сервера и запускать два отдельных робота на каждый квик.
Хотя б для того чтобы можно было перезапускать один без ущерба для второго робота



что подразумевается под "два отдельных робота на каждый квик"?
на один квик запускается один QuikTrader \ MultiTrader \ ..., в нём запускается 1 - тысячи Strategy, которые могут перезапускаться, останавливаться, как угодно взаимодействовать с квиком, без ущерба остальным стратегиям.
1 квик - 1 имя DDE. Иначе технология DDE не работает - лишь 1 вывод возможен.
Автор топика
Спасибо:

dart

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


Подразумевается полностью два отдельных робота на каждый квик.
В каждом роботе у меня несколько стратегий. Имя ДДЕ -сервера - wrapper и его не изменить.
Потому я и говорю, если б можно было менять: одному роботу задаю одно имя ДДЕ-сервера, другому другое и каждый работает со своим квиком не завися друг от друга.
Спасибо:

Alexander

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


dart Перейти
Подразумевается полностью два отдельных робота на каждый квик.
В каждом роботе у меня несколько стратегий. Имя ДДЕ -сервера - wrapper и его не изменить.
Потому я и говорю, если б можно было менять: одному роботу задаю одно имя ДДЕ-сервера, другому другое и каждый работает со своим квиком не завися друг от друга.



А кто мешает это сделать?
В любом случае имена DDE серверов обязаны быть разными для разных квиков. Отсюда и возникают проблемы.
Пользуйтесь конструктором QuikTrader, передавая разные имена DDE для каждого Quik:
дока
Автор топика
Спасибо: dart

dart

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


Спасибо. Не знал что есть возможность менять имя ДДе-сервера
Спасибо:
< 1 2 

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

loading
clippy