Полное тестирование торговой системы — процесс долгий и нудный. Поэтому этот процесс стоит разбить на несколько шагов и выполнять их по очереди. Если на каком-то шаге система показала результаты, которые нас не удовлетворяют, нет смысла выполнять остальные.
Шаг 1 — формулировка торговой системы. Да, я повторяюсь, но этим я хочу подчеркнуть важность данного шага. В ТС должно входить 4 правила:
• когда открывать длинную позицию;
• когда закрывать длинную позицию;
• когда открывать короткую позицию;
• когда закрывать короткую позицию.
Правила могут быть простыми или сложными, но в любом случае они должны быть записаны. Это помогает строго их формулировать. Для примера рассмотрим очень простую торговую систему. Вот ее правила:
• Открываем длинную позицию, когда RSI пересекает уровень перепроданности снизу вверх.
• Закрываем длинную позицию, когда RSI пересекает уровень перекупленности сверху вниз или срабатывает стоп-лосс. Стоп-лосс ставим на 5 пунктов выше предыдущего локального максимума.
• Открываем короткую позицию, когда RSI пересекает уровень перекупленности сверху вниз.
• Закрываем короткую позицию, когда RSI пересекает уровень перепроданности снизу вверх или срабатывает стоп-лосс. Стоп-лосс ставим на 5 пунктов ниже предыдущего локального минимума.
Эта торговая система в итоге не приносит прибыли, но на ее примере легко рассмотреть основные этапы тестирования.
Шаг 2. Загружаем на экран свечки по выбранной валюте за предыдущий год (мы для примера тестируем внутридневную ТС, поэтому в большинстве случаев для начала года хватит). Затем рисуем те индикаторы, которые будем использовать в ТС, с выбранными значениями параметров. Подходящие (НЕ ОПТИМАЛЬНЫЕ!!!) значения можно взять из литературы или спросить на форуме. Возможно, в дальнейшем эти параметры придется изменить, но для начала можно использовать рекомендованные значения. Для нашей торговой системы выберем для RSI параметр 7, стандартные значения уровней перепроданности и перекупленности — 30 и 70, а тестировать систему будем на часовых свечках евро за 2004 год. На рисунке 1 показана часть часового графика евро в начале 2004 года и RSI с соответствующими параметрами. Конечно, на этом графике видно, когда график идет вниз или вверх, но при тестировании нам это не должно мешать.
Шаг 3. Начиная с левого края данных, находим свечки, для которых выполняются условия открытия позиции, определяем точку стоп-лосса и смотрим, была ли у нас возможность закрыть позицию без убытка до того, как сработал стоп-лосс.
Я считаю, что такая возможность была, если цена после открытия позиции прошла в нужном направлении 30 пунктов. Затем ищем следующую свечку, на которой можно открыть позицию, и так далее.
Мы начнем тестирование с 5 января 2004 года. Первые несколько дней в новом году лучше не торговать, так как возможны неожиданные резкие движения. На рисунке 2 приведены первые 5 сделок.
Стрелками на индикаторе указаны точки, в которых индикатор пересекает уровни поддержки и сопротивления. Стрелки на графике цены указывают свечки, по ценам открытия которых совершались операции покупки или продажи. Горизонтальные линии на ценовом графике показывают, где были установлены стоп-лоссы. Нетрудно увидеть, что только вторая сделка была безубыточной.
На рисунке 3 приведены сделки с 6-й по 10-ю. Обозначения на рисунке 3 такие же, как и на рисунке 2. Видно, что безубыточными оказались седьмая, восьмая и девятая сделки.
Шаг 4. После того как было открыто (и закрыто) 10 позиций, можно подвести первые итоги. Если из 10 позиций хотя бы 5 можно было закрыть без убытка, то стоит продолжить тестирование по тем же правилам до тех пор, пока не будет открыто (и закрыто) 25 позиций (если данных за год для этого окажется недостаточно, то надо взять данные за более долгий срок). Если безубыточных сделок меньше 5, то надо менять правила, то есть возвращаться на шаг 1. В большинстве случаев именно так и происходит. В нашем случае у нас 4 безубыточных сделки из 10. Следовательно, мы должны изменить правила и вернуться на шаг 1. В нашем случае можно изменить параметр RSI, или изменить значения уровней перекупленности и перепроданности. Также можно было бы добавить в правила открытия позиции учет тренда. Например, правило для открытия «длинной» позиции можно записать в следующем виде: