Reversão: criemos um ponto de entrada e programemos um algoritmo de negociação manual
Introdução
Depois de ter considerado os artigos Reversão: reduzindo o rebaixamento máximo e testando outros mercados e Reversão: o santo graal ou um equívoco perigoso?, agora estudaremos a reversão. Abordaremos a aplicação dessa estratégia de negociação em diferentes mercados, encontraremos os mais adequados e criaremos regras básicas para implementar uma reversão adequada. Embora pareça que esse tópico foi encerrado e que não haja mais sobre o que escrever, existe um problema falado anteriormente, mas cuja solução nunca encontramos.
Esse problema tem a ver com certo ponto de entrada que não está ligado a nada em nossa estratégia de negociação, o que significa que se pode entrar no trade a qualquer momento e que o resultado pode ser imprevisível. Assim, pode acontecer que alguém lucre ou que, após 5 minutos de ter entrado, perca em toda a cadeia de trades.
Por esse motivo, todos os testes que realizamos em artigos anteriores podem ser considerados confiáveis somente se a entrada no trade for realizada exatamente naquele dia, hora e minuto no histórico quando o testador de estratégias começou a fazer isso. Em outras palavras, não se pode garantir exatamente o mesmo aumento de lucros se a entrada for realizada um minuto antes ou depois.
Seja como for, precisamos de regras que nos permitam determinar quando entrar no trade e em que direção fazer isso. Convém que tais regras não piorem muito nosso gráfico de lucros. Dito isso, tentemos encontrar essas regras.
Instrumentos de teste
Realizaremos testes nos instrumentos que melhor se desempenharam no artigo anterior e que, ao mesmo tempo, tiveram um histórico suficiente, para que os resultados agora não pareçam aleatórios.
Como no artigo anterior, trabalharemos com várias corretoras e pegaremos instrumentos de vários mercados, para realizar os testes. No entanto, não estará o mercado Forex, só porque não foi possível obter resultados semelhantes ou melhores usando indicadores padrão. Como determinado no primeiro artigo, nenhum dos indicadores testados no mercado Forex pode ser comparado com entradas regulares a qualquer momento.
Neste artigo, trabalharemos com os seguintes instrumentos.
Corretora 1, mercado de ações: TripAdvisor, Sberbank, Nintendo_US, Tencent, Michael_Kors, Starbucks, Gazprom, Petrobras, Snap, SQM.
Corretora 2, mercado de ações: ORCL.m, INTC.m, FOXA.m, SBUX.m, NKE.m, HPE.m, MSFT.m, KO.m, ATVI.m.
Corretora 1, índices: YM.
Corretora 2, commodities: BRENT.
Alterações no EA RevertEA
Em comparação com o artigo anterior, no EA RevertEA foram feitas as seguintes alterações:
- adicionado botão Fechar, permitindo que encerrar a posição atual aberta;
- adicionada a exibição do lucro atual da posição no gráfico (ao lado do botão Fechar);
- adicionado modo stop loss como uma porcentagem do preço atual;
- às configurações adicionados os parâmetros Usar trailing constante após N pontos de lucro e Trailing constante em pontos;
- adicionado o modo de execução de trades ORDER_FILLING_IOC.
Alterações no EA RevertManualEA
No EA RevertManualEA foram feitas as seguintes alterações:
- adicionado o botão Fechar tudo, permitindo fechar todas as posições controladas pelo EA;
- ao lado do botão Fechar tudo é mostrado o lucro total de todas as posições controladas pelo EA;
- exibidos no gráfico botões de todas as posições controladas pelo EA;
- adicionado o modo de execução de trades ORDER_FILLING_IOC.
Botões de posição controlados pelo EA. Ao clicar no botão do símbolo, é aberto o gráfico do instrumento correspondente. Além disso, esses botões também são informativos. Eles mostram o nome do símbolo, o passo atual e o lucro atual da posição. Se o botão muda de cor, a posição está completamente fechada (quer por take-profit quer todas os passos da cadeia acabaram).
Observe também a nova opção Mostrar qual a última perda ao clicar no botão de símbolo. Por padrão, é definido como true. Em outras palavras, nos comentários do gráfico aberto ao clicar no botão do instrumento controlado pelo EA, será exibido o valor da última perda. Isso é assim, para ver imediatamente qual o lucro mínimo necessário a obter na posição para cobrir todas as perdas na cadeia.
Criemos o ponto de entrada
Para que os resultados do sistema de negociação não dependam do momento em que entramos, precisamos criar regras que nos permitam entrar apenas sob um certo conjunto de circunstâncias, e não toda vez que não houver posições abertas no instrumento.
Na minha opinião, a média móvel é a melhor opção para determinar tal ponto de entrada.
Em primeiro lugar, ela permite determinar a tendência global e, portanto, a direção da entrada: se a média móvel crescer, a entrada será em Long, caso contrário, em Short.
Em segundo lugar, uma regra adicional permite limitar a entrada em si. Por exemplo, somente depois que a barra anterior cruzar a linha média móvel para cima ou para baixo.
Essas regras serão nossas condições de entrada. Suas opções de uso têm sido implementadas no EA RevertEA. Para adaptá-lo ao funcionamento da média móvel, basta alterar os seguintes parâmetros:
- Abrir posições curtas — definir como true, caso contrário, o EA só abrirá posições em Long, ignorando os sinais em Short;
- Período — definir o período desejado nesta configuração no bloco Indicador MA #1;
- todas as outras configurações no bloco Indicador MA #1 são alteradas de forma personalizada.
No entanto, como de costume, aqui é anexado um arquivo com arquivos SET contendo as configurações encontradas para determinados instrumentos.
Neste artigo, usaremos uma média móvel simples. Se você preferir outra, no bloco Indicador MA #1 configurações do EA, você pode selecionar a desejada.
Mercado de ações. No último artigo, descobrimos que o mercado de ações é o mais adequado para a estratégia de reversão. Comecemos por aí.
Primeiro, comparemos os resultados dos instrumentos para a corretora №1. Deixe-me lembrá-lo de que essa corretora possui seu próprio swap para cada instrumento (veja a tabela do artigo anterior), mas, em qualquer caso, esses swaps para posições em Long são pelo menos duas vezes maiores do que os da corretora №2. A vantagem é que para as posições em short os swap são positivos, ou seja, o swap é pago a você por manter uma posição em Short.
Os resultados dos testes para todos os mercados são reunidos numa tabela. Primeiro, na tabela cada fila contém informações dos resultados do teste sem o uso de nenhum indicador, ou seja, quando uma posição é aberta imediatamente, assim que o take-profit ou o stop-loss fecha a cadeia de trades anterior. Além disso, a cada nova linha, na fila da tabela, o resultado do teste para o mesmo símbolo é exibido nos mesmos valores SL e TP, mas usando o indicador Média Móvel Simples.
Como o EA RevertEA permite negociar sem reversão, também verifiquemos qual será a rentabilidade ao operar com a ajuda de uma média móvel, por assim dizer, de maneira clássica. Os melhores resultados desses testes serão exibidos na terceira linha de cada fila da tabela.
Os resultados do teste da estratégia de negociação com reversão sem indicadores diferem dos resultados do artigo anterior. Afinal, mais de um mês se passou. Portanto, veremos de vez o que mudou nos resultados do teste.
Antes de passar para os resultados do teste, lembremos o propósito de algumas colunas da tabela:
- % por ano — este indicador é calculado de acordo com a seguinte fórmula: ((lucro/max. rebaixamento)*100)/anos para os quais há dados históricos do instrumento, é um número aproximado e é dado para análise comparativa;
- max. Max. perdas — mostra o número máximo de perdas consecutivas, ou seja, até que profundidade mergulhamos na cadeia até chegarmos ao take-profit;
- trades (ano/total) — número médio de posições que serão abertas no instrumento por ano (número total de trades dividido pelo número de anos para os quais há dados).
Corretora №1, mercado de ações:
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas | 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 |
Por agora, não tiremos conclusões, simplesmente olhemos para os gráficos correspondentes e façamos as conclusões de todos os mercados de vez, no final desta seção.
Quanto aos gráficos, eles usam as seguintes abreviações:
- PLAIN — gráfico de estratégia de negociação sem indicadores (entrada em Long assim que não houver posição do símbolo);
- MA — entrada baseada nos sinais da média móvel;
- NOREVERT — entrada baseada nos sinais da média móvel sem o uso de reversão.
TripAdvisor:
Sberbank:
Nintendo_US:
Tencent:
Michael_Kors:
Starbucks:
Gazprom:
Petrobras:
Snap:
SQM:
Agora vejamos os resultados da corretora №2. Ela tem um swap negativo, independentemente da direção da posição. Além disso, ao contrário da corretora №1, esta não paga dividendos a partir de suas posições em Long. No entanto, a vantagem é que ela não tira os dividendos das posições em Short.
Corretora №2, mercado de ações:
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas | 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 |
De todos os instrumentos considerados no último mês, apenas ORCL.m nos incomodou, pois chegou ao final da cadeia — passo 8 — e tivemos uma perda ao longo de toda ela, usando uma estratégia de negociação sem indicador. Por isso, a porcentagem de lucro por ano foi muito pequena. Curiosamente, se nós tivéssemos negociado com base no indicador, essa perda teria sido evitada.
ORCL.m:
INTC.m:
FOXA.m:
SBUX.m:
NKE.m:
HPE.m:
MSFT.m:
KO.m:
ATVI.m:
Índices. Consideramos apenas o índice Dow Jones (YM), usando a corretora №1. Seu gráfico de lucro pode ser chamado de perfeito, mais precisamente, de perfeito para o artigo anterior, pois, nos novos testes, inesperadamente em 2009, a cadeia foi interrompida, o que não acontecia antes. No entanto, a adição de uma média móvel poderia ter ajudado a evitar da perda em toda a cadeia, como pode ser visto no gráfico abaixo.
Corretora №1, índices:
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas | 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 |
Commodities. Consideramos apenas o petróleo Brent, usando a corretora №2. No último artigo, só este instrumento mostrou uns bons lucro e gráfico de saldo. No entanto, apesar de ter adicionado uma média móvel e, assim, ter reduzido o número máximo de perdas contínuas, os resultados gerais se tornaram muito piores.
Corretora №2, commodities:
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas | 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 |
Resumindo
Agora, qual o nosso resultado? Conseguimos criar o ponto de entrada. Portanto, a data a partir da qual começamos o teste não afeta muito os resultados.
Além disso, para a maioria dos instrumentos, conseguimos aumentar a rentabilidade, bem como reduzir em 1-2 passos o número máximo de perdas contínuas.
Já o lucro líquido de todos os instrumentos diminuiu, pois o número de trades foi reduzido em 1,5-2 vezes. Aqui você terá que decidir o que será mais importante - maiores lucros ou menores riscos.
Testemos o nível de stop-loss como uma porcentagem do preço e do ATR
Nos comentários aos artigos anteriores, foi afirmado que, em vez de usar valores fixos para o stop-loss e para o take-profit, era mais correto usar a porcentagem em relação ao ATR. O que faz sentido. Como realmente é possível durante 15 anos de teste usar os mesmos stop-loss e take-profit? Afinal, em primeiro lugar, em diversos períodos, a volatilidade do instrumento é diferente. Além disso, o preço do instrumento no transcurso de 15 anos pode mudar, o que não bate com usarmos um stop-loss selecionado há 15 anos.
Por esse motivo, o EA RevertEA foi modificado para que o nível de stop-loss possa ser indicado não apenas em pontos, mas também como uma porcentagem do preço atual ou como uma porcentagem do ATR. O parâmetro Tipo de stop-loss nas configurações do EA é responsável por fazer isso.
Neste caso, o ATR será determinado de acordo com o método de Gerchik, ou seja, no gráfico diário, sem levar em conta barras muito pequenas ou muito grandes. Adicionalmente, o método padrão será usado somente se não houver suficientes barras para os cálculos.
Se esta definição do ATR não for adequada, você pode facilmente reescrever a função getATR para atender às suas necessidades. Esta função está no arquivo strategy_base.mqh na pasta Strategies. Abaixo apresento seu código fonte original:
double getATR(string name){ MqlRates rates[]; ArraySetAsSeries(rates, true); double atr=0; double pre_atr=0; int count=0; // obtemos dados sobre barras nos últimos sete dias // (em excesso, pois consideraremos 5 dias do ATR) int copied=CopyRates(name, PERIOD_D1, 0, 7, rates); // determinamos o ATR dos últimos 7 dias sem considerar // barras muito grandes e muito pequenas if(copied>=5){ for(int j=1; j<copied; j++){ pre_atr+=rates[j].high-rates[j].low; } pre_atr/=(copied-1); } // determinamos o ATR nos últimos 5 dias ou menos, considerando // barras muito grandes e muito pequenas // isto é, barras maiores que 1,5 ATR durante 7 dias // e barras menores que 0,3 ATR durante 7 dias // são descartadas 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; } // se houver poucas barras de tamanho médio // consideraremos o usual 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; }
Quanto ao nível de take-profit, agora pode ser indicado não apenas em pontos, mas também em stop-loss(parâmetro Tipo de take-profit nas configurações do EA). Por exemplo, o take-profit a uma distância de 3 stop-loss em relação ao preço de abertura.
Abaixo estão os resultados comparativos de testes com várias maneiras de definir o nível de stop-loss. O teste foi realizado sem o uso de média móvel, pois, neste caso, há mais pontos de entrada, o que significa que os resultados para a análise comparativa são mais precisos.
Na tabela, cada fila consiste em 3 linhas:
- stop-loss e take-profit em pontos;
- stop-loss como uma porcentagem do preço, take-profit como um multiplicador de stop-loss;
- stop-loss como uma porcentagem do ATR, take-profit como multiplicador de stop-loss.
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas | 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 |
Não se pode dizer que alguma uma das maneiras de calcular o stop-loss foi a melhor em todos os instrumentos testados, pois os stop-losses em pontos, em porcentagem do preço e em porcentagem do ATR mostraram o melhor lucro em certos momentos. Porém, surge certo padrão. O número máximo de trades não-lucrativos seguidos em geral aumenta significativamente quando o stop-loss é usado tanto como porcentagem do preço, quanto como porcentagem do ATR, consequentemente, também incrementa o rebaixamento máximo.
Seja como for, é impossível dizer inequivocamente qual das opções para definir o nível de stop-loss e take-profit é melhor. Mas, na minha opinião, o uso de stop-loss e de take-profit em pontos apresenta melhores resultados, uma vez que leva a um rebaixamento menor.
Testemos o trailing-stop
Muitos traders preferem usar um trailing-stop flutuante, argumentando que isso permite manter o lucro ganho, aumentando assim a lucratividade do EA. Assim, tetemos implementar essa abordagem.
Para fazer isso, existem dois parâmetros nas configurações do EA:
- Usar trailing constante após N pontos de lucro — determina o número de pontos que o preço deve atravessar na direção do take-profit para ativar o mecanismo de trailing-stop (esta restrição é necessária para não fechar a cadeia com prejuízo nas etapas de reversão subsequentes, especialmente se o lote não for duplicado em cada passo);
- Trailing constante em pontos — número de pontos - em relação ao preço atual - para mover o stop-loss da posição, se atendida a regra da configuração Usar trailing constante após N pontos de lucro.
No início de cada barra, o EA determina se o stop-loss deve ser movido para mais perto do preço, ou seja, a cada 15 minutos, uma vez que em todos os testes usamos o período M15.
Se um movimento for necessário, além de mover diretamente o stop-loss, é cancelado o nível de take-profit. Assim, a única opção que resta é a de fechar a posição usando stop-loss, em outras palavras, assim, além de evitar uma possível mudança na direção do movimento do preço, o trailing-stop permite aumentar as margens de lucro cancelando o take-profit.
Abaixo está uma tabela comparativa dos melhores resultados sem e com trailing-stop.
Símbolo | Trades (ano/total) | Rentabilidade | Max. rebaixamento | Lucro | % por ano | Max. perdas |
---|---|---|---|---|---|---|
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 |
Como se pode ver, em certas ocasiões o trailing-stop aumenta a rentabilidade e em outras a reduz, por isso, não se pode dizer que o trailing-stop é algo bom. Além disso, ao observar instrumentos com um histórico grande (Starbucks, Petrobras, YM), o trailing-stop neles reduz a lucratividade, portanto, talvez um aumento na rentabilidade em instrumentos sem histórico grande seja simplesmente um acidente.
Porém, o que pode realmente fazer o trailing-stop é reduzir as chances de obter um stop-loss em toda a cadeia de trades. Por exemplo, observe os resultados do instrumento FOXA.m. Sem trailing, encontramos um stop-loss em toda a cadeia de trades, enquanto com o trailing conseguimos evitá-lo.
Seja como for, é estranho que nos testes atuais no FOXA.m os resultados do teste tenham se tornado muito piores do que nos testes da tabela anterior. Ao observar o relatório do testador de estratégias para este instrumento (anexado ao artigo), pode-se ver que o stop-loss para toda a cadeia de trades ocorreu há muito tempo. O estranho é que antes ao realizar vários testes não acontecia isso.
Infelizmente, o testador de estratégia nem sempre realiza os testes da mesma maneira. Às vezes ele usa 0% dos dados reais no mesmo instrumento, às vezes 2%, às vezes 8% e assim por diante. Por essa razão, mudam os resultados de teste.
Eu não sei por que isso acontece (se você sabe como garantir que os resultados do testador de estratégias sejam sempre os mesmos, escreva nos comentários). Porém, esse é outro motivo pelo qual a única forma de confiar nos resultados com base dados históricos é sendo muito cauteloso.
Sinais baseados em reversão
Já passaram mais de 3 meses desde o lançamento do sinal no mercado Forex usando a estratégia de negociação reversão. Não se trata de um período muito longo, mas podemos ir resumindo resultados provisórios.
Por enquanto, o mais importante é que estamos no lucro. Em média, é de 8% ao mês, ou seja, cerca de 100% ao ano.
Além do primeiro mês, ainda não houve meses não rentáveis. Podemos compreender o porquê da perda no primeiro mês. Em primeiro lugar, o sinal funcionou apenas alguns dias. Em segundo lugar, como usamos entramos numa direção predeterminada, não é de surpreender que os primeiros passos no funcionamento do EA tenham se mostrado não rentáveis.
Uma da desvantagens pode ser que o ouro alcançou 7 passos na cadeia. O que impressiona, porque segundo os resultados dos testes de 18 anos, o ouro atingiu um máximo de 8 passos na cadeia, enquanto, aqui, temos apenas 3 meses de testes, e já 7 passos. Seja como for, não esperei pelo take-profit e fechei toda a cadeia assim que o lucro superou as perdas em toda a cadeia de trades. É possível que houvesse perdas no swap, mas elas foram mais do que compensadas pelo lucro de outros instrumentos.
O maior rebaixamento, observado na figura acima, é precisamente devido ao stop-loss em 6 e 7 passos, para o ouro. Felizmente, graças ao lucro de outros instrumentos, esse rebaixamento foi um pouco reduzido.
Quanto aos outros instrumentos, o GBPUSD alcançou o passo 6. O take-profit fechou os restantes, com um máximo de 4-5 passos da cadeia, enquanto apenas 5-10% do total de entradas foi fechado na primeira etapa. Isso diz muito sobre a qualidade de nossas entradas 🙂.
Seja como for, como essa estratégia de negociação é arriscada e lucrativa, você pode continuar observando mais facilmente com base nesse sinal. Sendo assim, não é minha intenção encerrá-lo.
Programemos um algoritmo para negociar manualmente a partir de níveis
A negociação automatizada tem muitas vantagens, entre elas muito de tempo livre para você, graças a robôs aderindo às suas estratégias de negociação incondicionalmente. No entanto, em termos de lucratividade, é difícil compará-la com negociações manuais bem-sucedidas. Além disso, existem outras desvantagens:
- enorme perda por stop-loss em toda a cadeia de trades;
- muito dinheiro disponível para usar como margem de manutenção nas etapas superiores da cadeia, se os lotes forem dobrados em cada passo (de outra maneira, a relação entre stop-loss e take-profit não permite operar assim).
Relativamente à margem de manutenção, se, no primeiro passo da cadeia, como garantia for tomado um dólar, no passo 7 da cadeia isso será US$ 64. O que significa que você deve ter US$ 64 disponíveis em sua conta apenas para uma posição. Assim, se comparado com o depósito necessário para lucrar, o rendimento é relativamente pequeno.
Ao negociar manualmente, pode-se reduzir a margem de manutenção máxima usando o dobro do lote após 1, 2 ou até 3 passos, mas, não, a cada passo. Você é quem escolhe por si mesmo quando entrar no trade e qual relação take-profit/stop-loss usar.
Além disso, ao dobrar após 1, 2 ou 3 passos, não apenas aumentam os passos na cadeia, mas também as chances de lucrar.
Assim, nesta seção, quero lhe oferecer um dos possíveis algoritmos para negociar manualmente usando reversão. Eu não posso dizer que essa opção é a melhor. Mas, além de reversão, ela aplica diversificação, que, acredito, reduz os riscos gerais e suaviza seu gráfico de lucros.
Além disso, através da diversificação, pode-se gerenciar com mais flexibilidade os riscos. Por exemplo, se no final do dia ou no final da semana o saldo da sua conta tiver aumentado, você poderá fechar todas as posições abertas, incluindo as não-lucrativas. Sem ter que esperar pelo passo da reversão em que o preço das posições não-lucrativas irá em sua direção.
Ferramentas para negociação manual. Os EAs RevertManualEA - MetaTrader 5 - e RevertmeManualEA4 - MetaTrader 4 - foram desenvolvidos especificamente para negociação manual (eles podem ser encontrados no final deste artigo). Eles acompanham os trades que você abre por si mesmo. Adicionalmente, para esses EAs, não importa o símbolo em que seja aberto o trade. Eles monitoram todos os símbolos, independentemente do gráfico em que estão sendo executados. Em outras palavras, você só precisa iniciá-los uma vez, por exemplo, no seu servidor VPS. Depois disso, você pode criar trades em qualquer computador usando sua conta MetaTrader 5.
Para que o RevertManualEA acompanhe a posição, ao criá-la, você deve:
- especificar o mesmo Magic que o RevertManualEA (por padrão 777);
- especificar o número do passo no comentário da ordem (por exemplo, 1).
Infelizmente, nem os comentários nem o Magic podem ser especificados ao negociar manualmente a partir do MetaTrader 5. Para fazer isso, precisa-se de outro EA - com esse suporte - para abrir posições. Por exemplo, o EA Creating orders with a fixed stop in dollars.
Quanto ao MetaTrader 4, ele permite definir comentários, mas, não, o Magic. Portanto, para essa plataforma, também é necessário outro EA separado para abrir posições. Por exemplo, o EA Creating orders with a fixed stop in dollars (MT4).
Algoritmo de entrada no trade. Qualquer maneira de operar é lucrativa se, por um lado, o stop-loss ocorrer com menos frequência do que o take-profit e, por outro lado, a perda - após stop-loss - for menor do que o valor ganho durante todos os trades bem-sucedidos. É tão simples quanto isso =).
Justamente, a estratégia de reversão permite reduzir suas chances de stop-loss. Quantos mais passos na cadeia, menos chance você tem de perder dinheiro. No entanto, isso também pode aumentar a quantidade de perda potencial, caso toda a cadeia seja fechada por stop-loss.
Por esta razão, proponho, em vez de dobrar a posição em cada passo, fazer isso após 2 passos. Assim, poderemos reduzir tanto as perdas no stop-loss ao longo da cadeia quanto a margem de manutenção nos últimos passos da cadeia.
Além disso, a fim de reduzir a perda no stop-loss em toda a cadeia, usaremos diversificação e, em vez de abrir um trade em apenas um símbolo, entraremos em 5 símbolos.
Suponhamos que abrimos posições no valor total de US$ 10 de stop-loss, ou seja, o stop-loss será de US$ 2 para cada posição. Nesse caso, dependendo do tamanho do nosso take-profit e do passo de duplicação, receberemos o seguinte lucro em cada símbolo:
take-profit 3:1, dobrado após 2 trades:
- 1 passo: 6 $;
- 2 passo: 4 $;
- 3 passo: 2 $;
- 4 passo: 6 $;
- 5 passo: 2 $;
- 6 passo: -2 $;
- 7 passo: 6 $;
- 8 passo: 2 $;
- stop-loss: -34 $.
take-profit 4:1, dobrado após 2 trades:
- 1 passo: 8 $;
- 2 passo: 6 $;
- 3 passo: 4 $;
- 4 passo: 10 $;
- 5 passo: 6 $;
- 6 passo: 2 $;
- 7 passo: 14 $;
- 8 passo: 6 $;
- stop-los na cadeia: -34 $.
take-profit 4:1, dobrado após 3 trades:
- 1 passo: 8 $;
- 2 passo: 6 $;
- 3 passo: 4 $;
- 4 passo: 2 $;
- 5 passo: 8 $;
- 6 passo: 4 $;
- 7 passo: 0 $;
- 8 passo: -4 $;
- stop-los na cadeia: -24 $.
Nestas variantes, a perda no stop-loss em toda a cadeia é significativamente maior do que é o lucro de cada posição. Portanto, você deverá ter muitos mais trades lucrativos do que o número de cadeias completamente mal-sucedidas. Por experiência própria, posso dizer que isso só pode ser alcançado usando grandes níveis de stop-loss. Embora você abra posições apenas a partir de níveis de 'concreto armado', o preço começará a pular em diferentes direções, rompendo seus stop-losses um por um, em operações de curto prazo.
Por essa razão, na negociação de curto prazo, podem-se usar os seguintes parâmetros:
Take-Profit 5:1, dobrado após 3 trades, total de 3 passos na cadeia:
- 1 passo: 10 $;
- 2 passo: 8 $;
- 3 passo: 6 $;
- stop-los na cadeia: -6 $.
Neste caso, estamos usando 3 passos de reversão. No primeiro passo, lucramos quando descobrimos ao certo o movimento do preço a partir do nível esperado. No segundo passo, obtemos lucro quando não adivinhamos o rebote a partir do nível, e, em vez disso, há um rompimento. No terceiro passo, podemos obter rendimentos se essa é uma fuga falsa. Depois disso, saímos totalmente da posição, assumindo que o nível seja quebrado e que outro passo da cadeia não nos ajude.
Você também pode usar o nível take-profit de 5:1, dobrado após 2 trades e um número muito grande de passos na cadeia, por exemplo, 20-30. Quanto mais passos, menor será a possibilidade de fechar toda a cadeia pelo stop-loss. O principal é calcular o depósito necessário para garantir que o rebaixamento ao longo dos passos da cadeia possa ser coberto. Além disso, é bom que a perda ao longo da cadeia não faça com que todo o depósito seja perdido, para que haja fundos a fim de continuar operando.
Saída da posição. O EA RevertManualEA (ou RevertmeManualEA4) é responsável pelo rastreamento e pelo fechamento de posições. Mas você sempre pode fechar manualmente uma ou todas as posições de uma só vez.
Fechar todas as posições abertas de vez é bastante simples. Por exemplo, se o total de todas as posições abertas for positivo e você não quiser esperar por um take-profit para cada uma delas, basta abrir o gráfico no qual o EA está sendo executado, encontrar o botão Fechar tudo e clicar nele para fechar imediatamente todas as posições que tenham o mesmo Magic que o especificado nas configurações do EA. Além de fechar todas as posições, isso também faz com que sejam removidas todas as ordens para os próximos passos da cadeia.
Exemplo de negociação manual. Para ilustrar isso, abaixo está um vídeo em que, a fim de negociar manualmente, são usados os EAs RevertManualEA e Creating orders with a fixed stop in dollars.
O lucro desse sistema de negociação manual depende apenas da qualidade de seus pontos de entrada.
Fim do artigo
Como conclusão, pode-se repetir apenas que a estratégia de negociação reversão realmente merece continuar vivendo.
Ela não lhe trará lucros fabulosos, o máximo que você pode esperar com um risco aceitável é de 100% ao ano.
Ela não vai livrar você de perdas. A qualquer momento, toda a cadeia de passos pode terminar com um stop-loss, e adeus ao lucro recebido nos últimos N anos.
No entanto, ela funciona, e, para isso, é preciso seguir duas regras fundamentais:
- não usar stop-losses curtos, é melhor utilizá-los no nível da negociação de médio prazo;
- especificar um nível de take-profit mais alto do que o nível de stop-loss.
Não importa o quanto se tente negociar manual ou automatizadamente, níveis curtos de stop-loss estatisticamente não trazem lucro quando o número de passos na cadeia é menor do que 10-15. Com muita frequência, quando há movimentos laterais que fazem com que haja stop-losses em toda a cadeia de trades. Por causa disso, todo o lucro ganho anteriormente é desaparecido. Portanto, se não for impossível negociar intraday automaticamente usando reversão, fazê-lo será muito problemático.
Além disso, stops curtos acarretam outro problema. A qualquer momento, um spread ampliado pode acabar com toda a cadeia de trades. Veja este exemplo de negociação real:
Veja o último passo na cadeia. Embora o preço estivesse se movendo em direção ao take-profit, o spread do instrumento dessa corretora subitamente se expandiu ao ponto de fechar o passo anterior de stop-loss. Depois disso, foi acionada a ordem limitada, que no mesmo segundo foi fechada com um stop-loss, uma vez que o tamanho do stop-loss era menor do que o spread atual. Naturalmente, nenhum EA teria tempo para criar a seguinte ordem limitada. E até foi bom que não tenha tempo, pois poderia ter sido fechada com o mesmo stop-loss Seja como for, essa é uma boa prova de que negociar em stops curtos através de corretoras com spread flutuante, mais cedo ou mais tarde, equivalerá a perder todo o depósito.
Arquivos anexados
Os seguintes arquivos estão anexados ao artigo:
- RevertEA.zip. Arquivo contendo dados do EA para MT5;
- RevertManualEA.zip. Arquivo contendo dados do EA para MT5;
- RevertmeManualEA4.zip. Arquivo contendo dados do EA para MT4;
- SETfiles.zip. Arquivo SET contendo as configurações ótimas encontradas para vários instrumentos de diferentes corretoras;
- TESTfiles_ma.zip. Arquivo contendo relatórios de teste sobre a estratégia de negociação com base na média móvel;
- TESTfiles_ma_norevert.zip. Arquivo contendo relatórios de teste sobre a estratégia de negociação baseada numa média móvel sem reversão;
- TESTfiles_plain.zip. Arquivo contendo relatórios de teste sobre a estratégia de negociação baseada em reversão sem uma média móvel;
Arquivos com relatórios de teste contêm relatórios apenas sobre os instrumentos que foram considerados neste artigo, uma vez que o arquivo para todas os instrumentos discutidos nesta série de artigos é muito grande para ser anexado ao artigo.
Arquivos SET e relatórios possuem os seguintes sufixos em seus nomes:
- sem sufixo — sistema de negociação baseado em reversão sem uso de média móvel, com stop-loss e take-profit em pontos;
- _ma — sistema de negociação baseado em reversão e em média móvel;
- _norevert — sistema de negociação baseado em média móvel sem reversão;
- _inf — sistema de negociação baseado em reversão sem uso de média móvel, com trailing stop;
- _percent — sistema de negociação baseado em reversão sem uso de média móvel, com stop-loss indicado como uma porcentagem do preço
- _atr — sistema de negociação baseado em reversão sem uso de média móvel, com stop-loss indicado como uma porcentagem do ATR.
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/5268
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso