d9e5a92d

Говард Арингтон - Алгоритм торговли

В одной из своих прошлых статей я показывал, как может быть разработана торговая система, используя инструмент "Свой собственный дизайн" (DYO) и предупреждающие сигналы в программном пакете "Ensign Windows", чтобы сформировать алгоритм торговой системы и исполнять сделки (см. в прошлых выпусках журнала). В данной статье мы посмотрим, как это может быть улучшено посредством:

1. управления ценой входа в сделки;

2. управления размером позиции, с добавлением правил для пирамидального наращивания позиции.

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

Управление ценой входа

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

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

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

Говард Арингтон - Алгоритм торговли


5-минутный график EURUSD. Получение сигнала и выбор лучшей цены исполнения.

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

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

Параметры

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

Говард Арингтон - Алгоритм торговли


Инструмент DYO.

Это первый DYO в измененной торговой системе. Он обобщает дизайн, используя параметры, которые могут быть приспособлены для тестирования. В прошлый раз, один из измененных параметров был выход по прибыли в 15 тиков на валютной паре EUR/USD.

Линия A представляет собой способ обобщить этот параметр посредством первого значения величины тика и умножением этого значения на 15, с сохранением этой цели в Глобальной переменной (GV). Позже, когда цель по прибыли проверена, содержимое Глобальной переменной (17) может использоваться вместо того, чтобы иметь твердую цель по прибыли в пунктах, которая является уникальной для данного торгового инструмента. Цель по прибыли данной линии A составляет 15 тиков независимо от рыночного символа. Например, 15 тиков для контрактов ES e-mini равно 15*0.25 = 3.75 пунктов.

Линия B задает общий параметр того, на какое количество пунктов система пытается улучшить цену по сравнению с последней ценой сигнального бара. В нашем примере система предполагает 1 дополнительный пункт для входа. Для длинной позиции цена входа будет на 1 пункт меньше последней цены сигнального бара, а для короткой, цена входа будет на 1 пункт больше. Таким образом, цель заключается в получении цены входа на 1 пункт лучше, чем цена закрытия сигнального бара. Если ввести параметр 2 тика, то мы установим цель получить цену входа на 2 пункта лучше.

Линия C задает вершину и основание волнового отсчета, чтобы управлять выходом из позиции. В нашем случае был задан параметр 3 и сохранен в Глобальной переменной (19), таким образом, нам не надо искать волновой отсчет позже и редактировать его, чтобы протестировать различные параметры для отсчета.

Линии D, E и F задают период времени, когда торговля разрешена.

Линии Г, H, I и J управляют частными Глобальными переменными. Цена для покупки будет находиться в Глобальной переменной (242), а цена для продажи будет находиться в Глобальной переменной (243). Число лотов, которым торговать (в нашем случае - 2) также сохранено в Глобальной переменной (201). Эти переменные будут стерты или инициализированы во время вечерней сессии, вне торговых часов, когда сигналы могут быть взяты. Часы, когда разрешена торговля, заданы в линиях D и E.

Сигнал покупки

Вот представлен DYO для сигнала покупки:

Говард Арингтон - Алгоритм торговли


Параметры DYO для сигнала покупки.

Линия A проверяет, когда Стохастик находится ниже 50, и когда это условие выполняется, линия B установит цену в Глобальной переменной (242) обратно на уровне нуля.

Данный DY O содержит условие для положения Стохастика ниже 30. Линия C будет показывать состояние "верно", когда Стохастик %К находится ниже 30. Это условие затем будет запомнено в Глобальной переменной (250) посредством установления значения 1 в линии D.

Сигнальный бар - тот, на котором Стохастик пересекает вверх уровень 60 (в нашем примере.) Для графика EUR/ USD повышение выше 60 приносит лучшие результаты, чем пересечение вверх уровня 50. Идея та же самая. Линия E будет фиксировать состояние "верно", когда Стохастик %К пересекает уровень 60 вверх. Это условие сохраняется в Глобальной переменной (6). Линия F перемещает флажок из Глобальной переменной (250) в Глобальную переменную (7) для тестирования.

Линия G проверяет соблюдение всех условий. Когда все три условия являются выполненными, мы имеем сигнал покупки. Этот сигнальный бар отмечен вертикальной бледно-зеленой полосой на линии G. Линия H отменяет флажок условия "ниже 30", зафиксированный в Глобальной переменной (250), в случае состояния "ложно".

Цена покупки

Эти параметры DYO позволяют отслеживать цену покупки, и когда эта цена получена, исполнить вход в длинную сделку. Сигнал покупки из предыдущего DYO был сохранен в Глобальной переменной (1), таким образом, это

Говард Арингтон - Алгоритм торговли


Параметры DYO для определения цены покупки.

может быть проверено в данном DYO на линии A. Если текущий бар не является сигнальным баром, происходит переход на линию E и проверяется, выполняет ли минимум этого бара условие ожидаемой цены покупки.

Давайте предположим, что мы имеем сигнальный бар (бледно-зеленая полоса), и таким образом исполнение продолжается на линии B. Линия B будет читать цену закрытия этого сигнального бара и вычитать из него установленную фиксированную величину для получения целевой цены. Эта новая лучшая цена покупки затем сохраняется в Глобальной переменной (242) и отмечается на графике розовой линией.

На первый взгляд выглядит так, что линии C и D могли бы быть объединены, потому что их конечные результаты

должны отменить этот DYO. Линия C сначала очищает сигнальный флажок в Глобальной переменной (1), устанавливая команду "нет действия" на флажке. Это делается, потому что Глобальная переменная (1) будет использоваться следующим DYO. Линия C очищает этот флажок, таким образом, мы не покупаем на сигнальном баре. Сигнальный бар только устанавливает отложенную покупку и все еще требуется, чтобы минимум последующего бара захватил цену исполнения покупки. Линия D затем прерывает исполнение в этом DYO, потому что это сигнальный бар.

Линия E проверяет не-сигнальный бар, чтобы видеть, находится ли его минимум на или ниже уровня цены покупки. Эта цена покупки перемещается линией F в Глобальную переменную (200) для использования в последующих исследованиях сигнала.

Линия G проверяет флажок покупки в Глобальной переменной (1), что минимум был на или ниже цены входа. Это является сигналом исполнить покупку по нашей цене в Глобальной переменной (242) и (200).

Линия H проверяет, имеем ли мы цену покупки. Если мы не имеем ожидаемой покупки, то значение будет "ноль", как, например, в случае с инициализацией, сделанной до того, как открывается рынок. Вы можете проверить демонстрационную ячейку на линии H, чтобы добавить бледнозеленые полосы, если вы хотите получить длительное напоминание о рассмотрении покупки. Например, мне достаточно иметь цену покупки, отраженную горизонтальной

Говард Арингтон - Алгоритм торговли


Параметры DYO для исполнения покупки.

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

Исполнение покупки

Выше представлено окно DYO с установками для совершения непосредственно покупки. В нем происходит просмотр флажка в Глобальной переменной (1), которая проверяет, был ли минимум меньше или равен цене покупки. Давайте, еще раз взглянем на наш пример, когда мы разобрали всю логику выполнения сделки на покупку.

Говард Арингтон - Алгоритм торговли


5-минутный график EURUSD. Исполнение торговли.

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

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

Сигналы продажи

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

Также в период с 10:00 по 10:30 вы видите средне-красную полосу, которая отмечает один из сигналов для выхода на цели по прибыли. Темно-красная полоса в 10:00 указала на продажу 2 лотов, а средне-красная полоса 3 бара спустя, закрывает 1 лот на цели по прибыли. Для выхода на цели по прибыли все еще используется закрытие бара. Этот выход на цели по прибыли основывается на закрытии бара, которое может быть больше 15 пунктов, установленных в качестве минимума для цели по прибыли. Выход на средне-красной полосе был осуществлен на закрытии этого большого нисходящего бара.

В примере вы также видите оранжевую полосу в 11:20, которая отмечает "аврийный выход" для 2-го лота из нашей короткой позиции, открытой в 10:00. Этот выход из короткой позиции основывается на повышении Стохастика выше уровня 70.

Результаты тестирования

Если щелкнуть в меню на опцию "Детали торговли", то мы увидим список сделок, выполненных нашей Стохасти

Говард Арингтон - Алгоритм торговли


ческой системой. Давайте для начала вспомним результаты тестирования системы без применения модификации для получения лучшей цены (подробнее см. "Стохастическая система" в прошлых выпусках журнала).

Данная форма показывает результаты использования системы, которая выполняет все сделки по цене закрытия сигнального бара. Ключевыми данными для нас здесь являются: общая прибыль - 11.000$ и общее количество сделок - 264.

Теперь, давайте посмотрим результаты тестирования уже текущей модифицированной системы, которая старается получить лучшую цену исполнения на 1 пункт:

Говард Арингтон - Алгоритм торговли


Обратите внимание, что прибыль возросла на 1.800$ -общая прибыль составила 12.800$ против 11.000$. При этом, количество сделок снизилось до 243 (вместо 264), что отражает, возможно, пропуск некоторых плохих сделок. Это, кстати, подтверждает и количество проигрышных сделок, которое уменьшилось со 115 до 97.

Говард Арингтон - Алгоритм торговли


Параметры DYO для нового тестирования.

Средняя прибыль в прошлый раз составляла 41$, а теперь она равна 52$. Это и есть результат дополнительной прибыли в 1 пункт на каждой сделке. При этом, система позволяет самостоятельно задавать это число пунктом. Поэтому, для следующего тестирования я установил цену исполнения на 2 пункта лучше цены закрытия сигнального бара.

Значение в линии B было изменено с 1 на 2. Теперь система будет добиваться улучшения цены на два пункта -снижение на 2 пункта для покупки и повышение на 2 пункта для продажи.

Говард Арингтон - Алгоритм торговли


Как вы видите, число сделок снизилось с 243 до 217, так как еще больше сигналов было пропущено. Эти пропущенные сделки сократили прибыль больше, чем удалось увеличить за счет дополнительных пунктов. Так что, благодаря тестированию, мы можем оптимизировать устанавливаемые параметры. Лично я предпочитаю вернуться к значению этого параметра равному 1.

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

Пирамидное наращивание позиции

Теперь давайте перейдем ко 2-му усовершенствованию торговой системы, управляя размером позиции через пирамидное наращивание. Я оставил условие улучшения цены входа на 1 пункт.

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

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

Если мы имеем выигрышную сделку и предполагаем, что это было в T-волне, то мы должны уменьшить наш риск для ожидаемой следом R-волны. Однако, это может быть волновая модель T-T при развороте в форме V-вершины или V-основания. Рынок может начать совершенно новый тренд, что будет происходить после 5-ой волны, начиная новую 1-ю волну для T-T пары. Поэтому, мы не хотим быть вне рынка. Мы только хотим лучше управлять риском, так как R-волна следует за T-волной чаще, чем T-волна следует за T-волной.

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

В пирамидной модели, я начну с 2 лотов, и вернусь к торговле 2 лотами после выигрышной сделки. Однако, после проигрышной сделки, исходя из моей гипотезы, что вероятность выигрышной сделки возрастает, потому что T-волна следует за R-волной чаще, нежели R-волна следует за R-волной. Соответственно, мы должны увеличить объем торговли. Поэтому, 2-ое правило будет следующим: после

проигрышной сделки размер позиции увеличивается до 3 лотов. Если мы вновь понесем потери, то размер позиции увеличивается еще на 1 лот (до 4 лотов).

Размер покупки

Вот как выглядит окно DYO для применения правил пирамидного наращивания:

Говард Арингтон - Алгоритм торговли


Параметры DYO для наращивания позиций.

Линия A отслеживает, какова прибыль по текущей сделке в пунктах. Все, что меня здесь интересует - это, является ли данная сделка выигрышной или проигрышной, так что в линии B пункты сравниваются с нолем. Эта прибыль или потеря сохраняется в Глобальной переменной (2).

Помните, Глобальная переменная (1) содержит флажок, чтобы выполнить сделку, если цена ниже или равна цене покупки. Когда текущая сделка показывает потерю, и система готова исполнить сигнал покупки, линия D увеличивает размер сделки, сохраненный в Глобальной переменной (201).

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

Линии E, F и G выполняют повторный набор, когда текущая сделка является выгодной и есть сигнал покупки в Глобальной переменной (1).

Таким образом, линии A, B и C увеличат размер позиции, когда текущая сделка является проигрышной, а линии

E, F, и G повторно установят его значение на 2 лота, когда сделка выигрышная.

Линии H и I позволяют визуально отобразить размер позиции на графике на полосе исполнения сделки.

Говард Арингтон - Алгоритм торговли


5-минутный график EURUSD. Отражение размера позиции.

На приведенном выше графике вы видите пример пирамидной системы в действии. Первая сделка была покупкой 2 лотами в 7:40. Затем в 8:20 есть сигнал продажи и исполнение. Сделка на покупку была проигрышной, так что для короткой позиции использовался размер сделки в 3 лота вместо 2 лотов.

Есть сигнал покупки в 9:30, и под бледно-зеленой полосой проглядывается оранжевая полоса, означающая выход из короткой позиции, потому что значение Стохастика более 70. Наша система нашла, что позиция была проигрышной и увеличила размер сделки на 2 лота, так что текущая длинная сделка была выполнена 5 лотами.

В 10:00 был сигнал в короткую сторону, и последняя сделка опять была проигрышной, так что мы торговали 6 лотами. С одной стороны, мы можем испытать некий дискомфорт, имея 3 проигрышных сделки подряд, хотя все они принесли небольшие потери. Однако, мы теперь имеем хороший объем для единственного тренда в день.

На каждой из средне-красных полос, цель по прибыли была выполнена и система закрывала по 1 лоту на 5 различ-

ных барах по ценам закрытия. После 10:35 система все еще имела 1 лот по короткой позиции, из которой вышли на оранжевой полосе (Стохастик был более 70), но все еще с хорошей прибылью. Соответственно, следующая длинная сделка была выполнена 2 лотами и т.д.

Результаты наращивания

Теперь давайте взглянем на результаты торговли с использованием пирамидного наращивания позиций.

Говард Арингтон - Алгоритм торговли


Общая прибыль подскочила с 12.800$, как показано в начале статьи, до 23.062$. Это представляет собой превосходный результат. Выглядит так, что количество сделок увеличилось с 243 до 265, однако в действительности это не так. Такое увеличение является результатом изменения размеров сделок. Дело в том, что при закрытии сделки по частям, как было показано выше, каждое такое закрытие учитывается отдельной строкой в истории сделок.

Например, строка 7 показывает потерю в 75$. Строки 8, 9 и 10 отражают сделку в 3 лота, которая была заключена в 14:15, но каждый лот закрывался по отдельности в 14:20, 14:25 и 16:00, соответственно, что отмечено в примечании.

выше уровня 70 для короткой позиции или опускается ниже уровня 30 для длинной. В нашем примере, это правило сработало для длинной позиции (отмечено оранжевой полосой на графике) через 4 бара после снижения.

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

Причина для введения опции "только цена закрытия" связана с тем, что система не может исполнить сигналы внутри бара. Мы можем видеть сигнал Стохастика только после закрытия бара. Стохастик может уходить выше уровня 70 внутри бара и затем тут же вернуться обратно ниже 70 к закрытию. Думаю, вы не захотели бы, чтобы такое беглое движение выше уровня 70 повлияло на ваши торговые результаты.

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

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

Страховочный выход

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





Содержание раздела