Автоматизированные торговые стратегии, которые работают
<цитата>

«Все нужно делать как можно проще, но не проще» — Альберт Эйнштейн

Работа Эйнштейна состояла в том, чтобы думать о научных теориях, объясняющих то, что мы видим в природе, вполне вероятно, что он перефразировал бритву Оккама. Другими словами, лучшая теория — это самая простая теория, которая все же объясняет наблюдения.

Кстати, это была настоящая цитата Эйнштейна…

<цитата>

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

Кажется, кто-то некоторое время спустя перефразировал утверждение Эйнштейна так, что его было слишком просто понять!

Автоматизированные стратегии также должны быть максимально простыми. Вы должны быть в состоянии объяснить гипотезу, лежащую в основе стратегии, простыми и понятными терминами, чтобы ваша бабушка могла понять. Не для того, чтобы сбить бабушкину, потому что моя была блестящей… но вы поняли, о чем я.

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

Все образцы кода написаны на EasyLanguage компанией TradeStation, однако он настолько прост, что кажется псевдоязыком.

Этот первый пример основан на наблюдениях:когда после множества маленьких баров появляется действительно большой бар, под барами я подразумеваю свечи на биржевом графике, то это обычно предшествует большому движению. И если этот бар движется вверх, то большее движение, или импульс, вероятно, также идет вверх, так что покупайте его. И наоборот… если эта полоса большого движения идет вниз, продайте ее.

rrange=high[daysback]-low[daysback]; BigRange =диапазон> (NumDevs*stddev(диапазон, длина) + среднее значение(диапазон, длина)); { принимает значение true/false }, если BigRange и open[daysback]  close[daysback], то продавайте на рынке без покрытия;

У этой стратегии всего два параметра (дни назад, продолжительность). Надеюсь, это было достаточно просто для понимания… и это вся стратегия. Теперь мы могли бы проявить фантазию и наладить управление капиталом, установить стопы и цели и т. д. Но стратегия в чистом виде должна работать и давать положительные результаты на разных рынках и таймфреймах.

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

BreakOut =закрыть> CloseD(1) и закрыть> открыть; { CloseD - специальное ключевое слово, означающее вчерашнее закрытие. } Если пробой, то покупка этого бара при закрытии;SetExitOnClose; {ключевое слово, закрывающее позицию в конце дневной сессии }

Обратите внимание на краткость кода и простоту его концепции. Кстати, эта стратегия — одна из моих лучших. Он работает на разных рынках и в разные периоды времени.

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

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

Итак, это делает меня генеральным владельцем, менеджером и тренером моей торговой команды.


Торговля фьючерсами
  1. Фьючерсы и сырьевые товары
  2. Торговля фьючерсами
  3. Вариант