Реверсирование: формализуем точку входа и пишем алгоритм ручной торговли

Roman Klymenko | 15 ноября, 2018

Введение

Вот уже на протяжении двух статей (Реверсирование - священный Грааль или опасное заблуждение? и Реверсирование: снижаем максимальную просадку и тестируем другие рынки) мы изучаем такую торговую стратегию, как реверсирование. Мы рассмотрели вопросы применения данной торговой стратегии на разных рынках, нашли наиболее подходящие рынки, формализовали основные правила правильного реверсирования. Казалось бы, тема закрыта, о чем еще писать? Но есть одна проблема, о которой мы говорили ранее, но к решению которой мы так и не подошли.

Эта проблема — точка входа, которая в нашей торговой стратегии не привязана ни к чему. А значит, войти в сделку можно в любой момент. И результат при этом может оказаться непредсказуемым. Кто-то получит тейк профит, а кто-то, войдя на 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 внесены следующие изменения:

Изменения в советнике RevertManualEA

В советник RevertManualEA внесены следующие изменения:

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

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

Формализуем точку входа

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

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

Во-первых, она позволяет определить глобальный тренд, а значит направление входа: если скользящая средняя растет, значит вход в Long, иначе в Short.

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

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

Впрочем, как обычно, к статье прикреплен архив с SET-файлами, содержащими найденные настройки для определенных инструментов.

В данной статье мы будем использовать простую скользящую среднюю. Если вы предпочитаете какую-либо другую, то в блоке Индикатор MA #1 настроек советника можно выбрать нужную.

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

Сначала сравним результаты по инструментам брокера №1. Напомню, что у данного брокера для каждого инструмента свой своп (какой именно, смотрите в таблице из предыдущей статьи), но в любом случае эти свопы для позиций в Long минимум в 2 раза больше, чем у брокера №2. Но есть и преимущества — для позиций в Short своп положительный, то есть, своп платится вам за то, что вы держите позицию в Short.

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

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

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

Перед тем, как перейти к результатам тестирования, давайте вспомним назначение некоторых колонок таблицы:

Брокер №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

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

Что касается графиков, то на них используются следующие сокращения:

TripAdvisor:

TripAdvisor

Sberbank:

Sberbank

Nintendo_US:

Nintendo_US

Tencent:

Tencent

Michael_Kors:

Michael_Kors

Starbucks:

Starbucks

Gazprom:

Gazprom

Petrobras:

Petrobras

Snap:

Snap

SQM:

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:

ORCL.m

INTC.m:

INTC.m

FOXA.m:

FOXA.m

SBUX.m:

SBUX.m

NKE.m:

NKE.m

HPE.m:

HPE.m

MSFT.m:

MSFT.m

KO.m:

KO.m

ATVI.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

YM

Сырье. Среди сырьевых инструментов мы также рассмотрим только один — нефть марки 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

Brent

Подводим итоги

Итак, что же у нас получилось? Мы смогли формализовать точку входа. И теперь дата, с которой мы начинаем тестирование, не так сильно влияет на результаты тестов.

Кроме того, для большинства инструментов нам удалось повысить прибыльность, а также уменьшить максимальное количество непрерывных проигрышей на 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 строк:

Что касается Snap, то к тому моменту, как я начал тестировать стоп лосс в виде процента от 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. А следовательно и максимальная просадка.

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

Тестируем трейлинг стоп

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

Для этого в настройках советника есть два параметра:

Нужно ли перемещать стоп лосс ближе к цене советник определяет в начале каждого бара. То есть, каждые 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-номер нельзя указать при ручной торговле из 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 сделки:

Тейк 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.