Блог им. artos027

Помощь в понимании и механики выставления СТОП ОРДЕРОВ, алгоритмизация

    • 08 мая 2018, 13:25
    • |
    • SO
  • Еще
Доброго времени суток, уважаемые форумчане, кто нибудь может ли подсказать какая логика должна быть в выставлении стопов?
у меня по стратегии закрытие сделки происходит в какой то момент, то есть не сразу выставляются стопы.
И я столкнулся с такой штукой как проскальзывание, да и вообще не пойми какое исполнение.
Сразу скажу что это для робота, не руками и ни в каком терминале, работаю через Transaq Connector.

Разработчики торговых роботов(может даже HFT), может кто то может дать консультацию, желательно лично, и возможно за деньги?

PS. Не обязательно чтоб разработчик имел дело с Transaq Connector, главное чтоб просто объяснил как выставлять, чтоб максимально избежать проскальзывание и прочих рыночных радостей.

Спасибо

★3
23 комментария
Вы немного туманно пишете — можете конкретизировать что ли?) Вам надо выходить в какой-то момент времени? в смысле триггер — наступление конкретного времени? — только про этот случай хотите понять?

avatar
Проскальзывание всегда будет, дело в том, что вы ставите стоп ордер в том месте где вам надо, но реалии таковы, что в том месте нет других желающих выставлять противоположные объемы, а терминал то ведь должен исполнить ваш приказ любой ценой, поэтому он его исполняет, беря недостающие объемы по не по вашей, а ближайшей цене. Вы этот процесс видите как Проскальзывание...
Тут вариант такой, на каждом инструменте свое проскальзывание, вы его должны видеть, поэтому ставьте ордер в зазором(учитывая проскальзывание)

Чтобы максимально попадать в рыночную цену нужно иметь текущую цену.

Точнее цену последней сделки.

И от неё плясать.

На самом деле не до конца ясна суть проблемы.

Если вы ставите стоп, то срабатывая он генерирует лимитник.

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

Но судя по всему вы кроетесь маркетными ордерами.

В этом случае проскальзывание неизбежно и неконтролируемо.

Тарас Громницкий, Но лимитка может вообще не сработать )) Из двух зол я бы выбрал меньшее — для меня это стоп-ордер по рынку (но с нюансами выставления на уровне). А так, более-менее приличный объём «просклизят» в любом случае.
avatar

Antishort, может.

Но для этого к лимитной цене в стоп заявке добавляется/отнимается некоторая величина.

Чтобы при срабатывании быть лучше рынка.

Плюсом в момент выставления лимитника программа должна начинать мониторить его исполнение.

И при необходимости догонять цену, если это допустимо стратегией.

Особо продвинутые могут эмулировать стоп самостоятельно.

Т.е. следить за ценой и в нужный момент крыть позу лимитником.

Ибо не всегда сервера брокера быстро превращают стоп в лимитник.

Тарас Громницкий, ИМХО, лимитками без такого догона нельзя выставляться. С контролем исполнения стоп-ордеров можно лимитками работать, без контроля — нет. На рынке США и внутри дня бывает акции гэпуют, причём достаточно ликвидные, а не пенни сАки.
avatar
Выставить стоп — дело техники. Чтоб не было проскальзываний, надо, e.g., использовать стоп-лимиты. Но это все — тоже дело техники. Главное же — идеология, понимание того, где сосредоточена масса ордеров того же направления (что и вызывает проскальзывание). А это, в основном, — экстремумы и/или объемные зоны. Тогда задача номер один — ставить стоп таким образом, чтоб он не конкурировал со стопами других трейдеров, а мог «врезаться» в их лимитки противоположоной направленности, что подразумевает и определенную ТС, и размер депозита и требует пересмотра стратегии и тактики торговли.
avatar
Всем спасибо что отвечаете, да довольно развернуто.
Про рыночные я после первых же тестов на реале понял, что там цены исполнения улетают мама не горюй.
Могу писать туманно, тоже факт)

Смотрите, столкнулся с такой штукой, даже пример
Купил фьюч si, пошла не в мою сторону, я выставляю стоп ордер где вбиваю цены активации и TP и SL последнюю цену, в итоге ордер выставляется, цена за секунду улетает вниз еще на 60 пунктов, и получается так что мой ордер висит а цена далеко убежала вниз, и минус мой продолжает увеличиваться.
Скорее я хочу сделать так чтобы если у меня происходит на закрытие сигнал, я точно закрываю сделку.
И вот в этом месте у меня затык, у же пару недель всевозможно тестирую, но как только появляется провал цены на 50 шагов за секунду, никакие ордера не схватываются.
Надеюсь доступно объяснил, что меня интересует.
И да мне не совсем нужны общие фразы, мне скорее нужен тот кто решил для себя так или иначе подобную задачу, и скажет мне схематично мои действия, а я за это соответственно заплачу.
Всем спасибо
avatar

SO, в стоп-заявке есть лимитная цена.

Цена, которая будет в лимитной заявке при срабатывании стопа.

Если вы покупаете стоп-заявкой, то к этой цене плюсуйте дельту.

Чтобы при выставлении лимитника быть выше сработавшей цены.

Если продаёте, то минусуйте от цены дельту.

И тоже будете лучше рынка.

Дельта подбирается в зависимости от инструмента и его волатильности.

Это защита не идеальна, но снимает массу проблем.

SO, Озвученную вами задачу не решить никак )) Если рыночный ордер тянет стакан вниз, он будет его тянуть и вас за собой, какую-бы заявку вы не кидали. Я тупо веду учёт сделок с учётом проскальзывания и за много-много сделок набирается некая усреднённая величина, которую надо встраивать в параметры ТС.
avatar

Ничё не пойму — почему все пишут, что лимитниками не будет проскальзываний — они будут, просто контролируемые — за этот контроль платишь вероятностью исполнения)) — что, короче, ещё может быть похуже проскальзывания)) — если говорить о выходе из позиции, при входе ты можешь четко контролировать где заканчивается цена, по которой тебе ещё выгодно выходить и уже нет смысла — от неё и танцуешь, а при выходе если цена где можно выходить уже прошла — то как бы тем более надо выходить))) — хотя есть нюансы конечно. 

А по вопросу в посте — как сказал — слишком туманно все, не понятен контекст и задача до конца.

avatar
Replikant_mih, давайте я попробую поставить задачу более тривиально, если у вас такой опыт есть.

Мне надо помочь сделать систему учета заявок, исполнения ордеров и сделок, чтоб максимально адекватно происходило открытие и закрытие позиции.

Например схематично, можно даже блоками
Сигнал на покупку => делаешь то
Сигнал на закрытие покупки => делаешь следующее
Сигнал на переворот => пятое десятое и т.д.
И вот за это я готов заплатить.

Стратегия скальперская, сделок в среднем по тестам где то 60 по сишке, пока тестирую на ней, так как цена за тесты не такая болезненная.
Спасибо
avatar

SO, хз, по-прежнему довольно абстрактно)

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

avatar
Replikant_mih, Я на самом деле вас понял, что факторов слишком много.
А может подскажите, какие варианты улучшения соединения с брокером? Помимо прямого подключения.
avatar
SO, у меня в этом пока опыта не так много), но думаю, да — это прямое/не прямое, а так же, наверно, пинг от серверов где размещены роботы до того места, куда они стучатся. Ну и через что подключаться — наверно, Квик медленный, Транзак пободрее, остальные — надо смотреть, читать, мерить)
avatar
SO, на скальперской системе Вам нужна высокая скорость поступления данных и высокая же скорость отгрузки ордеров. Пока её у Вас нет — пустой разговор. 
Для исследования на текущей скорости могу предложить простой алгоритм.
Ставите заявку МЕЖДУ лучшими ценами на покупку и продажу в момент отгрузки заявки. Если заявка не исполнилась, скажем, за Х секунд, переставляете опять в середину спреда. На Си — пойдет. На полуликвидах уже нет.
avatar
Replikant_mih, Причем я понимаю что для каждой стратегии свои нюансы, меня в данный момент интересует хотя бы общая картина работы с ордерами и сделками.
avatar
Сигнал на покупку по цене X  -  выставляется стоп-заявка на покупку по цене X с лимитником X+проскальзывание.
Если эта заявка сработала, выставляется стоп и тейк.
Стоп также стоп-заявка на продажу по цене Y+проскальзывание.
Тейк — лимитная заявка.
Можно выставить связанную заявку стоп и тейк, но нужно понимать, что в 18:45 брокер ее уберет.
avatar
Karim, Почему уберёт, если она с флагом до отмены?
avatar
Antishort, У связанной заявки (стоп-заявка и лимитная) такого флага нет. По крайней мере, у моего брокера (Финам).
avatar

как у меня, вход лимитником, то есть если выставил заявку на покупку по 72, вошёл — хорошо, цена не дошла или кто то меня опередил и цена уже выше — ну и фиг с ним, снимаем заявку, ждём дальше....

допустим вошли по 72, цена бултыхалась, и тут пошла против меня, если дошла до 70 то выставляю заявку на продажу по цене 69,9, цена пролетела мою заявку и вот уже цена 69,7, выставляю по 69,5, опять не взяли — повторяем заново. меня такой вариант не устраивает, по этому если нужно выйти по стопу то я выхожу обязательно! по любой цене какая есть, по этому выставляю заявку на продажу не по 69,9 а на 0,5% или 1% ниже, например (учитывать надо что у фьюча нельзя выставлять цену слишком далеко от текущей цены) получается выставляю на 0,5% ниже рыночной = 70, т.е. 69,65 и заявка исполнится по лучшей цене из стакана, может быть и 70 и 70,2 или 69,85 например, как повезёт, но зато точно (или почти точно) мы закроем позу. я предпочитаю так делать, всегда выставляю стоп на 0,5 или 1% ниже

 

вы про это спрашивали?)

 

да, если надо обязательно купить значит выставляю заявку выше текущей цены на 0,5-1%, ну то есть получается заявка  — по рынку 

avatar
Если ставишь стоп в местах где все ставят, например на лоях свечей, то будь добр если хочешь выйти наверняка проскальзывание взять как минимум 0.01 от цены стопа, а то и больше. Проверь своего бота с таким проскоком на истории, а не на форварде как ты делаешь. А то слив даже с минимальным сайзом у тя может затянуться=потерянное время да еще и деньги.
avatar
Ребята, всем спасибо, приятно удивлен что настолько отзывчивые люди есть) Я в этом деле новичок, но какой никакой информации получил)
avatar

теги блога SO

....все тэги



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