Постройте простую алгоритмическую логику

·

Постройте простую алгоритмическую логику

Превратите правила в логику

Перевод идеи в логику состоит в основном в упражнении по удалению слов, которые нельзя проверить.

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

Условия «если-то»

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

Правила входа и выхода

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

  1. Режим. Прочитайте старший график и зафиксируйте одно слово: трендовый, флэтовый или неопределённый. Неопределённый не допускает ничего.
  2. Направление. Если тренд есть, зафиксируйте «вверх» или «вниз». На сессию допустимы только сетапы в эту сторону.
  3. Расположение. Отметьте две-три зоны до начала сессии. Сетапов вне зоны не существует.
  4. Триггер. Одно ценовое событие, определённое численно. Закрытие за пределами уровня или закрытие обратно внутрь, с заданной долей свечи.
  5. Подтверждение. Одна независимая проверка, сформулированная как вопрос «да или нет». Моментум на нужной стороне от своей средней линии, или продолжение следующей свечой.
  6. Ставка. Фиксированная доля баланса, неизменная внутри сессии.
  7. Экспирация. Одна длина, выбранная заранее и постоянная на сессию.
  8. Стоп. Число сделок, лимит убытка и время. Сессия заканчивается по первому из достигнутых пределов.

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

Письменный чек-лист

Держите всё на одной странице и читайте её перед каждой сессией. Чтение не является ритуалом: правило, которое вы не перечитывали две недели, уже начало дрейфовать, и вы этого не заметите, потому что дрейф происходит в сторону увеличения числа сделок. Трейдеры, которые держат чек-лист на виду на рабочем столе, отмечают одно и то же: правила, которые они нарушают, — это те правила, которые они сейчас не видят.

Ещё одно свойство стоит заложить с самого начала. Каждое правило должно записываться в журнал одной пометкой, чтобы позже можно было отличить выполненное правило от приближённого. Чек-лист, который нельзя оценить, создаёт ту же проблему, что и неписаный: она просто проявляется месяцем позже.

Правило становится логикой, когда два читателя согласятся, выполнено оно или нет. Всё остальное является намерением.

Держите систему простой

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

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

Немного чётких условий

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

Избегание переобучения

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

Свойство системыНормаТревожный признак
Число условийЧетыре-пятьРастёт после каждой убыточной недели
Частота сетаповНесколько за сессиюДостаточно редко, чтобы ждать днями
Причина каждого условияОбъясняет что-то о рынкеИсключает конкретный запомнившийся убыток
Точность параметровКруглые, немудрёные значенияСтранно точные числа, полученные подгонкой
СтабильностьБез изменений месяц подрядПравится посреди недели

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

Воспроизводимые шаги

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

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

Четыре-пять условий, каждое обосновано до того, как вы увидели результаты, без изменений месяц подряд.

Бэктестируйте честно

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

Нечестность здесь структурная, а не моральная: вы знаете, что случилось дальше, и это знание просачивается в каждое решение, которое вы принимаете во время теста, если только процесс это не предотвращает.

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

Достаточный размер выборки

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

Проверки вне выборки

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

Второе искажение, от которого стоит защищаться, — это выбор периода. Тестирование на последних трёх месяцах удобно и рассказывает о трёх месяцах одного рыночного состояния. Если выбранный период содержал сильный тренд, трендовая система будет выглядеть отлично, а флэтовая будет выглядеть сломанной, и ни один из результатов почти ничего не говорит. Где возможно, тестируйте на отрезке, который явно содержит более одного состояния, и отмечайте, какие части его дали какие исходы.

Реалистичные допущения

  • Тестируйте свеча за свечой, слева направо. Никогда с видимым более поздним графиком.
  • Считайте сетапы, которые вы бы пропустили. Сон, работа, отход от экрана.
  • Включайте арифметику выплат. Число попаданий без неё ничего не значит.
  • Записывайте неоднозначные случаи как взятые. В реальном времени вы бы их взяли.

Последний пункт важнее, чем кажется. Историческое тестирование сильно склонно разрешать каждый пограничный случай в пользу системы, потому что вы видите, чем он закончился. Решение заранее считать неоднозначность сделкой убирает большую часть этого искажения и обычно убирает вместе с ним изрядную долю кажущейся результативности, что и является правильным итогом.

Разработайте на одном периоде, заморозьте правила, прогоните их нетронутыми на другом. Именно этот шаг отделяет систему от воспоминания.

Знайте пределы системы

Система — это способ вести себя последовательно, а не утверждение о будущем, и путаница между этими двумя вещами является тем местом, где систематические трейдеры попадают в беду.

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

Рынки меняются

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

Нет вечного преимущества

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

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

Дисциплина следовать ей

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

  • Пересматривайте по графику. Фиксированный день, независимо от того, ощущается ли что-то неправильным.
  • Меняйте по одной вещи за раз. Два изменения делают результат нечитаемым.
  • Датируйте каждое изменение. Чтобы запись чисто делилась на «до» и «после».
  • Отслеживайте полные и частичные входы. Скорость дрейфа является мерой здоровья.

Системы устаревают, а трейдеры дрейфуют. Датированный график пересмотра и пометка «полный/частичный» ловят и то, и другое.

Выводы по алго-логике

Записать систему — это и есть всё упражнение. Всё, что после, является обслуживанием.

Структура лучше догадок

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

Простота живёт дольше

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

  • У каждого правила есть проверка. Выполнено или нет: это видно за секунду.
  • Четыре-пять условий. Достаточно для отсева, достаточно мало для срабатывания.
  • Замороженные правила, свежие данные. Честный тест.
  • Плановый пересмотр, одно изменение за раз. Обслуживание, а не реакция.

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

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

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

Запишите, заморозьте, протестируйте на данных, которые не использовали, пересматривайте по графику. Это вся дисциплина целиком.

О чём спрашивают по этому сетапу

Нужно ли уметь программировать, чтобы построить торговую систему?

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

Сколько правил должно быть в простой системе?

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

Что такое тестирование вне выборки и почему это важно?

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

Как избежать переобучения правил?

Требуйте, чтобы каждое условие можно было обосновать с точки зрения того, что оно говорит о рынке, прежде чем смотреть, что оно делает с вашими результатами. Условия, добавленные, чтобы исключить конкретный запомнившийся убыток, представляют собой заучивание наизусть. Круглые, немудрёные значения параметров и стабильное число условий являются хорошими признаками; странно точные числа, полученные подгонкой, — это противоположность.

Как долго нужно вести систему, прежде чем её менять?

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