Блог им. Sibiryachok

Влияние различных факторов на результативность системы. Часть 3.


В прошлой части - http://smart-lab.ru/blog/98349.php  — мы остановились на фильтрации входа по направлению свечи. В лонг только на белых, в шорт на черных.

И получили следующий результат:

Влияние различных факторов на результативность системы. Часть 3.

 
Поработаем далее с этим фильтром. Посмотрим, может не стоит браковать все направленные свечи. Может стоит лишь браковать те свечи, тело которых начинается с определенной части свечного диапазона. К примеру, если свеча черная, а её открытие произошло ближе к середине диапазона или даже ниже, то, соответсвенно, по всем понятиям свечного анализа мы имеем дело с сильным продавцом. Но как нам опеределить ту грань, за которой должно происходить открытие? Понятно, тут надо прибегать к оптимизации. Т.е. путем перебора всех возможных значений получить то, которое дает лучший результат.


Код нашего фильтра будет выглядеть следующим образом для лонга:

anBC2 = C < O AND O > (H — (((H-L)/100)*n1));

И для шорта:

anSC2 = C > O AND O < (L + (((H-L)/100)*n2));

Полученные оптимизационные значения:

n1 = Param («n1», 89, 1, 100, 1);  
n2 = Param («n2», 37, 1, 100, 1);

Итоговые сигналы выглядят следующим образом:

Buy = BC1 AND BC2 AND (BC3 OR BC4) AND BC6 AND TM2 AND !BeginDay AND !anBC2;

Short = SC1 AND SC2 AND (SC3 OR BC4) AND SC6 AND TM2 AND !BeginDay AND !anSC2;  

Sell = TM OR LO3pr OR LO4loss;  

Cover = TM OR SO3pr OR SO4loss;

  
Результат эквити:

Влияние различных факторов на результативность системы. Часть 3.
Влияние различных факторов на результативность системы. Часть 3.



Теперь маленько вернемся в начало. Я совсем не дал понятие основ, на которых изначально строилась данная торговая система. Всё я, конечно, раскрыть не могу, но основы ТС следующие: выявляются экстремумы цены и проверяется наличие дивергенции с… С чем? А вот это уже сама суть. Скажем так, на текущий момент индикаторов там нет.

Но они заставили себя появиться. За это время я исчерпал известные мне возможности фильтровать входы/выходы без использования линейных индикаторов. Если кто подскажет что-то еще, буду признателен. Но пока так. Посему решил попробовать — даст ли нам что-то добавление в систему ииндикаторов. К примеру, в моменте проверки дивергенции.

Возьмем индекс случайного блуждания (RWI). Он имеет два параметра. Фильтровать будем как дивергенцию индикатора с ценой. Проведем оптимизацию и получим:

Влияние различных факторов на результативность системы. Часть 3.
Влияние различных факторов на результативность системы. Часть 3.

Также здесь был введен еще один фильтр по дивергенции, но то не линейный индикатор.

Код выглядит уже так:

Buy = BC1 AND BC2 AND (BC3 OR BC4) AND BC6 AND BC10 AND BC11 AND TM2 AND !BeginDay;

Short = SC1 AND SC2 AND (SC3 OR BC4) AND SC6 AND SC10 AND SC11 AND TM2 AND !BeginDay;

Sell = TM OR LO3pr OR LO4loss;

Cover = TM OR SO3pr OR SO4loss;

Теперь подумаем — а что конкретно мы улучшали данным действием? Мы пробовали добиваться более правильных входов. Ведь добавляя входной фильтр,  мы уменьшаем кол-во входов, надеясь на вычленение наиболее успешных. Так и есть. Если в первом случае (где мы фильтровали по диапазону тела свечи) количество сделок получалось 181. Из них 73 выигрышные, то с добавлением входного фильтра число сделок уменьшилось до 105. А средний профит/лосс вырос с 0.11% до 0.19%.

Но очевидно, что работать можно не только со входами, но и с выходами. Попробуем сделать так, чтобы по возможности, при наличии поступательного движения мы брали большую его часть. Будем выходить тогда, когда настрой толпы меняется на противоположный нашей позиции. Исходить будем из системы с фильтром по открытию свечи относительно всего свечного диапазона.

В коде происходит замена условия выхода:

Buy = BC1 AND BC2 AND (BC3 OR BC4) AND BC6 AND TM2 AND !BeginDay AND !anBC2;

Short = SC1 AND SC2 AND (SC3 OR BC4) AND SC6 AND TM2 AND !BeginDay AND !anSC2;

Sell = TM OR LO3pr2 OR LO4loss;

Cover = TM OR SO3pr2 OR SO4loss; 

В итоге получаем:

Влияние различных факторов на результативность системы. Часть 3.
Влияние различных факторов на результативность системы. Часть 3.

 К сожалению, здесь также используется оптимизация параметра выхода. Ибо, если брать исходные данные без сглаживания, будет слишком много ложняков.

Вот такой расклад мы имеем. С одной стороны последний вариант более результативен по сравнению с линейным индикатором. Однако расклад по просадкам несколько удручает. Да и сделок тут больше — 148.

Продолжаем мыслить... 
★11
5 комментариев
а не проще забить на всё это и торговать руками? по-моему мозги всем запутали святым роботограалем и все кинулись на прииски, а его то там и нет))
Скромнее надо быть, причем тут роботограаль? Ты когда руками торгуешь, входишь и выходишь на основании каких-то суждений? Так? Ну так и здесь такие же суждения, которые просто к тому же проверяются на истории. И дополнительно автоматизируются, дабы не сидеть за терминалом и не пялится в него 14 часов.
avatar
Sibiryachok, у меня простая система, очень простая, сделок мало, поэтому мне достаточно стоп и тейк-профита для неё-вот и весь робот)
Скромнее надо быть, если внутридня, то ещё можно, но не факт что она будет лучше, да и время на неё тоже нужно… я просто давно понял, что чем меньше сделок, тем система прибыльнее, да и даже интрадей ей проигрывает… так что робот нужен видимо для супер ХФТ. Но если вы программист, то тогда вас не переубедить
Скромнее надо быть, меня не надо переубеждать. Кто-то любит арбуз, кто-то свиной хрящик. Лично мне с моим психологическим типом необходимо исключить ручную торговлю и передать её во власть машины.
avatar

теги блога Sibiryachok

....все тэги



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