alexv1975
alexv1975 личный блог
02 ноября 2011, 00:47

Алгоритм. Первые оптимизации

Идея алгоритма внутридневной торговли, которую пытаюсь реализовать, достаточно проста. Есть внутридневные уровни цены и поведение цены у значимых внутридневных уровней, подкрепленное дополнительными индикаторами иногда перевешивает чашу весов в трейдинге в Вашу сторону. А положительное мат.ожидание на большом количестве трейдов делает кривую счета восходящей.
На первом этапе тестирования столкнулся с двумя проблемами:
а) Определение значимых внутридневных уровней
б) Количество собранных стопов за день (размер стопа менял от 300 до 500п на большем стопе даже хуже).
 
Кажется, что вопросы разные, но при изучении где именно собирает стопы, оказалось, что прежде всего проблема попадания на несколько стопов за час – это проблема определения уровня. Алгоритм пробойно/отбойный, т.е. не состоялся пробой уровня и есть достаточная сила сигнала для отката – позиция открывается на отбой, состоялся прорыв, подтвержденный краткосрочными индикаторами, позиция открывается на поддержание пробоя. Есть еще фильтр ложных движений, который пытается учитывать внутридневную динамику цены и варьирует силу сигнала для лонга и шорта в зависимости от текущей ситуации.
 
Для определения уровней на текущий торговый день попробовал использовать уровни Камариллы. Сразу столкнулся с проблемой большого диапазона между 3-4-5 Камариллой, где цена по долгу может задерживаться, без касания этих уровней, а также запиливанием вокруг Камариллы 1-2.  Потом была попытка не мудрствовать, а просто взять круглые уровни 147000, 148000, 149000 и т.д. Но оказалось, что движение пробойное начинается или чуть ниже/выше уровня и часто сопровождается возвратным запиливанием вокруг этих уровней на 200-300п, что при коротком стопе опять делает алгоритм убыточным.
 
Да, можно сидеть у монитора и выставлять руками горизонтальные уровни, но, во-первых, это субъективно, во-вторых, алгоритм для того и пишется, чтобы он сам в автоматическом режиме фильтровал лишнее и оставлял ценное без вмешательства человеческой психологии.
 
В итоге сделал следующий код, если на уровне собрано 2 стопа, то данный уровень из внутридневного расчета убираю, а т.к. стопы у меня собирает по 300п (плюс запас цены в расчете при определении пробой/отбой), то вместо удаленного уровня появляются 2 новых с отклонением 500п от начального. Далее фильтрация, чтобы исключить уровни, расстояние между которыми менее 800-1000п. И можно надеяться, что теперь при запиливании в текущем узком диапазоне на 500-600п, расчет на пробой/отбой будет вестись у нужной нижней/верхней границы диапазона.
 
Если кто подскажет еще пути улучшения – буду рад. 
18 Комментариев
  • Александр М
    02 ноября 2011, 02:15
    как минимум — переходи с фиксированных отступов на ADR
    • Александр М
      02 ноября 2011, 02:26
      ATR, конечно же, опечатался.
  • avanes555
    02 ноября 2011, 03:53
    может код попроще позиция открывается в моменте если следующий момент убыточный то принудительное закрытие если прибыль то стоп в безубыток и подтягивать его типа трейлинг вопрос с тайм-аут а момент открытия позиции это случайное значение времени имх чем проще код чем меньше условий тем лучше главное чтоб скоростной был
  • avanes555
    02 ноября 2011, 03:59
    значимые уровни сыпятся как песок внутри дня мож на ртс так не знаю но это не ориентир лучше уж два кода вверх и вниз и самому подключать попеременно
  • ves2010
    02 ноября 2011, 10:26
    уровни камариллы — индикатор… а значит идея не гуд… я тестил камариллу… получил отличный результат в индексе, однако валюту и отдельные акции торгует плохо…
  • Турботрейдер
    02 ноября 2011, 11:19
    Подсказываю путь улучшения: начни с разработки хорошей (работающей) стратегии.
  • MSH
    02 ноября 2011, 12:06
    как вариант — разделить алгоритм на 2 независимых робота:
    1.пробойный — входим, если уровень прошит на n пунктов
    2.отбойный — входим, если произошёл отбой от уровня на n пунктов
    т.о. каждый алгоритм будет проще сам по себе и его будет легче заточить под одну конкретную задачу ;)
      • MSH
        02 ноября 2011, 12:33
        alexv1975, так у тебя ещё и хай лоу сюда было замешано? т.е. и уровни и хай\лоу? ну тогда конечно нужно разделить — иначе оптимизировать тяжело =)
  • MSH
    02 ноября 2011, 12:09
    Ах да, ещё можно попробовать фильтр по времени добавить — исключить обеденное время, чтобы не запиливало
    • MSH
      02 ноября 2011, 14:25
      alexv1975, и тебе + в профиль )

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн