Похоже, что очень простая алгоритмическая задача... не имеет решения.... Во всяком случае я её решить не могу. - страница 3

 
Renat Akhtyamov #:

Вы торгуете руками или роботом?

Роботом. Позиции открыты 24/7. Робот может принять решение о полном развороте позиции, но иногда получается не разворот, а прям беда какая-то. 

 
trampampam #:

Если Вы считаете, что дело в ДЦ, можете располовинить свою ТС на два ДЦ. На одном входим, на втором - разворачиваемся. А лучше, возможно, просто уйти из текущего ДЦ, если подозреваете его в нечистоплотности.

Я решил пойтидвумя путями:
- Открыть счета еще в нескольких ДЦ и выбрать того, кто работает относительно честно. Понимаю, что просадки на реальном рынке могут быть. Но на высоколиквидном в размере 100 нормальных спредов это очень маловероятное событие. 10-15 спредов я бы пережил не расстраиваясь... Но 70-80 это слишком.

- Дописать код так, чтобы принимать убытки от такого "разворота" и добавлять их в позиции, которые робот будет открывать в дальнейшем. Не самый простой путь, но самый правильный... наверное.

 
Reactor555 #:

Я решил пойтидвумя путями:
- Открыть счета еще в нескольких ДЦ и выбрать того, кто работает относительно честно. Понимаю, что просадки на реальном рынке могут быть. Но на высоколиквидном в размере 100 нормальных спредов это очень маловероятное событие. 10-15 спредов я бы пережил не расстраиваясь... Но 70-80 это слишком.

- Дописать код так, чтобы принимать убытки от такого "разворота" и добавлять их в позиции, которые робот будет открывать в дальнейшем. Не самый простой путь, но самый правильный... наверное.

Если то, что Вы говорите - правда, и Ваш эксперт может с близкой к 100% вероятностью предсказать какое-либо (пусть даже незначительное) движение - да, увеличение лота следующей сделки на размер покрытия ранее понесенных убытков и грааль готов:)

 
trampampam #:

Если то, что Вы говорите - правда, и Ваш эксперт может с близкой к 100% вероятностью предсказать какое-либо (пусть даже незначительное) движение - да, увеличение лота следующей сделки на размер покрытия ранее понесенных убытков и грааль готов:)

Я боюсь громких слов )
Не знаю, грааль это или нет... но пока ДЦ не начинает шалить, всё работает. Последняя версия принесла около 300% за 7 месяцев. Я даже на крипту переложил своего бота. И там тоже всё работает. Там результат еще выше, но пока серьезными суммами не захожу. Там особая специфика и робота еще долго подстраивать под особенности крипто рынка. Но перспектива именно за криптой.

 
Reactor555 #:

Роботом. Позиции открыты 24/7. Робот может принять решение о полном развороте позиции, но иногда получается не разворот, а прям беда какая-то. 

вот как раз применительно к роботу я и написал про BID и ASK

углубитесь в функцию открытия позиций и все там будет

 
Renat Akhtyamov #:

вот как раз применительно к роботу я и написал про BID и ASK

углубитесь в функцию открытия позиций и все там будет

Я внимательно прочитал, но не понял как я могу это применить. Допустим я играю в мартина. У меня открыта позиция на покупку по цене 2200 в размере одного лота. Я хочу на уровне 2190 развернуться и открыть в два раза больше позицию, чтобы на 2180 забрать прибыль. Классически я на уровне 2190 должен поставить ордер на продажу трёх лотов. И тогда на уровне 2180 я получу прибыль в размере 10-ти пунктов. Но это лишь при условии, что позиция развернется именно по 2190. Если же она развернется с проскальзыванием по цене 2188, то на уровне 2180 я получу прибыль в размере 4-х пунктов. Если проскальзывание будет еще больше, то я могу получить убыток. Как с помощью SymbolInfo я могу уйти от такой ситуации? Разворачиваться не отложенным ордером, а рыночным?... вы же понимаете, что это не возможно. Или я что-то не понимаю.

 
Reactor555 #:

Я внимательно прочитал, но не понял как я могу это применить. Допустим я играю в мартина. У меня открыта позиция на покупку по цене 2200 в размере одного лота. Я хочу на уровне 2190 развернуться и открыть в два раза больше позицию, чтобы на 2180 забрать прибыль. Классически я на уровне 2190 должен поставить ордер на продажу трёх лотов. И тогда на уровне 2180 я получу прибыль в размере 10-ти пунктов. Но это лишь при условии, что позиция развернется именно по 2190. Если же она развернется с проскальзыванием по цене 2188, то на уровне 2180 я получу прибыль в размере 4-х пунктов. Если проскальзывание будет еще больше, то я могу получить убыток. Как с помощью SymbolInfo я могу уйти от такой ситуации? Разворачиваться не отложенным ордером, а рыночным?... вы же понимаете, что это не возможно. Или я что-то не понимаю.

функция открытия позиций есть?

какую заявите цену, такая и будет или что у Вас скользит, не пойму?

 
Renat Akhtyamov #:

функция открытия позиций есть?

какую заявите цену, такая и будет или что у Вас скользит, не пойму?

Улыбнуло )))
Вы не знаете, что такое проскальзывание? Это когда вы выставляете стоп ордер по одной цене, а ДЦ исполняет его по другой, совершенно для вас не выгодной. Если разница не большая, то это можно пережить. Но иногда разница бывает просто огромной.
Поэтому к сожалению не получается "какую заявите, такая и будет".

 
Reactor555 #:

Улыбнуло )))
Вы не знаете, что такое проскальзывание? Это когда вы выставляете стоп ордер по одной цене, а ДЦ исполняет его по другой, совершенно для вас не выгодной. Если разница не большая, то это можно пережить. Но иногда разница бывает просто огромной.
Поэтому к сожалению не получается "какую заявите, такая и будет".

лимитку или рыночный?

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

про лимитки не скажу, т.к. лимитки не нужны в алготрейдинге и есть недоработка алгоритма

робот ждет свою рыночную цену и открывается по ней

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

 

торговля в диапазоне около спреда - это почти всегда так. 

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

ЗЫ. если проскальзывания и реквоты часто - это почти 100% что тормозит ваш робот. Какой-то фигнёй занимается внутри OnTick, считает индикаторы, перерасчитывает мнократно лоты и тому подобное. А он там только торговать должен