Все те-же яйца, только в профиль. Всего лишь очередная подгонка под историю.
К сожалению ничего другого не остается. Раз в будущее нам заглянуть не дано.
универсальный фильтр делающий ЛЮБУЮ ТС безубыточной :
bool UniversalFilter(void AnyArg) {
return false;
}
В Лиге Торговых Систем - я это все уже давно сделал. У меня работают только простейшие ТС, и многие из них вполне себе прибыльны некоторое время.
Смотри, какие системы сейчас работают, запускай у себя такие же, и получишь все примерно тоже самое.
К сожалению ничего другого не остается. Раз в будущее нам заглянуть не дано.
Остаётся. Забыть о прибыли, как о критерии оптимальности системы.
В Лиге Торговых Систем - я это все уже давно сделал. У меня работают только простейшие ТС, и многие из них вполне себе прибыльны некоторое время.
Смотри, какие системы сейчас работают, запускай у себя такие же, и получишь все примерно тоже самое.
Пробежался по ветке - должно быть титанический труд. Но мой подход несколько иной. Я предлагаю вывернуть наизнанку одну систему, путем расстановки флажков, которые не дадут ей открывать много убыточных сделок и при этом позволят открывать максимум прибыльных. БЕЗ оптимизации. Есть подозрения, что и фильтры будут работать не всегда одинаково, но это и хотелось бы проверить.
Нужно начать с начала: создать советник, прогнать его на графике, начать анализировать график и сделки.
Можно пытать вот этот код: Two MA OHLC
Советник работает по двум iMA (Moving Average, MA). Если на баре #1:
- MA Fast выше MA Slow - это разрешение на открытие BUY позиции
- MA Fast ниже MA Slow - это разрешение на открытие SELL позиции
После получения разрешения существуют два фильтра:
- Общее количество позиций (BUY и SELL) не должно превышать заданного Maximum positions
- Для сигнала 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
Кажется ссылка битая.... не открывается
глубоко в теории любая ТС ~ композиция амплитудно-частотных фильтров. Они все недалеко уходят от Фурье :-)
берёшь ТС, определяешь идеальные для неё условия и разброс.
пока измеренные в реальности характеристики инструмента попадают в нужную область - ТС разршена. При отклонении запрещена
глубоко в теории любая ТС ~ композиция амплитудно-частотных фильтров. Они все недалеко уходят от Фурье :-)
берёшь ТС, определяешь идеальные для неё условия и разброс.
пока измеренные в реальности характеристики инструмента попадают в нужную область - ТС разршена. При отклонении запрещена
Нормальный подход, я уже делал нечто подобное и даже работало некоторое время. Засада в том, что трудно определить четкие и формализованные критерии той самой, нужной области.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Может быть баян, но все же. Предлагаю провести совместное исследование на тему. Как можно с помощью системы фильтров сделать прибыльной ЛЮБУЮ! торговую систему.
Преамбула.
Берем ЛЮБУЮ, саму простую ТС (например пересечение машек, с потолка взятыми периодами и прочим, стопы и тейки привязываем к ATR) и используем ее в качестве обычного генератора сигналов. Этакий пулемет "Максим", который строчит особо не разбирая куда.
Далее берем историю его сделок и пытаемся с помощью методов мат. статистики получить наиболее эффективные условия фильтров для того, чтобы отфильтровать максимальное количество убыточных сигналов и оставить максимальное количество прибыльных.
Каким образом будем определять, что и как фильтровать? Для этого возьмем основные параметры сделок:
Инструмент
Направление сделки
Цена открытия
Дата/Время открытия
Цена закрытия
Дата/Время закрытия
(особо хочу заметить, что объемы учитывать не будем, результаты только в пунктах)
Далее будем строить диаграммы распределения.
В качестве примера приведу следующую идею.
Строим распределение Цены открытия для всех сделок BUY-прибыльных относительно:
Круглых значений цены
Max/Min предыдущего дня
Max/Min предыдущей недели
Max/Min предыдущего месяца
Если увидим четкий горб, значит есть некая закономерность.
Всех кто любит копаться с цифрами прошу высказываться. Вариантов построения распределений много, их есть у меня целая куча, но есть проблема - не программист, поэтому обработать этот массив информации самостоятельно, быстро не получится. Посему готов к сотрудничеству с людьми увлеченными и понимающими тему.