Блог им. ChargingBull

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

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

Charging Bull

Charging Bull, я не до конца понял вопрос, робот выставит лимитку как ты захочешь, по твоему условию. Можешь по закрытию бара запрограммировать, можешь сразу при пробитии, пока бар еще не закрылся. После выставления лимитной заявки она будет висеть, пока тебе ее не нальют. Если следующая свеча к этой цене подойдет, то тебе нальют на следующей свече, если нет, то заявка будет висеть и ждать, пока цена до нее не дойдет. Если будет сильный скачок, то могут вообще не налить, так как цена к этому уровню не вернется.
Проблема фортса в том что нельзя купить по рынку. Т.е. если макс.бара 960 то надо в роботе писать спред! Например 30 пунктов или 20 или 40) получается что при цене 970 (это уже пробитие максимума бара) вы вылетите по цене 990 (30 спред в роботе) а исполнится она по рыночному стаканц. Сам работаю с квиком и роботами. Исполняется быстро ( у нас инет афигенный)

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

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

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

avatar

SAI

Я хочу сказать о том, что надо писать Спред к условию робота! Спред можно хоть 200-500 написать. А исполнится такая Лимитная заявка по первому предложению в стакане. Если нет желания писать спред, то читаем выше парня… она будет стоять в стакане и ждать исполнения)))
Андрей Андреичъ, тоесть есть 2 варианта условий: бар закрылся, и робот может выставить лимитку над хай и под лоу этого бара, и ждать исполнения.(ждём пробоя бара) И будут они висеть до упора. А можно установить спред в условии, например 10, и робот начнет по рынку входить по ценам хай бара + спред. Например на 960 хай, при спреде 10, т.е цене 970 робот даёт команду на вход, и вход будет на 970 и выше/ниже, по какой цене нальют. Так?
avatar

Charging Bull

Так. Давайте от печки! Ваше условие алгоритмя (например) это пробитие 1 мин.бара. Например бар закрылся по 950. Так вот… дальше два варианта. Сразу скажу что эти два варианта — это лимитные заявки. Т.е. заявки будут вами (роботом) выставляться с ОПРЕДЕЛЕННОЙ ценой. Итак. 1 вариант: бар закрылся 950. Условие пробития — это сделка по 960. Как только эта сделка прошла ваш робот может выставить заявку по 960 и ждать ее исполнения. Рынок при пробитии бара может импульсом улететь вверх и вы не исполнитесь.заявка будет стоятб в стакане и ждать отката. Вариант 2: это когда происходит пробитие (т.е. проходит сделка по 960) вы прописываете условие в робота такое — цена пробития + спред. Этот спред можите в ручника всегда сами прписывать в начале дня. Итого получаем… когда цена пробет бар и сделает 960 то ваш робот выставит заявку 960 + спред (например 30) это вылетит в рынок по 990 а и полнится либо по 970, либо 980, либо 990… или пролетит и будет стоятб в стакане по 990 если был сильный новостной импульс)
Андрей Андреичъ, понял, спасибо. Тут у меня вопрос был именно как робот это дело отрабатывает, потому что если я сам лимитку над или под бар выставляю, понятно как она исполняется. А вот с роботами никогда не сталкивался. Понятно что пробойную стратегию лучше скорее всего торговать руками. Робот тут мало что улучшит, а скорее наоборот может нагородить дел)
avatar

Charging Bull

Еще… когда вылетите в стакан по 990 она может исполгитмя и по 950 и по 940 и по 930 (если был откат сразу после 960) Это правило биржи — при высталении заявки выше рынка исполнение идет по лучшему предложению. Так нызываемое исполнение от дураков)
На 5 мс 0
,15-0,2 Максим оборот сделки.подряд заявки.минимум 20-50мс.
Заявка исполнится по токсичной цене. Какой именно она будет на тот момент одному Богу известно.
avatar

Cristopher Robin

В среднем будет исполняться на 10-20 хуже, если объем 100 по РИ. Будут случаи, когда исполнение будет на 10 лучше и такие, когда на 40 хуже.
avatar

Sergey Pavlov

в квик данные по свечкам приходят примерно с задержкой в 250 миллисекунд от «настоящего времени»
заявка от квика до сервера идёт примерно 30 миллисекунд.
на фортс имеются только лимитные заявки, т.е. вы сами определяете максимальную цену по которой готовы купить или минимальную за которую готовы продать.
дальше уже дело случая и корректности/свежести ваших данных, насколько близко цена исполнится к той, которая есть «сейчас» на свечном графике в момент отправки заявки.

ещё стоит отметить что QPILE не умеет обрабатывать сигналы (например обновление свечи) и срабатывает не чаще чем раз в секунду (насколько я знаю)
а Lua, в свою очередь, является в квике интерпретируемым языком, так что разрабатывая на нём сложный код, вы попадаете на скорость интерпретатора. впрочем, Lua поддерживает загрузку dll.
avatar

ПBМ

Вот этот робот www.saturn-capital.info/sp Среднее проскальзывание около 23 было по прошлому году
В этой стратегии от проскальзывания никуда не уйти.
Все смешалось. Кони, Люди...

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

Prophetic

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

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

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

avatar

Иван Ру


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW