Обсуждение статьи "Как обезопасить себя и своего эксперта при торговле на Московской бирже" - страница 7

 
Andrey Miguzov #:

В моменте - Вы правы. А так пример простой - надо купить за 1000. Стоит лимитка - рынок пошёл в Вашу сторону и Вам продали по 1000. А цена стала через 50 мс - 900 :) Купить за 900 лучше чем за 1000 же?

Лимитка стоит в спреде и с точки зрения ТС - 1000 это отличная цена. Но 900 ещё же лучше...

...

Скажу так, если Вы работаете лимиткой, то должны вставать против движения паравоза, зная, что он остановится. Т.е. если Вас исполнили по 1 000, а паравоз летит на 900, то Вы должны быть уверены что он скоро развернется в Вашу сторону. Если Вы этого не знаете, то возможно не стоит торговать лимитками вовсе, у Вас чисто трендовая стратегия, для которой важен момент "здесь и сейчас".

 
tapo #:
ИМХО, не лучшее решение. Если финам (у разных брокеров по разному), то он, на мой взгляд, предоставляет все необходимое для расчета налету (парсинг сделок истории). А так приходится дополнительно сверяться с файлом, и не понятно зачем это нужно. Чтобы несколько экспертов одновременно не входили - GlobalVariableSetOnCondition().

Файл нужен для старта системы. Представьте, что у Вас 2 робота - один открыл бай на 1 лот, второй открыл селл на 1 лот по тому же символу. При старте терминала на счете позиций нет, а их на самом деле аж 2 штуки (это очень простой пример для иллюстрации - на самом деле там всё сильно сложнее). Парсинг истории - очень дорогое по времени удовольствие, особенно если копать глубоко.

Можно, наверное, и через глобальные переменные реализовать. 

tapo #:
Ваш пример имеет место быть, безусловно, но, в таком случае мы представляем две разные вещи. Я говорю про широкий спред, крайне низкую ликвидность. Где должно пройти много секунд или даже минут, чтобы произошла ситуация, которую Вы описали. В Вашей ситуации, считаю, маркеты - лучшее решение.
Vasiliy Sokolov #:

Скажу так, если Вы работаете лимиткой, то должны вставать против движения паравоза, зная, что он остановится. Т.е. если Вас исполнили по 1 000, а паравоз летит на 900, то Вы должны быть уверены что он скоро развернется в Вашу сторону. Если Вы этого не знаете, то возможно не стоит торговать лимитками вовсе, у Вас чисто трендовая стратегия, для которой важен момент "здесь и сейчас".

Ну я же пример для понимания привел, он условный.

Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)

Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.

Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.

 
Andrey Miguzov #:

Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)

Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.

Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.

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

И, кроме этого:

1. Вряд ли такие ситуации будут очень частыми;

2. Вам никто не запрещает доливку маркетом по только что образовавшимся еще более хорошим ценам;

Как Вы правильно сказали, все зависит от ситуации. В идеале, нужно совмещать. 

 
Vasiliy Sokolov #:

Если у Вас реально такое большое количество роботов, а не гипотетический пример, рекомендую перейти на систему консенсуса/голосования. При таком большом количестве систем на порядок будет проще работать.

В основном, это тестовые. Реально торгующих не более 2-3-х десятков.

Но там есть разные стратегии, работа по тренду и против, на разных таймфреймах, с разными условиями трейла, от разных исходных уровней.

Т.е., например, трендовый робот держит позу на H4, а за это время контр-трендовый может успеть сработать и в ту, и в другую сторону на M15.

Это диверсификация для выравнивания графика - все в плюсе по итогам года, но в отдельные периоды кто-то может проседать.

Я не представляю, как это свести к консенсусу. А тем более, как при этом видеть вклад каждой отдельной стратегии.

 
Andrey Miguzov #:

Файл нужен для старта системы. Представьте, что у Вас 2 робота - один открыл бай на 1 лот, второй открыл селл на 1 лот по тому же символу. При старте терминала на счете позиций нет, а их на самом деле аж 2 штуки (это очень простой пример для иллюстрации - на самом деле там всё сильно сложнее). Парсинг истории - очень дорогое по времени удовольствие, особенно если копать глубоко.

Можно, наверное, и через глобальные переменные реализовать. 

Ну я же пример для понимания привел, он условный.

Ещё один пример - широкий спред, низкая ликвидность - стою в стакане на 1000 объемом 5. Прилетела встречная лимитка объемом 100. Меня снесла и стала в стакан на цену 900. А я смотрю на неё и думаю - зачем я потратил неделю на реализацию торговли через лимитники :)

Я не "топлю" за рыночные ордера. Нужно пользоваться и теми и теми - всё от ситуации/стратегии зависит.

Мой посыл, что отмена комиссии за лимитные ордера на МОЕКС - это ещё не значит, что надо всем обязательно на лимитники переходить - проверять всё нужно и считать.

Если стратегия подразумевает логику входа "по рынку " то не надо переделывать стратегию, т.е. становиться в стакан лимиткой и ждать.

Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.

(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными  лотами и не  сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))

 
mktr8591 #:

(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными  лотами и не  сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))

Сбор отменили. 

mktr8591 #:

Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.

Убегает цена часто... Очень сильно от момента зависит конечно и от стратегии...

 
mktr8591 #:

Если стратегия подразумевает логику входа "по рынку " то не надо переделывать стратегию, т.е. становиться в стакан лимиткой и ждать.

Надо просто имитировать рыночные приказы лимитками - например, выставить Buy limit на 1 шаг ниже Ask. И перевыставлять его периодически (не очень часто) при изменении Ask.

(хотя тут надо посчитать "Сбор за неэффективные транзакции" биржи. Но при работе не минимальными  лотами и не  сильно большим числом изменения ордеров все равно выгоднее лимитами получается. Но я пока не проверял :-)))

Отменили на фьючерсах.

 
JRandomTrader #:

Я не представляю, как это свести к консенсусу. А тем более, как при этом видеть вклад каждой отдельной стратегии.

Можно, если представить что каждая система это индикатор выдающий три значения: -1, 0, +1. Помножаем выданный знак системы на алоцированную ей часть средств и получаем количество лотов которое нужно держать на рынке. Сумма лотов систем равна нетто позиции на символе. Если это не так, делаем ребаланс нетто позиции что бы сравнять оба показателя. Паралельно держим таблицу с транслируемыми объемами позиций по каждоц стратегии (индикативно). Понимаем какие куда стоят и каким сайзом. Если нетто-позиция равна сумме индикативных объемов по каждой стратегии, то значит все так и есть, каждый торгует по своему сигналу.

 
Vasiliy Sokolov #:

Можно, если представить что каждая система это индикатор выдающий три значения: -1, 0, +1. Помножаем выданный знак системы на алоцированную ей часть средств и получаем количество лотов которое нужно держать на рынке. Сумма лотов систем равна нетто позиции на символе. Если это не так, делаем ребаланс нетто позиции что бы сравнять оба показателя. Паралельно держим таблицу с транслируемыми объемами позиций по каждоц стратегии (индикативно). Понимаем какие куда стоят и каким сайзом. Если нетто-позиция равна сумме индикативных объемов по каждой стратегии, то значит все так и есть, каждый торгует по своему сигналу.

Нужна ещё обратная связь - "индикатору" нужно сообщить, почём открыта его поза. Если поза по его сигналу не открыта, то позже её, вероятно, открывать и не надо. Т.е., сигнал не уровнем, а импульсом.

 

Виртуальная торговля + синхронизация нетто-позиции со счетом.

Но получится примерно то же, что хранить данные каждой системы в файле или БД.