Как с помощью системы фильтров сделать прибыльной ЛЮБУЮ! торговую систему...

 

Может быть баян, но все же. Предлагаю провести совместное исследование на тему.  Как можно с помощью системы фильтров сделать прибыльной ЛЮБУЮ! торговую систему.

Преамбула.

Берем ЛЮБУЮ, саму простую ТС (например пересечение машек, с потолка взятыми периодами и прочим, стопы и тейки привязываем к ATR) и используем ее в качестве обычного генератора сигналов. Этакий пулемет "Максим", который строчит особо не разбирая куда.

Далее берем историю его сделок и пытаемся с помощью методов мат. статистики получить наиболее эффективные условия фильтров для того, чтобы отфильтровать максимальное количество убыточных сигналов и оставить максимальное количество прибыльных.

Каким образом будем определять, что и как фильтровать? Для этого возьмем основные параметры сделок:

  • Инструмент

  • Направление сделки

  • Цена открытия

  • Дата/Время открытия

  • Цена закрытия

  • Дата/Время закрытия

(особо хочу заметить, что объемы учитывать не будем, результаты только в пунктах)

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

В качестве примера приведу следующую идею.

Строим распределение Цены открытия для всех сделок BUY-прибыльных относительно:

  • Круглых значений цены

  • Max/Min предыдущего дня

  • Max/Min предыдущей недели

  • Max/Min предыдущего месяца

Если увидим четкий горб, значит есть некая закономерность.

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

 
Все те-же яйца, только в профиль. Всего лишь очередная подгонка под историю.
 
Yuriy Asaulenko:
Все те-же яйца, только в профиль. Всего лишь очередная подгонка под историю.

К сожалению ничего другого не остается. Раз в будущее нам заглянуть не дано.

 

универсальный фильтр делающий ЛЮБУЮ ТС безубыточной :

bool UniversalFilter(void AnyArg) {

return false;

}

 

В Лиге Торговых Систем - я это все уже давно сделал. У меня работают только простейшие ТС, и многие из них вполне себе прибыльны некоторое время.

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

 
Rustem Bigeev:

К сожалению ничего другого не остается. Раз в будущее нам заглянуть не дано.

Остаётся. Забыть о прибыли, как о критерии оптимальности системы.

 
Georgiy Merts:

В Лиге Торговых Систем - я это все уже давно сделал. У меня работают только простейшие ТС, и многие из них вполне себе прибыльны некоторое время.

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

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

 

Нужно начать с начала: создать советник, прогнать его на графике, начать анализировать график и сделки.

Можно пытать вот этот код: Two MA OHLC

Советник работает по двум iMA (Moving Average, MA). Если на баре #1:

  • MA Fast выше MA Slow - это разрешение на открытие BUY позиции
  • MA Fast ниже MA Slow - это разрешение на открытие SELL позиции

После получения разрешения существуют два фильтра:

  1. Общее количество позиций (BUY и SELL) не должно превышать заданного Maximum positions
  2. Для сигнала BUY: цена ASK должна быть выше самой высокой позиции BUY как минимум на Step posiitons, для сигнала SELL: цена BID должна быть ниже самой низкой позиции SELL как минимум на Step posiitons.

Добавлено ограничение по времени торговли: при Use time control равном true можно будет торговать только в интервале от Start hour до End hour. Ещё можно ограничивать тип открываемых позиций (Type traiding): или только BUY, или только SELL или же полный доступ - и BUY и SELL.

Закрытие позиций происходит по Стоп лосс или Тейк профит, при этом в рынке могут быть открыты одновременно и BUY и SELL позиции.

Two MA OHLC

 
Vladimir Karputov:

Нужно начать с начала: создать советник, прогнать его на графике, начать анализировать график и сделки.

Можно пытать вот этот код: Two MA OHLC

Кажется ссылка битая.... не открывается

 

глубоко в теории любая ТС ~ композиция амплитудно-частотных фильтров. Они все недалеко уходят от Фурье :-)

берёшь ТС, определяешь  идеальные для неё условия и разброс.

пока измеренные в реальности характеристики инструмента попадают в нужную область - ТС разршена. При отклонении запрещена   

 
Maxim Kuznetsov:

глубоко в теории любая ТС ~ композиция амплитудно-частотных фильтров. Они все недалеко уходят от Фурье :-)

берёшь ТС, определяешь  идеальные для неё условия и разброс.

пока измеренные в реальности характеристики инструмента попадают в нужную область - ТС разршена. При отклонении запрещена   

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