Реверсирование: формализуем точку входа и пишем алгоритм ручной торговли
Введение
Вот уже на протяжении двух статей (Реверсирование - священный Грааль или опасное заблуждение? и Реверсирование: снижаем максимальную просадку и тестируем другие рынки) мы изучаем такую торговую стратегию, как реверсирование. Мы рассмотрели вопросы применения данной торговой стратегии на разных рынках, нашли наиболее подходящие рынки, формализовали основные правила правильного реверсирования. Казалось бы, тема закрыта, о чем еще писать? Но есть одна проблема, о которой мы говорили ранее, но к решению которой мы так и не подошли.
Эта проблема — точка входа, которая в нашей торговой стратегии не привязана ни к чему. А значит, войти в сделку можно в любой момент. И результат при этом может оказаться непредсказуемым. Кто-то получит тейк профит, а кто-то, войдя на 5 минут позже, может получить стоп лосс по всей цепочке сделок.
По данной причине и все тесты, которые мы проводили в предыдущих статьях, можно назвать достоверными только в тех случаях, если бы вы начали входить в сделки ровно в тот день, час и минуту в истории, когда это начал делать тестер стратегий. И нельзя гарантировать, что вы получили бы точно такой же прирост прибыли, если бы начали входить в сделки на минуту раньше или позже.
В общем, нам нужны правила, которые позволят определить, "когда нужно входить в сделку" и "в каком направлении входить". И желательно, чтобы эти правила сильно не ухудшали график нашей прибыли. Так попробуем найти такие правила.
Тестируемые инструменты
Тестирование мы будем проводить на инструментах, которые лучше всего показали себя в предыдущей статье. И при этом на тех, у которых есть достаточный объем истории, чтобы полученные результаты не казались случайными.
Как и в предыдущей статье, работать мы будем с несколькими брокерами. При этом для тестирования будут взяты инструменты с разных рынков. Правда, среди этих рынков не будет рынка Forex. Просто потому, что там добиться лучших или сравнительно одинаковых результатов при помощи стандартных индикаторов так и не удалось. Как и было определено в первой статье, ни один из тестируемых индикаторов на рынке Forex не смог сравниться с обычным входом в любое время.
Итак, в данной статье мы будем работать со следующими инструментами.
Брокер 1, фондовый рынок: TripAdvisor, Sberbank, Nintendo_US, Tencent, Michael_Kors, Starbucks, Gazprom, Petrobras, Snap, SQM.
Брокер 2, фондовый рынок: ORCL.m, INTC.m, FOXA.m, SBUX.m, NKE.m, HPE.m, MSFT.m, KO.m, ATVI.m.
Брокер 1, индексы: YM.
Брокер 2, сырье: BRENT.
Изменения в советнике RevertEA
По сравнению с предыдущей статьей, в советник RevertEA внесены следующие изменения:
- добавлена кнопка Закрыть, позволяющая закрыть текущую открытую позицию;
- добавлен вывод текущей прибыли по позиции на график (рядом с кнопкой Закрыть);
- добавлен режим установки стоп лосса как процент от текущей цены;
- в настройки добавлены параметры Использовать постоянный трейлинг после N пунктов прибыли и Постоянный трейлинг в пунктах;
- добавлена возможность использования режима исполнения сделок ORDER_FILLING_IOC.
Изменения в советнике RevertManualEA
В советник RevertManualEA внесены следующие изменения:
- добавлена кнопка Закрыть все, позволяющая закрыть сразу все позиции, контролируемые данным советником;
- рядом с кнопкой Закрыть все показывается общая прибыль по всем позициям, которые контролирует советник;
- на график выводятся кнопки всех позиций, которые контролирует советник;
- добавлена возможность использования режима исполнения сделок ORDER_FILLING_IOC.
Кнопки контролируемых советником позиций. При клике на кнопку символа открывается график соответствующего инструмента. Кроме того, данные кнопки носят также информационный характер. На них выводится название символа, текущий шаг, а также текущая прибыль по позиции. Если же кнопка поменяла цвет, значит данная позиция полностью закрылась (или тейком, или закончились все шаги цепочки).
Также обратите внимание на новый параметр настроек Показывать сумму последних убытков при клике на кнопку символа. По умолчанию он установлен в true. Это значит, что в комментарии к графику, который откроется при клике по кнопке контролируемого советником инструмента, будет выводиться сумма последних убытков. Это необходимо, чтобы было сразу видно, какую минимальную сумму прибыли нужно получить по позиции, чтобы покрыть все убытки в цепочке.
Формализуем точку входа
Итак, чтобы результаты торговой системы не зависели от времени, когда мы вошли, нам нужно придумать такие правила, которые бы позволяли входить только при определенном стечении обстоятельств, а не всякий раз, когда по инструменту нет открытых позиций.
На мой взгляд, лучше всего для определения такой точки входа подходит скользящая средняя.
Во-первых, она позволяет определить глобальный тренд, а значит направление входа: если скользящая средняя растет, значит вход в Long, иначе в Short.
Ну а во-вторых, дополнительное правило позволяет ограничить сам вход. Например, только после того, как предыдущий бар пересек линию скользящей средней вверх или вниз.
Приведенные правила и будут нашими условиями для входа. Возможности для их использования давно уже реализованы в советнике RevertEA. И единственное, что нам нужно сделать, чтобы перестроить его под работу со скользящей средней, это изменить следующие параметры:
- Открывать короткие позиции — установить в true, иначе советник будет открывать только позиции в Long, игнорируя сигналы в Short;
- Период — установить нужный период в данной настройке в блоке Индикатор MA #1;
- все остальные настройки в блоке Индикатор MA #1 изменяются по собственному вкусу.
Впрочем, как обычно, к статье прикреплен архив с SET-файлами, содержащими найденные настройки для определенных инструментов.
В данной статье мы будем использовать простую скользящую среднюю. Если вы предпочитаете какую-либо другую, то в блоке Индикатор MA #1 настроек советника можно выбрать нужную.
Фондовый рынок. В прошлой статье мы выяснили, что наиболее подходящим для реверсирования является фондовый рынок. Давайте с него и начнем.
Сначала сравним результаты по инструментам брокера №1. Напомню, что у данного брокера для каждого инструмента свой своп (какой именно, смотрите в таблице из предыдущей статьи), но в любом случае эти свопы для позиций в Long минимум в 2 раза больше, чем у брокера №2. Но есть и преимущества — для позиций в Short своп положительный, то есть, своп платится вам за то, что вы держите позицию в Short.
Результаты тестов для всех рынков будут объединены в таблицы. Каждая строка таблицы содержит информацию сначала по результатам тестов без применения каких-либо индикаторов. То есть, когда позиция открывается сразу, как только тейк-профитом или стоп лоссом закрылась предыдущая цепочка сделок. Далее, с новой строки, в строке таблицы, отображается результат тестирования по тому же символу на тех же значениях SL и TP, но с применением индикатора Простая скользящая средняя.
Поскольку советник RevertEA позволяет торговать и без реверсирования, давайте также проверим, какая будет прибыльность при торговле при помощи скользящей средней, так сказать, классическим способом. Лучшие результаты данных тестов будут приведены в третьей строчке каждой строки таблицы.
Результаты тестирования торговой стратегии с реверсированием без индикаторов отличаются от результатов предыдущей статьи. Ведь уже прошло больше месяца. Так что заодно мы также посмотрим, что изменилось в результатах тестирования за прошедшее время.
Перед тем, как перейти к результатам тестирования, давайте вспомним назначение некоторых колонок таблицы:
- % в год — данный показатель высчитывается по следующей формуле: ((прибыль/макс. просадка)*100)/кол-во лет, за которые есть историческое данные по инструменту, является числом приблизительным, и приведен для сравнительного анализа;
- макс. проигрышей — показывает максимальное количество последовательных проигрышей, то есть, насколько глубоко в цепочку мы погрузились, пока не достигли тейка;
- трейдов (год/всего) — среднее количество позиций, которые будут открываться по инструменту за год (общее количество трейдов разделить на количество лет, за которые есть данные).
Брокер №1, фондовый рынок:
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей | SL | TP |
---|---|---|---|---|---|---|---|---|
TripAdvisor, revert TripAdvisor, revert + MA TripAdvisor, no revert | 98 / 246 46 / 116 65 / 164 | 1.36 1.6 1.69 | 98 53 6 | 231 156 49 | 94 % 117 % 326% | 6 4 9 | 155 155 60 | 195 195 155 |
Sberbank, revert Sberbank, revert + MA Sberbank, no revert | 150 / 225 118 / 178 231 / 347 | 1.34 1.31 0.79 | 45 17 43 | 86 49 -37 | 127 % 192 % - | 5 5 9 | 420 420 155 | 510 510 360 |
Nintendo_US, revert Nintendo_US, revert + MA Nintendo_US, no revert | 169 / 339 32 / 64 25 / 51 | 1.49 1.72 1.12 | 18 16 7 | 104 59 4 | 288 % 184 % 28 % | 6 4 5 | 55 55 35 | 80 80 55 |
Tencent, revert Tencent, revert + MA Tencent, no revert | 74 / 223 26 / 80 18 / 54 | 2.54 2.48 1.47 | 43 69 6 | 527 381 20 | 408 % 184 % 111 % | 5 5 3 | 450 450 530 | 1500 1500 880 |
Michael_Kors, revert Michael_Kors, revert + MA Michael_Kors, no revert | 36 / 109 23 / 70 15 / 46 | 1.51 1.57 1 | 134 71 15 | 240 140 0 | 59 % 65 % - | 5 4 4 | 190 190 200 | 330 330 400 |
Starbucks, revert Starbucks, revert + MA Starbucks, no revert | 15 / 231 11 / 171 20 / 300 | 1.69 1.64 1.07 | 38 36 13 | 251 174 11 | 45 % 33 % 5 % | 4 4 6 | 160 160 95 | 195 195 105 |
Gazprom, revert Gazprom, revert + MA Gazprom, no revert | 265 / 398 101 / 152 36 / 54 | 1.33 1.42 1.03 | 59 18 20 | 142 55 2 | 160 % 203 % 6 % | 6 4 5 | 150 150 240 | 180 180 480 |
Petrobras, revert Petrobras, revert + MA Petrobras, no revert | 23 / 337 15 / 219 11 / 162 | 1.61 1.64 1.16 | 86 160 28 | 623 388 39 | 49 % 16 % 9 % | 5 5 7 | 240 240 240 | 300 300 410 |
Snap, revert Snap, revert + MA Snap, no revert | 62 / 93 24 / 36 24 / 37 | 1.97 3.47 1.49 | 44 12 7 | 227 95 12 | 343 % 527 % 114 % | 4 2 6 | 75 75 45 | 135 135 120 |
SQM, revert SQM, revert + MA SQM, no revert | 64 / 162 29 / 74 22 / 57 | 1.81 1.89 1.02 | 55 68 12 | 288 142 1 | 209 % 83 % 3 % | 5 5 5 | 125 125 150 | 240 240 185 |
Давайте пока не будем делать выводы, а просто посмотрим на соответствующие графики. Выводы сделаем в конце данного раздела, сразу по всем рынкам.
Что касается графиков, то на них используются следующие сокращения:
- PLAIN — график торговой стратегии без индикаторов (вход в Long сразу, как только по символу нет позиции);
- MA — вход на основе сигналов скользящей средней;
- NOREVERT — вход на основе сигналов скользящей средней без использования реверсирования.
TripAdvisor:
Sberbank:
Nintendo_US:
Tencent:
Michael_Kors:
Starbucks:
Gazprom:
Petrobras:
Snap:
SQM:
Теперь давайте посмотрим на результаты для брокера №2. У данного брокера своп отрицательный независимо от направления позиции. Еще одно отличие данного брокера от брокера №1 — он не выплачивает дивиденды с ваших позиций в Long. Впрочем, плюсом является то, что он и не снимает дивиденды с позиций в Short.
Брокер №2, фондовый рынок:
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей | SL | TP |
---|---|---|---|---|---|---|---|---|
ORCL.m, revert ORCL.m, revert + MA ORCL.m, no revert | 44 / 246 26 / 147 13 / 76 | 1.07 1.64 1.51 | 275 65 9 | 46 281 24 | 3 % 78 % 48 % | 8 6 7 | 90 90 100 | 150 150 235 |
INTC.m, revert INTC.m, revert + MA INTC.m, no revert | 33 / 182 19 / 109 29 / 162 | 1.92 1.94 1.31 | 23 24 6 | 219 116 22 | 173 % 87 % 66 % | 4 4 7 | 130 130 70 | 180 180 145 |
FOXA.m, revert FOXA.m, revert + MA FOXA.m, no revert | 53 / 268 41 / 207 28 / 144 | 1.6 1.66 1.07 | 47 28 8 | 201 150 6 | 85 % 107 % 15 % | 5 4 5 | 90 90 115 | 120 120 135 |
SBUX.m, revert SBUX.m, revert + MA SBUX.m, no revert | 49 / 270 28 / 154 31 / 173 | 1.5 1.86 1.11 | 58 22 11 | 217 143 9 | 68 % 118 % 13 % | 5 4 8 | 130 130 70 | 160 160 150 |
NKE.m, revert NKE.m, revert + MA NKE.m, no revert | 35 / 197 22 / 123 26 / 146 | 2.26 2.32 1.29 | 140 75 11 | 947 422 28 | 122 % 102 % 46 % | 6 5 8 | 135 135 105 | 275 275 205 |
HPE.m, revert HPE.m, revert + MA HPE.m, no revert | 33 / 99 16 / 48 12 / 38 | 1.89 3.55 2.05 | 27 8 7 | 104 51 19 | 128 % 212 % 90 % | 4 2 5 | 55 55 55 | 70 70 85 |
MSFT.m, revert MSFT.m, revert + MA MSFT.m, no revert | 36 / 199 28 / 158 37 / 206 | 2.11 2.06 1.23 | 70 73 12 | 508 478 31 | 131 % 119 % 46 % | 7 5 9 | 150 150 100 | 275 275 205 |
KO.m, revert KO.m, revert + MA KO.m, no revert | 20 / 110 16 / 93 14 / 82 | 2.02 1.77 1.75 | 29 51 7 | 144 147 31 | 90 % 52 % 80 % | 4 5 3 | 100 100 120 | 160 160 150 |
ATVI.m, revert ATVI.m, revert + MA ATVI.m, no revert | 77 / 425 24 / 135 19 / 109 | 1.34 1.99 1.52 | 54 15 7 | 235 109 33 | 79 % 132 % 85 % | 5 3 4 | 135 135 115 | 140 140 155 |
Из всех рассмотренных инструментов за прошедший месяц нас расстроил только ORCL.m. Он таки добрался до конца цепочки — 8 шага. И мы получили убыток по всей цепочке на торговой стратегии без индикатора. Из-за этого процент прибыли в год получился очень маленьким. Интересно, что если бы мы торговали по индикатору, то данного убытка удалось бы избежать.
ORCL.m:
INTC.m:
FOXA.m:
SBUX.m:
NKE.m:
HPE.m:
MSFT.m:
KO.m:
ATVI.m:
Индексы. Среди индексов мы рассмотрим только один — индекс Dow Jones (YM) у брокера №1. Его график прибыли можно назвать идеальным... Точнее, можно было бы назвать идеальным график прибыли из предыдущей статьи, однако в новых тестах неожиданно в 2009 году цепочка прервалась, чего не было ранее. Впрочем, добавление скользящей средней смогло бы уберечь нас от убытка по всей цепочке, как можно видеть на графике ниже.
Брокер №1, индексы:
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей | SL | TP |
---|---|---|---|---|---|---|---|---|
YM, revert YM, revert + MA YM, no revert | 106 / 1 287 76 / 958 54 / 678 | 1.46 1.51 0.9 | 2 797 1 343 820 | 20 089 13 216 -636 | 57 % 78 % - | 8 6 11 | 155 155 170 | 210 210 200 |
Сырье. Среди сырьевых инструментов мы также рассмотрим только один — нефть марки Brent у брокера №2. Только этот инструмент в прошлой статье показывал хорошую прибыль и график баланса. Впрочем, несмотря на то, что добавление скользящей средней позволило уменьшить максимальное количество непрерывных проигрышей, общие результаты стали гораздо хуже.
Брокер №2, сырье:
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей | SL | TP |
---|---|---|---|---|---|---|---|---|
Brent, revert Brent, revert + MA Brent, no revert | 146 / 733 137 / 685 136 / 682 | 1.5 1.26 1.1 | 8 721 8 962 154 | 31 144 18 624 338 | 71 % 41 % 43 % | 21 19 17 | 70 70 60 | 275 275 215 |
Подводим итоги
Итак, что же у нас получилось? Мы смогли формализовать точку входа. И теперь дата, с которой мы начинаем тестирование, не так сильно влияет на результаты тестов.
Кроме того, для большинства инструментов нам удалось повысить прибыльность, а также уменьшить максимальное количество непрерывных проигрышей на 1-2 шага.
А вот чистая прибыль по всем инструментам снизилась за счет уменьшения количества трейдов в 1.5-2 раза. И тут уже вам самостоятельно придется выбирать, что для вас важно, бОльшая прибыль или меньшие риски.
Тестируем уровень стоп лосса в процентах от цены и ATR
В комментариях к предыдущим статьям говорилось, что использовать фиксированные значения стоп лосса и тейк-профита неправильно. Гораздо правильнее использовать для этого процент от ATR. И логика в этом утверждении есть. Действительно, как можно на протяжении 15 лет тестирования использовать один и тот же уровень стоп лосса и тейк профита. Ведь во-первых, в разные периоды времени волатильность у инструмента отличается. А кроме того, цена по инструменту за 15 лет может измениться на порядок, а мы по прежнему будем использовать уровень стоп лосса, который был подобран 15 лет назад.
По этой причине советник RevertEA был доработан так, чтобы уровень стоп лосса можно было указывать не только в пунктах, но и в процентах от текущей цены или в процентах от ATR. Отвечает за это параметр Тип стоп лосса в настройках советника.
ATR в данном случае будет определяться по Герчику. То есть, на дневном графике, без учета слишком маленьких или слишком больших баров. И только если количество баров окажется недостаточным для подсчетов, будет использоваться стандартный способ.
Если данный вариант определения ATR вас не устраивает, вы легко можете переписать функцию getATR под свои нужды. Данная функция находится в файле strategy_base.mqh папки Strategies. Ее оригинальный исходных код представлен ниже:
double getATR(string name){ MqlRates rates[]; ArraySetAsSeries(rates, true); double atr=0; double pre_atr=0; int count=0; // получаем данные о барах за последние 7 дней //(с избытком, так как ATR будем считать за 5 дней) int copied=CopyRates(name, PERIOD_D1, 0, 7, rates); // определяем ATR за последние 7 дней без учета // слишком больших и слишком маленьких баров if(copied>=5){ for(int j=1; j<copied; j++){ pre_atr+=rates[j].high-rates[j].low; } pre_atr/=(copied-1); } //определяем ATR за последние 5 дней или менее с учетом // слишком больших и слишком маленьких баров // то есть, бары размером более 1.5 ATR за 7 дней // и бары размером менее 0.3 ATR за 7 дней // отбрасываются if(pre_atr>0){ for(int j=1; j<copied; j++){ if( rates[j].high-rates[j].low > pre_atr*1.5 ) continue; if( rates[j].high-rates[j].low < pre_atr*0.3 ) continue; if( ++count > 5 ){ count=5; break; } atr+=rates[j].high-rates[j].low; } // если баров среднего размера очень мало // то считаем обычный ATR 5 if(count<2){ count=0; for(int j=1; j<=5; j++){ ++count; atr+=rates[j].high-rates[j].low; } } atr= NormalizeDouble(atr/count, _Digits); } return atr; }
Что касается уровня тейк-профита, то теперь его можно указывать не только в пунктах, но и в стоп лоссах (параметр Тип тейка в настройках советника). Например, тейк-профит на расстоянии 3 стоп лоссов от цены открытия.
Ниже представлены сравнительные результаты тестирования различных способов указания уровня стоп лосса. Тестирование проводилось без использования скользящей средней, так как в этом случае точек входа больше, а значит результаты для сравнительного анализа будут более точными.
Каждая строчка таблицы состоит из 3 строк:
- стоп лосс и тейк-профит в пунктах;
- стоп лосс в процентах от цены, тейк-профит как множитель к стоп лоссу;
- стоп лосс в процентах от ATR, тейк-профит как множитель к стоп лоссу.
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей | SL | TP |
---|---|---|---|---|---|---|---|---|
TripAdvisor TripAdvisor, percent TripAdvisor, atr | 98 / 246 532 / 1 331 56 / 141 | 1.36 1.41 1.42 | 98 310 386 | 231 1 161 366 | 94 % 149 % 37 % | 6 11 8 | 155 1 96 | 195 1.7 2.7 |
Sberbank Sberbank, percent Sberbank, atr | 150 / 225 178 / 267 196 / 295 | 1.34 1.63 1.78 | 45 223 67 | 86 713 257 | 127 % 213 % 255 % | 5 11 6 | 420 1.2 73 | 510 2.6 1.7 |
Nintendo_US Nintendo_US, percent Nintendo_US, atr | 169 / 339 182 / 365 144 / 288 | 1.49 1.39 1.65 | 18 31 35 | 104 100 182 | 288 % 161 % 260 % | 6 5 9 | 55 1.2 82 | 80 1.4 4.1 |
Tencent Tencent, percent Tencent, atr | 74 / 223 25 / 76 213 / 640 | 2.54 2.18 1.38 | 43 24 42 | 527 168 177 | 408 % 233 % 140 % | 5 4 6 | 450 3.6 76 | 1500 2 1.4 |
Michael_Kors Michael_Kors, percent Michael_Kors, atr | 36 / 109 46 / 140 84 / 252 | 1.51 2.6 2.18 | 134 281 266 | 240 1 452 1 352 | 59 % 172 % 169 % | 5 7 7 | 190 3 77 | 330 2 2.3 |
Starbucks Starbucks, percent Starbucks, atr | 15 / 231 26 / 388 56 / 816 | 1.69 1.26 1.2 | 38 743 426 | 251 531 740 | 45 % 4 % 11 % | 4 30 17 | 160 2.8 75 | 195 3.5 4.1 |
Gazprom Gazprom, percent Gazprom, atr | 265 / 398 64 / 97 76 / 114 | 1.33 1.99 3.02 | 59 102 115 | 142 294 404 | 160 % 192 % 234 % | 6 11 9 | 150 1.6 69 | 180 2.8 3.7 |
Petrobras Petrobras, percent Petrobras, atr | 23 / 337 25 / 375 55 / 803 | 1.61 1.45 1.92 | 86 391 650 | 623 456 3 743 | 49 % 8 % 39 % | 5 12 20 | 240 1.6 83 | 300 2.8 4 |
Snap Snap, percent Snap, atr | 62 / 93 55 / 83 - | 1.97 2.85 - | 44 83 - | 227 411 - | 343 % 330 % - | 4 5 - | 75 4 - | 135 2.7 - |
SQM SQM, percent SQM, atr | 64 / 162 58 / 145 170 / 426 | 1.81 1.79 1.32 | 55 128 249 | 288 337 314 | 209 % 105 % 50 % | 5 6 9 | 125 3.4 67 | 240 1.7 1.9 |
ORCL.m ORCL.m, percent ORCL.m, atr | 44 / 246 16 / 88 215 / 1 186 | 1.07 1.64 1.24 | 275 65 261 | 46 146 351 | 3 % 40 % 24 % | 8 5 8 | 90 4 70 | 150 1.4 1.4 |
INTC.m INTC.m, percent INTC.m, atr | 33 / 182 25 / 142 116 / 641 | 1.92 3.36 1.62 | 23 133 385 | 219 1 323 1 358 | 173 % 180 % 64 % | 4 6 14 | 130 2.4 56 | 180 3.2 4.1 |
FOXA.m FOXA.m, percent FOXA.m, atr | 53 / 268 93 / 467 234 / 1 171 | 1.6 1.57 1.28 | 47 133 165 | 201 407 305 | 85 % 61 % 36 % | 5 7 8 | 90 2 71 | 120 1.4 1.4 |
SBUX.m SBUX.m, percent SBUX.m, atr | 49 / 270 62 / 345 154 / 849 | 1.5 1.89 1.5 | 58 100 269 | 217 694 1 379 | 68 % 126 % 93 % | 5 7 15 | 130 1.8 57 | 160 1.7 3.2 |
NKE.m NKE.m, percent NKE.m, atr | 35 / 197 20 / 112 407 / 2 240 | 2.26 2.18 1.17 | 140 41 174 | 947 257 384 | 122 % 113 % 40 % | 6 3 12 | 135 4 47 | 275 1.4 1.7 |
HPE.m HPE.m, percent HPE.m, atr | 33 / 99 66 / 198 60 / 180 | 1.89 1.76 2.62 | 27 52 110 | 104 143 674 | 128 % 91 % 204 % | 4 5 14 | 55 2.8 76 | 70 1.4 3.8 |
MSFT.m MSFT.m, percent MSFT.m, atr | 36 / 199 28 / 154 126 / 693 | 2.11 1.39 1.42 | 70 340 434 | 508 288 1 042 | 131 % 15 % 43 % | 7 6 16 | 150 3.2 69 | 275 1.4 2.9 |
KO.m KO.m, percent KO.m, atr | 20 / 110 22 / 121 125 / 688 | 2.02 2.12 1.35 | 29 163 244 | 144 397 2 272 | 90 % 44 % 169 % | 4 6 14 | 100 2 64 | 160 2 2.9 |
ATVI.m ATVI.m, percent ATVI.m, atr | 77 / 425 15 / 83 194 / 1 072 | 1.34 2.86 1.46 | 54 302 235 | 235 1 313 1 198 | 79 % 79 % 92 % | 5 6 9 | 135 4 60 | 140 3.2 2.3 |
YM YM, percent YM, atr | 106 / 1 287 157 / 1 969 234 / 2 927 | 1.46 1.29 1.02 | 2 797 13 288 19 984 | 20 089 41 936 2 669 | 57 % 25 % 1 % | 8 27 17 | 155 0.6 51 | 210 2.9 1.7 |
Brent Brent, percent Brent, atr | 146 / 733 114 / 574 81 / 407 | 1.5 1.21 1.34 | 8 721 13 883 9 368 | 31 144 12 988 16 587 | 71 % 18 % 35 % | 21 19 13 | 70 1.4 70 | 275 3.8 3.2 |
Нельзя сказать, чтобы какой-то из способов подсчета стоп лосса оказался лучшим на всех тестируемых инструментах. Где-то лучшую прибыль показал стоп лосс в пунктах, где-то в процентах от цены, а где-то в процентах от ATR. Но одна закономерность все же прослеживается. Максимальное количество убыточных сделок подряд практически везде существенно увеличивается как при использовании стоп лосса в процентах от цены, так и при использовании стоп лосса в процентах от ATR. А следовательно и максимальная просадка.
В общем, нельзя сказать однозначно, какой из вариантов установки уровня стоп лосса и тейк-профита лучше. Но на мой взгляд, использование стоп лосса и тейк-профита в пунктах все же показывает более качественные результаты, так как приводит к меньшей просадке.
Тестируем трейлинг стоп
Многие трейдеры предпочитают использовать в своей торговле плавающий трейлинг стоп, утверждая, что он позволяет сохранить полученную прибыль, тем самым повысив прибыльность советника. Что же, давайте и мы попробуем воспользоваться данной технологией.
Для этого в настройках советника есть два параметра:
- Использовать постоянный трейлинг после N пунктов прибыли — определяет количество пунктов, которые цена должна пройти в сторону тейк-профита, чтобы активизировался механизм трейлинг стопа (данное ограничение необходимо, чтобы не закрыть цепочку в убыток на последующих шагах реверсирования, особенно если используется удвоение лота не на каждом шаге);
- Постоянный трейлинг в пунктах — количество пунктов от текущей цены, на которое будет перемещен стоп лосс по позиции, если удовлетворено правило из настройки Использовать постоянный трейлинг после N пунктов прибыли.
Нужно ли перемещать стоп лосс ближе к цене советник определяет в начале каждого бара. То есть, каждые 15 минут, так как во всех тестах мы используем период M15.
Если перемещение необходимо, то помимо непосредственного перемещения стоп лосса выполняется отмена уровня тейк-профита. И теперь единственный вариант закрытия позиции — по стоп лоссу. То есть, помимо защиты от возможной смены направления движения цены трейлинг стоп позволяет повысить размер прибыли за счет отмены тейк-профита.
Итак, ниже представлена сравнительная таблица лучших результатов без трейлинг стопа и с трейлинг стопом.
Символ | Трейдов (год/всего) | Прибыльность | Макс. просадка | Прибыль | % в год | Макс. проигрышей |
---|---|---|---|---|---|---|
TripAdvisor TripAdvisor, trailing | 100 / 250 99 / 248 | 1.5 1.53 | 98 100 | 315 321 | 128 % 128 % | 6 6 |
Sberbank Sberbank, trailing | 157 / 236 158 / 238 | 1.37 1.55 | 45 44 | 98 148 | 145 % 224 % | 5 5 |
Nintendo_US Nintendo_US, trailing | 171 / 342 173 / 347 | 1.38 1.2 | 18 37 | 90 51 | 250 % 68 % | 6 9 |
Tencent Tencent, trailing | 78 / 234 69 / 209 | 1.9 2.3 | 150 82 | 415 438 | 92 % 178 % | 8 7 |
Michael_Kors Michael_Kors, trailing | 38/ 114 48 / 145 | 1.46 1.46 | 134 116 | 247 169 | 61 % 48 % | 5 5 |
Starbucks Starbucks, trailing | 16 / 234 15 / 227 | 1.66 1.6 | 38 51 | 247 234 | 44 % 31 % | 4 4 |
Gazprom Gazprom, trailing | 288 / 433 295 / 443 | 1.34 1.4 | 59 39 | 155 162 | 175 % 276 % | 6 5 |
Petrobras Petrobras, trailing | 24 / 349 23 / 344 | 1.4 1.52 | 126 102 | 547 541 | 29 % 36 % | 8 5 |
SQM SQM, trailing | 64 / 164 69 / 174 | 1.82 1.8 | 55 83 | 298 400 | 216 % 192 % | 5 5 |
ORCL.m ORCL.m, trailing | 44 / 246 46 / 254 | 1.07 1.46 | 275 225 | 46 294 | 3 % 23 % | 8 7 |
INTC.m INTC.m, trailing | 31 / 172 31 / 174 | 1.77 1.7 | 52 52 | 216 218 | 75 % 75 % | 5 6 |
FOXA.m FOXA.m, trailing | 52 / 260 68 / 342 | 0.91 1.38 | 413 62 | -57 126 | - 40 % | 8 5 |
SBUX.m SBUX.m, trailing | 49 / 272 49 / 269 | 1.5 1.49 | 58 63 | 218 214 | 68 % 67 % | 5 5 |
NKE.m NKE.m, trailing | 35 / 198 35 / 199 | 2.26 2.01 | 140 84 | 957 407 | 122 % 88 % | 6 5 |
HPE.m HPE.m, trailing | 30 / 90 41 / 125 | 1.4 1.4 | 46 21 | 75 43 | 54 % 68 % | 5 3 |
MSFT.m MSFT.m, trailing | 37 / 207 37 / 208 | 2.04 1.12 | 70 442 | 538 112 | 139 % 4 % | 7 8 |
KO.m KO.m, trailing | 20 / 105 20 / 109 | 1.56 1.86 | 107 44 | 133 164 | 22 % 67 % | 5 5 |
ATVI.m ATVI.m, trailing | 79 / 435 80 / 443 | 1.27 1.26 | 56 56 | 201 199 | 65 % 64 % | 5 5 |
YM YM, trailing | 106 / 1 288 106 / 1 290 | 1.3 1.3 | 7 285 6 989 | 15 090 14 622 | 16 % 16 % | 8 8 |
Brent Brent, trailing | 151 / 759 149 / 748 | 1.3 1.44 | 8 721 8 790 | 21 950 28 537 | 50 % 64 % | 21 21 |
Как можно заметить, где-то трейлинг стоп увеличивает прибыльность, где-то снижает ее. Так что сказать однозначно, что трейлинг стоп это благо, нельзя. Более того, если посмотреть на инструменты, по которым есть большой объем истории (Starbucks, Petrobras, YM), то на них трейлинг стоп снижает прибыльность. Так что, возможно, повышение прибыльности на инструментах без большого исторического периода — просто случайность.
Но что действительно может сделать трейлинг стоп, так это немного снизить ваши шансы получить стоп лосс по всей цепочке сделок. Например, посмотрите на результаты инструмента FOXA.m. Без трейлинга мы напоролись на стоп лосс по всей цепочке сделок, а с трейлингом его удалось избежать.
Вообще, странно, что в текущих тестах по FOXA.m результаты тестов стали гораздо хуже, чем в тестах из предыдущей таблицы. Если посмотреть на отчет тестера стратегий по данному инструменту (прикреплен к статье), то можно заметить, что стоп лосс по всей цепочке сделок произошел довольно давно. И странность в том, что ранее при многочисленных тестах его не было.
К сожалению, тестер стратегий не всегда одинаково проводит тестирование. На одном и том же инструменте иногда он использует 0% реальных данных, иногда 2%, иногда 8%, и так далее. От этого меняются и результаты тестирования.
Почему так происходит, я не знаю (если вы знаете, что нужно сделать, чтобы результаты работы тестера стратегий всегда были одинаковыми, напишите в комментариях). Но это еще одна причина, по которой доверять результатам тестов на исторических данных нужно с большой оглядкой.
Сигналы на основе реверсирования
Вот уже больше 3 месяцев прошло с момента запуска сигнала на рынке Forex, использующего такую торговую стратегию, как реверсирование. Это не очень большой период времени, но промежуточные итоги мы вполне можем подвести.
Самое главное, пока что мы в прибыли. В среднем получается 8 % в месяц, то есть порядка 100 % в год.
Если не считать первого месяца, то убыточных месяцев пока не было. Убыток же в первый месяц вполне объясним. Во-первых, сигнал работал всего несколько дней. А во-вторых, поскольку мы используем входы в одном, заранее заданном направлении, ничего удивительного, что первые шаги в работе советника оказалсь убыточными.
Из минусов можно отметить, что золото нам успело потрепать нервы и дошло до 7 шага в цепочке. Что весьма впечатляет, ведь по результатам тестов за 18 лет золото доходило максимум до 8 шага в цепочке. А тут всего 3 месяца тестирования, и уже 7 шаг. В общем, дожидаться тейк-профита я не стал, и закрыл всю цепочку как только прибыль превысила убытки по всей цепочки сделок. Возможно, на свопе были потери, но они с лихвой были компенсированы прибылью по другим инструментам.
Самая большая просадка, которую видно на рисунке вверху, как раз и обусловлена стоп лоссами на 6 и 7 шаге по золоту. К счастью, благодаря прибыли по другим инструментам, данную просадку удалось несколько снизить.
Что касается других инструментов, то GBPUSD успел добраться до 6 шага. Остальные закрывались тейк-профитом максимум на 4-5 шаге цепочки.
И лишь 5-10 % от всего количества входов закрывалось на первом шаге. Что многое говорит о качестве наших входов =)
В общем, насколько данная торговая стратегия рискованная и прибыльная вы легко сможете и дальше наблюдать на основе данного сигнала. Закрывать его в мои планы не входит.
Пишем алгоритм ручной торговли от уровней
Автоматическая торговля имеет множество плюсов. Это и безоговорочное соблюдение торговой стратегии роботом, и масса свободного времени у вас. Однако в прибыльности сравниться с удачной ручной торговлей ей тяжело. Кроме того, есть и другие минусы:
- огромный убыток при стоп лоссе по всей цепочке сделок;
- большая сумма свободных средств, которые нужно держать на депозите для использования в качестве залоговой маржи на старших шагах цепочки, если используется удвоение лотов на каждом шаге (а иное использовать не позволяют соотшения стоп лосса и тейк-профита).
Что касается большой залоговой маржи, то если на первом шаге цепочки в качестве залога с вас возьмут 1 доллар, то на 7 шаге цепочки это будет уже 64 доллара. А значит, у вас должно быть на счете 64 свободных доллара только по одной позиции. Как итог, сумма прибыли получается сравнительно небольшой по сравнению с депозитом, который необходим для ее получения.
Ручная торговля позволяет уменьшить максимальную залоговую маржу благодаря использованию удвоения лота не на каждом шаге, а через 1, 2 или даже 3 шага. Вы сами выбираете, откуда заходить в сделку, какое соотношение тейк-профита к стоп лоссу использовать.
Также использование удвоения через 1, 2 или 3 шага позволяет увеличить приемлемое для вас количество шагов в цепочке, а следовательно и увеличить шанс получения прибыли.
Поэтому в данном разделе я хочу предложить вам один из возможных алгоритмов ручной торговли при помощи реверсирования. Не могу утверждать, что этот вариант самый лучший. Но помимо реверсирования в нем применяется диверсификация, что, хочется верить, снижает общие риски и сглаживает ваш график прибыли.
Кроме того, благодаря диверсификации можно более гибко управлять рисками. Например, если в конце дня или в конце недели баланс вашего счета увеличился, то можно закрыть все открытые позиции, в том числе убыточные. И не дожидаться шага реверсировки, на котором цена по убыточным позициям пойдет в вашу сторону.
Инструменты для ручной торговли. Специально для ручной торговли был разработан советник RevertManualEA для MetaTrader 5 и RevertmeManualEA4 для MetaTrader 4 (оба этих советника можно найти в конце данной статьи). В их задачи входит сопровождение сделок, которые вы открыли самостоятельно. При этом, советнику неважно на каком символе открыта сделка. Он контролирует все символы, независимо от того, на графике какого из них он был запущен. То есть, вам достаточно лишь один раз запустить данный советник, например, на своем VPS-сервере. После чего вы можете создавать сделки на любом компьютере, на котором открыт ваш счет в MetaTrader 5.
Чтобы советник RevertManualEA сопровождал позицию, при ее создании необходимо:
- указать такой же Magic-номер, как и у советника RevertManualEA (по умолчанию 777);
- в комментарии к ордеру указать номер шага (то есть 1).
К сожалению, ни комментарии, ни Magic-номер нельзя указать при ручной торговле из MetaTrader 5. Чтобы это сделать, необходим отдельный советник для открытия позиций, поддерживающий это. Например, советник Creating orders with a fixed stop in dollars.
Что касается MetaTrader 4, то комментарий он устанавливать позволяет. А вот Magic-номер установить нельзя. Так что для данной платформы также необходим отдельный советник для открытия позиций. Например, советник Creating orders with a fixed stop in dollars (MT4).
Алгоритм входа в сделку. Итак, любая торговля будет прибыльной, если стоп лосс случается реже, чем тейк-профит, и, при этом, сумма, потерянная при стоп лоссе, меньше чем та сумма, что была заработана на протяжении прибыльных сделок. Так что, все просто =)
Реверсирование как раз позволяет уменьшить ваши шансы на стоп лосс. И чем больше шагов в цепочке, тем меньше у вас шансов потерять деньги. Правда, и тем больше будет сумма, которую вы потеряете, если вся цепочка завершится стопом.
По этой причине предлагаю удваивать позицию не на каждом шаге, а через 2 шага. Тем самым мы сможем снизить как убытки при стоп лоссе по всей цепочке, так и залоговую маржу на последних шагах цепочки.
Кроме того, чтобы снизить убыток при стоп лоссе по всей цепочке, будем использовать диверсификацию, и входить сразу по 5 символам, вместо того, чтобы открывать сделку только на одном из них.
Допустим, будем открывать позиции в общей сумме на 10 долларов стоп лосса, то есть, стоп лосс будет в 2 доллара по каждой позиции. В этом случае, в зависимости от размера нашего тейка и шага удвоения, мы будем получать следующую прибыль на каждом символе:
Тейк 3:1, удвоение через 2 сделки:
- 1 шаг: 6 $;
- 2 шаг: 4 $;
- 3 шаг: 2 $;
- 4 шаг: 6 $;
- 5 шаг: 2 $;
- 6 шаг: -2 $;
- 7 шаг: 6 $;
- 8 шаг: 2 $;
- стоп: -34 $.
Тейк 4:1, удвоение через 2 сделки:
- 1 шаг: 8 $;
- 2 шаг: 6 $;
- 3 шаг: 4 $;
- 4 шаг: 10 $;
- 5 шаг: 6 $;
- 6 шаг: 2 $;
- 7 шаг: 14 $;
- 8 шаг: 6 $;
- стоп по цепочке: -34 $.
Тейк 4:1, удвоение через 3 сделки:
- 1 шаг: 8 $;
- 2 шаг: 6 $;
- 3 шаг: 4 $;
- 4 шаг: 2 $;
- 5 шаг: 8 $;
- 6 шаг: 4 $;
- 7 шаг: 0 $;
- 8 шаг: -4 $;
- стоп по цепочке: -24 $.
В перечисленных вариантах потери при стоп лоссе по всей цепочке существенно выше, что прибыль с каждой позиции. Поэтому количество прибыльных сделок у вас должно быть существенно больше, чем количество полностью убыточных цепочек. По собственному опыту могу сказать, что добиться этого можно только большими уровнями стоп лосса. Даже если вы открываете позиции только от железобетонных уровней, все равно ситуации, когда цена начинает скакать туда-сюда, срывая ваши стопы один за другим, в краткосрочной торговле случаются очень часто.
Поэтому в более краткосрочной торговле можно использовать следующий вариант параметров:
Тейк 5:1, удвоение через 3 сделки, всего 3 шага в цепочке:
- 1 шаг: 10 $;
- 2 шаг: 8 $;
- 3 шаг: 6 $;
- стоп по цепочке: -6 $.
В данном случае мы используем всего 3 шага реверсирования. На первом шаге мы получаем прибыль в ситуации, когда угадали с движением цены от предполагаемого уровня. На втором шаге мы получим прибыль, если не угадали с отбоем от уровня, и случился его пробой. На третьем шаге мы получим прибыль, если пробой оказался ложным. Ну а дальше мы полностью выходим из позиции, предполагая, что начался распил уровня, и никакие дополнительные шаги в цепочке нам уже не помогут.
Или же вы можете использовать тейк 5:1, удвоение через 2 сделки, и очень большое количество шагов в цепочке. Например, 20-30. Чем больше шагов, тем меньше шансов получить убыток по всей цепочке. Главное, не забудьте подсчитать и убедится, что ваш депозит сможет выдержать просадку по шагам цепочки. И, при этом, желательно, чтобы убыток по всей цепочке не приводил к сливу всего депозита. Чтобы еще оставались средства для торговли.
Выход из позиций. За сопровождение и, соответственно, закрытие позиций, отвечает запущенный советник RevertManualEA (или RevertmeManualEA4). Но вы всегда можете вручную закрыть отдельную или сразу все позиции.
Закрыть сразу все открытые позиции достаточно просто. Например, если общий итог по всем открытым позициям положительный, и вы не хотите дожидаться тейк-профита по каждой из них. Тогда просто откройте график, на котором запущен советник. Там вы найдете кнопку Закрыть все. Нажав на нее, вы сможете закрыть сразу все позиции, которые имеют тот же Magic-номер, что указан в настройках советника. Помимо закрытия всех позиций это также приведет к удалению всех ордеров на следующие шаги в цепочке.
Пример ручной торговли. Для большей наглядности ниже представлено видео, на котором для ручной торговли используются советники RevertManualEA и Creating orders with a fixed stop in dollars.
Насколько прибыльной будет данная торговая система для ручной торговли зависит только от того, насколько качественными будут ваши точки входа.
Заключение
В качестве заключения можно повторить только, что такая торговая стратегия как реверсирование действительно имеет право на жизнь.
Она не принесет вам баснословных прибылей. Максимум на что вы можете рассчитывать с приемлемым риском — это 100 % годовых.
Она не избавит вас от убытков. В любой момент вся цепочка шагов может завершиться стоп лоссом, и прощай прибыль, полученная за последние N лет.
Но она работает. Правда, чтобы она работала, нужно соблюдать два главных правила:
- не использовать короткие стопы, лучше всего использовать стоп лоссы на уровне среднесрочной торговли;
- указывать уровень тейк-профита, больший уровня стоп лосса.
Как ни старайся, хоть в тестах автоматической торговли, хоть в ручной торговле, но короткие уровни стоп лосса статистически не приносят прибыли при количестве шагов в цепочке, меньшем 10-15. Слишком часто нарываешься на боковые движения цены, которые приводят к стоп лоссу по всей цепочке сделок. Из-за чего съедается вся прибыль, полученная ранее. Поэтому автоматически торговать внутри дня при помощи реверсирования если не невозможно, то весьма проблематично.
Кроме того, короткие стопы чреваты еще одной проблемой. В любой момент расширившийся спред может убить всю вашу цепочку сделок. Например, посмотрите на данный пример из реальной торговли:
Посмотрите на последний шаг в цепочке. Спред по инструменту у данного брокера внезапно расширился настолько, что закрыл предыдущий шаг по стоп лоссу, хотя цена шла в сторону тейк-профита. После этого сработал лимитный ордер, который в ту же секунду закрылся стоп-лоссом, так как размер стоп лосса оказался меньше, чем текущий спред. Естественно, что ни один советник не успел бы создать следующий лимитный ордер. Да и хорошо, что не успел, а то он вполне мог бы закрыться таким же стоп лоссом. В общем, хорошее доказательство, что торговля на коротких стопах у брокеров с плавающим спредом рано или поздно будет равназначна сливу депозита.
Прикрепленные файлы
К статье прикреплены следующие архивы:
- RevertEA.zip. Архив с данным советником для MT5;
- RevertManualEA.zip. Архив с данным советником для MT5;
- RevertmeManualEA4.zip. Архив с данным советником для MT4;
- SETfiles.zip. Архив с SET-файлами, содержащими оптимальные найденные настройки для различных инструментов у различных брокеров;
- TESTfiles_ma.zip. Архив с отчетами тестирования по торговой стратегии на основе скользящей средней;
- TESTfiles_ma_norevert.zip. Архив с отчетами тестирования по торговой стратегии на основе скользящей средней без реверсирования;
- TESTfiles_plain.zip. Архив с отчетами тестирования по торговой стратегии на основе реверсирования без скользящей средней.
Архивы с отчетами тестирования содержат в себе отчеты только по тем инструментам, которые были рассмотрены в данной статье. Так как архив по всем инструментам, рассмотренным в данном цикле статей, имеет слишком большой размер, чтобы его можно были прикрепить к статье.
SET-файлы и отчеты имеют следующие суффиксы в своих названиях:
- без суффикса — торговая система на основе реверсирования без использования скользящей средней, со стоп лоссом и тейк-профитом в пунктах;
- _ma — торговая система на основе реверсирования и скользящей средней;
- _norevert — торговая система на основе скользящей средней без реверсирования;
- _inf — торговая система на основе реверсирования без использования скользящей средней, с трейлинг стопом;
- _percent — торговая система на основе реверсирования без использования скользящей средней, со стоп лоссом, указанным как процент от цены;
- _atr — торговая система на основе реверсирования без использования скользящей средней, со стоп лоссом, указанным как процент от ATR.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
И вот самое интересное, что почти точь-в-точь со временем выхода первой статьи по данному методу (реверсирование) в последних числах августа,
у меня как раз тоже уже проходил валидацию перед публикацией на Маркете советник, использующий именно такой подход)
Самого тогда как-то немного удивило такое совпадение))
И также после его публикации создал по его работе сигнал в мониторинге. И что бы вы думали? Около 10% прироста в месяц также ))) Но, правда, при просадке чуть меньшей - в 5%.
Видится, реверсирование можно рассматривать, как вариант. Сигналу почти три месяца.