Контроль данных в МТС

Страницы: 1
RSS
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
 
Задача:
Есть робот, торгующий по индикатору, рассчитываемому на основе графика цены.
Нужно сделать контроль данных с графика на случай "потери" части свечей сервером (такое иногда случается).
Кто как контролирует этот процесс? Или все полагаются на "авось"?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
на случай "потери" части свечей сервером
а как робот поймёт, что это "потеря", а не неликвид?


для себя - сделал таблицу: критичных и некритичных параметров, а также контроль так сказать целостности данных на случай намеренного и ненамеренного "технического сбоя" - т.е. составляется по каждому классу - профиль поведения изменения параметров и если параметры не укладываются в профиль - торговля: либо прекращается, либо - при возможности - закрывается позиция. Очень часто такую картину можно наблюдать во время планок - на доске опционов - не пойми что. Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются (выставляется соответствующий флаг), изменяется также скорость подачи заявок роботом.


--------------
а вообще - конечно, интересная тема.
 
и если уж тут заговорили про МТС -> признаюсь, как бы мне не хотелось увеличить число одновременно торгующих ботов - но мой канал связи клиент-брокер-биржа-брокер-клиент - позволяет обрабатывать только 4 заявки в секунду. т.е. получается 250ms "на круг". При том, что реальная торговля через выделенные шлюзы может доходить до 3 ms. Но это уже, для меня, - дело весьма отдалённой перспективы.
 
Цитата
sam063rus пишет:
Цитата
Старатель пишет:
на случай "потери" части свечей сервером
а как робот поймёт, что это "потеря", а не неликвид?
А как человек это понимает (если заметит, конечно  :) )? Наверное, надо прописать какой-то алгоритм. Хотелось бы услышать, какие варианты можно использовать.

Цитата
sam063rus пишет:
для себя - сделал таблицу: критичных и некритичных параметров, а также контроль так сказать целостности данных на случай намеренного и ненамеренного "технического сбоя"
Можете подробнее описать, каким образом вы реализуете контроль целостности данных?
Цитата
sam063rus пишет:
Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются
Вот тут не понятно. Какие ошибки таким образом вы пытаетесь устранить?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
Цитата
sam063rus пишет:
Также мониторится серверное время и локальное - при слишком большой разнице - некоторые алгоритмы - отменяются
Вот тут не понятно. Какие ошибки таким образом вы пытаетесь устранить?
моё время - синхронизируется каждый день по интернет штатными средствами Windows. Такая точность, которую она обеспечивает - меня вполне устраивает. Если расхождение между локальным и серверным временем > 1 сек то это простой способ определить нагрузку на канал брокера. Стало быть, торговля, слишком привязанная к актуальности параметров - отменяется, остаются только - позиционные алгоритмы.
 
Цитата
Можете подробнее описать, каким образом вы реализуете контроль целостности данных?
Цитата
Не отображались изменения позиций по срочному рынку.



В смысле, при покупке/продаже контрактов не изменялись позиции по клиентским счетам? Такие проблемы на бирже часто случаются. Очевидно, текущую позицию нужно считать в каждом роботе самостоятельно, а не полагаться на биржу. И при большом расхождении значений отправлять уведомления по sms и e-mail. И копию отправлять брокеру и на биржу, чтоб не расслаблялись.
для начала: to GOOGLE it -> site:moex.com "технический сбой"
и... читаем/собираем всю информацию по всем описанным ранее сбоям.

насчёт самому считать...
ранее попадались роботы-"меценаты" - они не ждали ответа на транзакцию в виде отображения параметров в таблице по позициям (не хотели тратить на это своё время). Потом, в газетах писали, что у такой-то фирмы отозвали лицензию и она вообще разорилась. К чему я это всё? К тому, что параметры безусловно считать нужно и по своему - тоже. Но, если параметры не соответствуют "ожиданиям" - то, нет смысла торговать в это время: либо закрывать позицию (если возможно) и "постоять в сторонке", либо снизить риски - уменьшить лимит по боту и инструменту.
 
Цитата
sam063rus пишет:
Если расхождение между локальным и серверным временем > 1 сек то это простой способ определить нагрузку на канал брокера.
Наблюдал расхождение между локальным временем и серверным более 40 сек. Это расхождение было не в течение какого-то короткого времени, а нескольких дней. Причём наблюдалось не только у меня.
Так что считать разницу между локальным и серверным временем - это простой способ определить несинхронизованность локального времени вашего компьютера и времени сервера QUIK у брокера, не более.
Цитата
sam063rus пишет:
Но, если параметры не соответствуют "ожиданиям" - то, нет смысла торговать в это время
По одному счёту могут быть запущены несколько торговых роботов. Либо вестись торговля руками. Так что, в общем случае, текущая позиция по счёту может и не совпадать с ожиданиями робота.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
Наблюдал расхождение между локальным временем и серверным более 40 сек.
Согласен, было бы проще использовать ping - но не все брокеры "пингуются". В другой ветке - я уже малость озвучил проблему (одну из сторон) -> https://forum.quik.ru/messages/forum10/message6085/topic616/#message6085

Цитата
Старатель пишет:
Так что, в общем случае, текущая позиция по счёту может и не совпадать с ожиданиями робота.
именно для этого, по примеру wealth-lab - есть "менеджер заявок/транзакций" - и все роботы - "в курсе".
 
конкретно о синхронизации времени - на выходных - брокер тоже показывает фантастическое время. Но, к понедельнику - всё становится синхронизировано. Я не спорю, что это может быть только у моего брокера и что мой вариант - не панацея. Было бы, конечно, куда проще - имей мы всю поступающую через шлюз информацию.
Страницы: 1
Читают тему
Наверх