Блог им. ChargingBull

Вопрос алготрейдерам. Как быстро отрабатывается роботом в квике заявка по рынку?

Если мы имеем робота который входит на пробой бара, насколько заявка «уедет» от хая пробитого бара исполнившись?
например по RI мы имеем хай пред бара на 108950, пробивается этот бар, робот покупает по условию пробития бара. 
Означает ли это что сделка будет по 108960, или даже по 108970 не факт? влияет ли на скорость отработки алгоритма
написан робот на Lua или на Qpile? Или это вообще вопрос не к таким роботам на Lua, Qpile и квику, когда сделка отрабатывается
где НАДО, а не где получится?
★2
18 комментариев
входи лимитной заявкой и никуда ничего не уедет
Антон Иванов, а робот может лимиту кинуть над или под баром сразу по его закрытию? Тоесть когда след свеча приедет к этой лимитке то исполнится по ней сделка?
avatar
Charging Bull, я не до конца понял вопрос, робот выставит лимитку как ты захочешь, по твоему условию. Можешь по закрытию бара запрограммировать, можешь сразу при пробитии, пока бар еще не закрылся. После выставления лимитной заявки она будет висеть, пока тебе ее не нальют. Если следующая свеча к этой цене подойдет, то тебе нальют на следующей свече, если нет, то заявка будет висеть и ждать, пока цена до нее не дойдет. Если будет сильный скачок, то могут вообще не налить, так как цена к этому уровню не вернется.

На скорость исполнения больше влияет сетевая задержка.

Проскальзывание можете словить любое, в зависимости от ситуации.

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

avatar
Андрей Андреичъ, тоесть есть 2 варианта условий: бар закрылся, и робот может выставить лимитку над хай и под лоу этого бара, и ждать исполнения.(ждём пробоя бара) И будут они висеть до упора. А можно установить спред в условии, например 10, и робот начнет по рынку входить по ценам хай бара + спред. Например на 960 хай, при спреде 10, т.е цене 970 робот даёт команду на вход, и вход будет на 970 и выше/ниже, по какой цене нальют. Так?
avatar
На 5 мс 0
,15-0,2 Максим оборот сделки.подряд заявки.минимум 20-50мс.
Андрей Андреичъ, понял, спасибо. Тут у меня вопрос был именно как робот это дело отрабатывает, потому что если я сам лимитку над или под бар выставляю, понятно как она исполняется. А вот с роботами никогда не сталкивался. Понятно что пробойную стратегию лучше скорее всего торговать руками. Робот тут мало что улучшит, а скорее наоборот может нагородить дел)
avatar
Заявка исполнится по токсичной цене. Какой именно она будет на тот момент одному Богу известно.
avatar
В среднем будет исполняться на 10-20 хуже, если объем 100 по РИ. Будут случаи, когда исполнение будет на 10 лучше и такие, когда на 40 хуже.
avatar
в квик данные по свечкам приходят примерно с задержкой в 250 миллисекунд от «настоящего времени»
заявка от квика до сервера идёт примерно 30 миллисекунд.
на фортс имеются только лимитные заявки, т.е. вы сами определяете максимальную цену по которой готовы купить или минимальную за которую готовы продать.
дальше уже дело случая и корректности/свежести ваших данных, насколько близко цена исполнится к той, которая есть «сейчас» на свечном графике в момент отправки заявки.

ещё стоит отметить что QPILE не умеет обрабатывать сигналы (например обновление свечи) и срабатывает не чаще чем раз в секунду (насколько я знаю)
а Lua, в свою очередь, является в квике интерпретируемым языком, так что разрабатывая на нём сложный код, вы попадаете на скорость интерпретатора. впрочем, Lua поддерживает загрузку dll.
avatar
Вот этот робот www.saturn-capital.info/sp Среднее проскальзывание около 23 было по прошлому году
В этой стратегии от проскальзывания никуда не уйти.
Все смешалось. Кони, Люди...

По существу:
1. Для понимания работы рыночных ордеров имеет смысл всегда держать в голове следующее правило: Любая заявка «по рынку» — это по факту «лимитированная заявка», но для заявок на покупку цена в такой заявке стремиться к бесконечности, а для заявок на продажу — к нулю. За счет действующих правил исполнения заявок (на наилучшему предложению) в большинстве случаев Вы видите исполнение «близкое» к последней цене.
2. При разреженном стакане, и/или в низколиквидном инструменте, при попытке провести сделку большим объемом, с использованием «рыночного» ордера, можно получить существенное проскальзывание цены исполнения от запланированной Вами цены.
3. Для сокращения рисков возникновения больших проскальзываний, при незначительном увеличении вероятности НЕ совершить сделку в полном объеме — используются лимитные заявки, с заранее заложенным уровнем проскальзывания. Т.е. Вы изначально соглашаетесь на то, что ваша заявка может исполнится по цене несколько хуже (но бывают случаи прямо противоположные) цены пробития интересующей Вас границы, но при этом Вы жестко ограничиваете максимальное отклонение от интересующей Вас цены.
4. В зависимости от объема, который Вам необходимо провести по сделке, размер закладываемого проскальзывания будет влиять на вероятность получить интересующий Вас объем. (чем меньше проскальзывание — тем лучше цена, но ниже вероятность взять весь объем. И соответственно, чем больше проскальзывание тем хуже цена, но выше вероятность получения полного объема).
5. Совсем большие объемы входа обычно разбивают на несколько заявок, чтобы своими действиями не загнать цену совсем далеко от целевой, без шансов возвращения к ней. Но этот вопрос находится за рамками текущего обсуждения.
6. Я ОЧЕНЬ сильно сомневаюсь, что руки человека в состоянии работать быстрее короткого программного кода, на нормальном компьютере (извращения типа запуска торговых роботов с квиком на первом пентиуме, с одним гигом оперативки оставим детям)
6. Во время сверх-высокой активности на рынке, в квике достаточно часто можно наблюдать существенные задержки размещения и исполнения заявок. Факторов много, но факт один — если такие задержки возникли, при выставлении заявки роботом, то руками она будет выставлена ничуть не быстрее, а скорее всего еще медленнее, т.к. возникают дополнительные задержки на обработку взаимодействия с визуальным интерфейсом (нажатие кнопок). При чем, для роботов написанных на QPile и QLua быстродействие квика в описанные моменты повышенной нагрузки, очень важно, в виду того, что они исполняются внутри процесса квика. Т.е. если тормозит квик — тормозит все, что работает внутри него. Выход — Вынос логики роботов за пределы квика (немного ненавязчивой рекламы: github.com/finsight/QUIKSharp).
avatar

1. Если торговля через quick проскальзывание будет зависеть не от скорости алгоритма, а от соединения. У меня выставление заявки занимает порядка 150 мс, в то время как работа алгоритма 1-2 мс.

2. Входить лимитными заявками совет конечно хороший, проблема, однако, в том, что ты заранее не знаешь куда входить (если торгуешь много инструментов) и, соответственно, ограничен размером ГО.

3. Проскальзывание может быть очень существенным и оно имеет принципиальное значение для данной стратегии. 

avatar

теги блога Charging Bull

....все тэги



UPDONW
Новый дизайн