Что делать с висяками?

 

Привет, коллеги!

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

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

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

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

Тренд на продажу, все замечательно

Тренд закончился, в правой части экрана образовались два висяка

А это картина за неделю 29 сен. - 3 окт. висяки множаться ((


 
VDev:

...

А что такое "висяки" ? ))
 
tol64:
А что такое "висяки" ? ))

Это открытые ордера, которые ушли в убыток. У меня в роботе открывается несколько десятков ордеров, в том числе и встречные. Но если начался затяжной тренд, то остаются эти зависшие ордера, с которыми не очень ясно, как поступать.

Смотрите картинку, там на последней их целая куча за неделю накопилась.

 
VDev:

Это открытые ордера, которые ушли в убыток. У меня в роботе открывается несколько десятков ордеров, в том числе и встречные. Но если начался затяжной тренд, то остаются эти зависшие ордера, с которыми не очень ясно, как поступать.

Смотрите картинку, там на последней их целая куча за неделю накопилась.

А этот вопрос решаемый?

По моему, с этой проблемой все присутствующие сталкивались 

 
tol64:
А что такое "висяки" ? ))
А у тебя же не Ржевский фамилия..
 
задайте условие при наступлении которого откажитесь от благостной картины

в противном случае, в итоге - картина будет не благостной а удручающей
 
papaklass:

Способ один - закрывать.

Вопрос: когда?

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

Общая идея: освобождаться от загрузки депозита, т.е. разгружать его, при приросте депозита. 

Что закрывать - это понятно, вопрос в том, как это выгоднее делать. Попробовал Ваше предложение, вот результаты для EURUSD за эту неделю, в минус. Надо еще поэкспериментировать)

1. Без закрытия висяков, закрываются принудительно в пятницу в 22:00

Всего ордеров= 838   Buy= 371   Sell= 467   stopCount= 0   profit= 0.07773 (7773 пункта)

2. Закрываются убыточные ордера на Sell, если началась серия на Buy и прибыль в предыдущей серии Sell положительная. И наоборот.

Всего ордеров= 2044   Buy= 971   Sell= 1073   stopCount= 0   profit= -0.254200

 

"... Если начинается тренд в противоположную сторону - закрываю эти висяки.  ..."

самый выгодный вариант, это закрытие "висяков"("лосей", минусовых ордеров ) мини-лотом,

т.е. (н.п.): закрывается второй(начиная со второго/третьего плюсового ордера) ордер в плюс(с пусть даже маленькой прибылью),

и также закрывается средний (н.п. из трёх, это второй минусовой ордер,сначала минилот'ом ).

Если и дальше тренд идёт то закрывается следующий положит.ордер(с прибылью),

и закрывается мини-лот (след.мини-лот) этого-же среднего лота, и так до тех пор пока не закроется мини-лотом весь средний ордер.

Если и дальше идёт тренд, то закрывается следующий положит.ордер(с прибылью), 

и закрывается последующий минусовой ордер(мини-лотом), но не последний(!!!).

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

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

самый дальний (первый минусовой ордер ) начинает закрываться мини-лотом ,когда уже (если) остались только два минусовых ордера.

Последний минусовой ордер тянется с трендом, и если тренд "развернулся", тогда он уже бустро "примет" заначение положит.ордера, 

и весь алгориритм  "переворачивается".

надеюсь идея  понятна, это не новинка.

Иногда похожие варианты называют "перекрытием"(OverLapping)

Но, варианты исполнения разные, н.п. BUY only, SELL only ...

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

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

P.S. вариант "закрытия в пятницу" не есть хорошее решение.

 
VDev:

Всего ордеров= 838   Buy= 371   Sell= 467   stopCount= 0   profit= 0.07773 (77

Всего ордеров= 2044   Buy= 971   Sell= 1073   stopCount= 0   profit= -0.254200

ХОРОШИЙ брокер, столько ордеров
обычно орграничение стоит в районе двух сотен, а бывает и меньше, или это демка?
 
IvanIvanov:
ХОРОШИЙ брокер, столько ордеров
обычно орграничение стоит в районе двух сотен, а бывает и меньше, или это демка?

Это реал, центовый счет. Специально на нем тестирую, так как условия хуже, чем на ECN, на котором я в основном и торгую. Так что, если на центовом будет профит, то на ECN тем более.  Это общее количество ордеров за за неделю, Вы, наверное, про макс. число 200 открытых позиций говорите.

Сейчас глянул, ограничения в 200 именно на центовых счетах _http://gyazo.com/cef41a6ba12620763469c9727d4c56fe

Screenshot by Gyazo
  • gyazo.com
Данное изображение было создано и загружено на сервер менее чем за 3 секунды. Скачайте самый быстрый инструмент для захвата и публикации ваших скриншотов. Скачать Gyazo бесплатно
 
А висяков не должно быть)))))))
Причина обращения: