English Русский 中文 Español Deutsch 日本語
preview
Negociação usando uma grade com ordens limitadas no MOEX

Negociação usando uma grade com ordens limitadas no MOEX

MetaTrader 5Negociação | 29 agosto 2022, 07:43
732 0
Roman Shiredchenko
Roman Shiredchenko

Introdução

Neste artigo, descreveremos em detalhes como programar um Expert Advisor com uma estratégia de grade por meio da linguagem de estratégias de negociação MQL5. Nosso EA de hoje irá negociar no MOEX (Bolsa de Valores de Moscou), usando o terminal MetaTrader 5 e uma estratégia de grade, que incluirá o fechamento de posição por stop loss ou take profit, exclusão de ordens pendentes quando atendidas certas condições de mercado.


1. Fundamentos da negociação baseada em uma grade

Nos exemplos deste artigo, consideraremos o uso de um Expert Advisor de grade para automatizar a negociação de contratos futuros do MOEX. Ele irá nos facilitar o posicionamento de ordens em intervalos especificados dentro de uma faixa de preço específica.

Durante a negociação usando grade, as ordens são colocadas acima e abaixo do preço definido, o que gera uma grade de ordens com preços progressivamente mais altos e mais baixos. Assim, o resultado é que se cria uma grade de negociação.

Desse modo, por exemplo, você pode colocar ordens de compra a cada 100 rublos abaixo do preço de mercado de um contrato de futuros de ações ordinárias do Banco VTB (PJSC), VTBR -6,22 (doravante, VBM 2), bem como colocar ordens de venda a cada 100 rublos acima do seu preço de mercado. Isto nos permite tirar proveito da negociação sob diferentes condições.

A implementação de uma grade é ideal para mercados voláteis e laterais, quando os preços flutuam dentro de um intervalo predeterminado. Essa forma de negociação permite que você obtenha lucro com pequenas alterações de preço. Quanto mais frequente a grade, mais frequentemente os negócios serão efetuados. No entanto, isso acarreta custos mais altos, pois o lucro em cada uma das ordens se torna menor.

Consequentemente, é necessário encontrar um compromisso entre obter um pequeno lucro efetuando muitos negócios e uma estratégia com menos ordens, mas gerando um grande lucro em cada uma delas.

Você pode personalizar as configurações da grade definindo os limites superior/inferior e a frequência da grade. Depois de criar a grade, o Expert Advisor colocará automaticamente ordens de compra ou de venda a preços pré-calculados.

Vamos dar uma olhada em como isso funciona. Suponha que você espere que nos próximos 7 dias o preço do contrato futuro que você está negociando, por exemplo, VBM 2, flutue na faixa de 1 600 a 2 800 rublos. Nesse caso, você pode ajustar a grade para operar dentro do intervalo previsto.

No painel de negociação em grade, você pode definir parâmetros da estratégia, incluindo:

  • limites superior e inferior da faixa de preço;

  • número de ordens a serem colocadas dentro da faixa de preço especificada;

  • largura do passo entre cada ordem limitada de compra e de venda.


Figura 1.  Posicionamento de uma grade de ordens

Nesse caso, como o preço dos futuros do VBM 2 diminui para 1 600 rublos, o EA de grade acumulará posições a um preço menor do que o mercado. Quando os preços começarem a se recuperar, ele venderá a um preço mais alto do que o preço de mercado. Essa estratégia tenta capitalizar a reversão na direção do preço.


2. Tipos de movimentos de preços nos mercados financeiros que são preferíveis para um sistema de negociação

O ponto de entrada nesta estratégia de negociação está vinculado ao movimento de mercado do símbolo. Isso significa que você pode espalhar a rede (na verdade, entrar em um negócio) a qualquer momento. Como sabemos, na maioria das vezes os mercados estão em movimento lateral, o chamado flat. Este robô foi escrito especificamente para essa condição de mercado, observando o chamado paradigma compramos barato, vendemos caro.

Esse tipo de movimento é também chamado flat, consolidação, tendência lateral, lateralização, quando o preço se move em um determinado intervalo sem uma direção claramente definida, e é o preferido para operar com a grade usando ordens limitadas. O rompimento dos limites geralmente significa o fim do movimento lateral e o início de uma nova tendência.

Quando o preço é "esmagado" entre níveis de suporte e resistência fortes, forma-se uma lateralização alongada. Quando isso acontece, nem os touros nem os ursos têm força para vencer, o que inicia uma nova tendência. Toda essas interpretações são estritamente individuais para cada símbolo, isto é, devem ser consideradas no contexto dos movimentos de um determinado símbolo de mercado.

Se considerarmos esta abordagem de negociação em termos gerais, por exemplo, em relação a um contrato futuro VBM 2, mesmo que haja um movimento unidirecional (total resultante) do limite inferior de 1 600 para o limite superior de 2 800, com flutuações de preço (recuos em relação ao movimento principal) e, em consequência, acionamentos e reposicionamento de ordens limitadas tanto de compra quanto de venda, o lucro total após cerca de 1 mês de negociação no MOEX será maior que a perda total.

É graças às flutuações do símbolo negociado entre os níveis de preços (dentro da faixa) que o lucro aumenta, após aplicar este método de grade para o período de tempo designado.

Este EA que opera com a grade usa o mesmo valor para contratos/lotes negociados em cada ordem da grade, o que significa que você precisa planejar seu gerenciamento de dinheiro com base nessa nuance de tal abordagem de negociação.

Se o preço saltar fora das bordas da lateralização é porque esse pulo será prolongado com uma consolidação. Quando se utiliza este método de negociação, é importante considerar a ausência de notícias importantes que poderiam desencadear um forte movimento. Além disso, os stop losses devem ser colocados sobre a borda da faixa como uma proteção.


3. Características e benefícios da negociação mediante a grade

Uma característica do robô de negociação apresentado é que depois de colocar a grade, ele não adiciona novas ordens externas a ela até que a grade atual seja fechada com lucro ou prejuízo.

Recomendações baseadas neste sistema de negociação: A escolha de um instrumento de negociação deve ser tal que possua volume, que se mova claramente, que possivelmente evite transições de posições da noite para o dia, que seu livro de ofertas não seja esvaziado, que também seja negociado à margem das notícias e dos movimentos unidirecionais sem recuo.

Este sistema de negociação envolve a negociação em função de níveis utilizando a média (E. Nyman, « "Мастер-трейдинг: Секретные материалы», p. 134), quando você faz uma operação semelhante a uma feita anteriormente (compra em long e venda em short) a um preço melhor.

A principal desvantagem da média é que você não sabe de antemão até qual preço o mercado irá contra você. E o cálculo da média exige que você dê um depósito adicional a cada vez (após a primeira vez), o que aumenta o risco de sua posição. A maioria dos traders iniciantes comete o tradicional erro de buscar altos lucros, sobrecarregando sua conta, elevando a quantidade de alavancagem a valores absolutamente irreais, às vezes até apostando todo o dinheiro disponível. (E. Nyman, « "Мастер-трейдинг: Секретные материалы», p. 135)

Uma característica dessa abordagem de negociação é justamente que você pode definir os valores dos níveis mínimo e máximo para, desse modo, possibilitar a negociação com ordens limitadas dentro da faixa de preço especificada do símbolo negociado.

Ao definir stop-loss para os níveis superior e inferior, você pode limitar as perdas na conta de negociação. 

Quando um stop-loss é acionado, o terminal de negociação informa sobre o rompimento do nível e o possível movimento do preço em direção ao rompimento. Por causa disso, pode ser necessário reanalisar novos níveis de preços e definir seus valores nos parâmetros externos do Expert Advisor de grade (em anexo).


4. Implementando a negociação em grade

4.1. Mecanismo de negociação em grade

Etapas:

  1. Estrutura inicial: quando você escolhe o símbolo e, em seguida, executa o robô de negociação

  2. Abertura de posição: quando a primeira ordem limitada, que você colocou na grade, é acionada

  3. Atualização da grade: quando as ordens da grade são acionadas, ordens essas que aumentam a posição inicial do mercado ou a reduzem

  4. Stop-losses, take-profits, limitação de tempo dos negócios para a posição atual no mercado, saída por porcentagem de lucro, a seu critério

  5. Controle da negociação via EA de grade: fechamento do atual pregão com lucro, reposicionamento da grade de ordens com os novos valores mínimos e máximos do símbolo que você está negociando

Esta estratégia de grade começa sem uma posição inicial de mercado. A posição inicial será ativada quando o mercado ultrapassar o preço da ordem pendente mais próxima após a primeira inicialização.

Exemplo

Suponha que você defina os parâmetros da estratégia da seguinte forma para 01/04/2022:

  • Contrato: VBM 2 de prazo fixo
  • Limite inferior do preço: 1 600 rublos
  • Limite superior do preço: 2 800 rublos
  • Número de elementos na grade: 10
  • Modo: equidistante

Suponha que você tenha definido os parâmetros da estratégia da seguinte forma:

As primeiras ordens de compra da grade neutra serão colocadas abaixo do preço de mercado atual. Enquanto isso, as ordens de venda serão colocadas acima do preço de mercado atual. Após acionada a ordem limitada (de compra ou de venda) mais próxima, ocorrerá o chamado processo, vamos chamá-lo de ativação da grade de negociação. Adicionalmente, 9 ordens estarão envolvidas no leilão.

A distribuição de preços por tipos de ordens será a seguinte:

  • Buy Limit: 1 600 rublos, 1 733 rublos, 1 866 rublos, 1 999 rublos  

  • Sell Limit: 2 135 rublos, 2 268 rublos, 2 401 rublos, 2 534 rublos, 2 667 rublos, 2 800 rublos

(empiricamente, para obter o lucro ideal com riscos moderados, você pode analisar por si qual a melhor maneira de colocar ordens na grade com determinado passo em função da porcentagem do indicador ATR no período gráfico diário).

Resumo de todos as ordens executadas.

Cada negócio consiste em um par de ordens de compra e de venda que coincidem, o tipo de transação é FILO (primeiro a entrar, último a sair). O lucro pode ser calculado com base em cada par de ordens de compra e de venda coincidentes.

A faixa entre o limite inferior (LOW_PRICE_BuyLim) e o limite superior (HIGH_PRICE_SellLim) é dividida pelo número especificado de ordens (Number_of_elements_in_the_grid) com intervalos iguais. É aconselhável visualizar e selecionar de forma independente o intervalo e o número de ordens na grade (de 3), para que a largura total entre as ordens seja maior que o spread do símbolo e os valores de preço das bordas estejam fora do preço atual.

E o limite superior da faixa de preço (HIGH_PRICE_SellLim) deve ser maior que o limite inferior da faixa (LOW_PRICE_BuyLim).

4.2. Atualização da grade

A grade é atualizada toda vez que um dos níveis de preço é atingido, ou seja, quando uma ordem limitada é executada. A última ordem executada sempre permanece vazia, e são executadas ordens limitadas de venda ou de compra aos preços definidos, conforme ilustrado no exemplo abaixo.

Por exemplo, neste caso, depois que a primeira ordem limitada de venda for ativada na grade e após o posterior movimento ascendente do preço do contrato futuro VBM2, quando a próxima ordem limitada de venda disparar, a parte inferior da rede (o número de ordens BuyLimit) será aumentada em 1 ordem BuyLimit, isto é, colocada 1 passo acima (mais perto do preço) do que a ordem BuyLimit anterior na grade.

Ou seja, após a ativação da grade de negociação, a subida do preço e ativação da primeira ordem limitada de venda uma vez executada a grade, os preços limite para cada nível na grade serão os seguintes:

Preço em rublos Direção e tipo de ordem/posição
2 534 Venda por ordem limitada
2 401 Venda por ordem limitada
2201.5 Volume de posição a mercado das 2 primeiras ordens limitadas de venda
2 132 Compra por ordem limitada
1 999 Compra por ordem limitada
1 866 Compra por ordem limitada
1 733 Compra por ordem limitada
1 600 Compra por ordem limitada

O que é mostrado na figura abaixo:


Figura 2. Atualização da grade de ordens - após sua ativação e o acionamento das ordens limitadas

Assim, e mais adiante, ocorre o processo de atualização das ordens da grade.

Parâmetros de grade:

//+------------------------------------------------------------------+
//|                          EXTERNAL GRID VARIABLES
//+------------------------------------------------------------------+
input int Volume = 1;                          //Contract/lot volume
input double HIGH_PRICE_SellLim = 2800.00;     //HIGH_PRICE_SellLim (the upper price of the last SellLim grid order)
input double LOW_PRICE_BuyLim  = 1600.00;      //LOW_PRICE_BuyLim   (the lower price of the last BuyLim grid order) for BuyLim
input double HIGH_PRICE_SL  = 100.00;          // HIGH_PRICE_SL: SL in points from HIGH_PRICE_SellLim (the upper stop loss price) for SellLim
input double LOW_PRICE_SL = 100.00;            // LOW_PRICE_SL:  SL in points from LOW_PRICE_BuyLim (lower stop loss price)  for BuyLim
input int Pending_order_period  = 12;          // Pending_order_period: limit order setting time in months
input int Number_of_elements_in_the_grid = 10; // Number of elements in the grid (number of limit orders)
input double TakeProfit  = 0;                  // TakeProfit from the setting price in order pips
input double Profit_percentage = 0;            // Profit_percentage - grid closure % in profit
                                               // works if > "0"
input  bool Continued_trading = false;         // Continued_trading - whether to continue trading after exiting by the grid closure % with profit   

input int    Time_to_restrict_trade  = 0;      // Time_to_restrict_trade - setting the expiration time (in days) for a position with profit
                                               // (exiting the market upon the period end in days)                                              

input int Magic       = 10;                    // Magic Number

Os nomes das variáveis externas e sua decodificação foram feitos da forma mais detalhada possível, por isso comentários desnecessários são dispensados.

O que também é importante é definir os valores das variáveis

HIGH_PRICE_SellLim 

não inferior ao limite superior e

LOW_PRICE_BuyLim  

não inferior ao limite inferior dos valores determinados (definidos) pela Bolsa de Valores de Moscou: 

https://www.moex.com/en/contract.aspx?code=VTBR-6.22

Esta e outras informações são exibidas nos parâmetros do instrumento na Bolsa de Valores de Moscou (Fig. 3)


Figura 3. Parâmetros do instrumento - Contrato futuro de ações comuns do Banco VTB (PJSC), VTBR-6.22

A maneira de negociar é mostrada na fig. 4.2.

Como resultado, após iniciar o Expert Advisor de grade apresentado neste artigo, você deverá ver informações semelhantes sobre o robô de negociação no símbolo que escolheu na tela do terminal, como mostrado nas fig. 4.1 e 4.2:


Figura 4.1. Negociação com o EA de rede para o contrato futuro de ações comuns VTBR-6.22 


Se os valores de stop loss e take profit não forem zero, além das ordens limitadas de compra e de venda colocadas, os níveis de stop loss e take profit também serão exibidos no terminal de negociação em conformidade:


Figura 4.2. Negociação com um EA de grade em um contrato futuro para ações ordinárias do VTB Bank (PJSC) VTBR-6.22 com valores de stop loss e take profit diferentes de zero

Como resultado, temos uma grade de ordens limitadas que são reposicionadas com os acionamentos de turno dentro da faixa de preço mínimo e máximo.

E enquanto o preço do símbolo negociado está dentro da faixa de preço, o Expert Advisor da grade acumula lucro na conta de negociação. Mesmo considerando a óbvia desvantagem deste tipo de negociação usando grade, especificamente o surgimento de um movimento de preços forte e sem retorno em qualquer direção ao invés da movimentação de preços esperada em uma faixa, o seguinte pode ser notificado, isto é:

  • Em primeiro lugar, tais movimentos não são "frequentes".
  • Em segundo lugar, durante o pregão, até que o preço saia da faixa e do número de ordens selecionados corretamente, já haverá lucro suficiente na conta para compensar a perda atual.
  • Em terceiro lugar, enquanto o preço oscila (movimenta) entre os valores máximo e mínimo da faixa de preço, e negócios tanto de compra quanto de venda são realizados, a conta de negociação é lucrativa.

Considerações finais

Este Expert Advisor de negociação em grade, bem como a respectiva abordagem de negociação, requer controle sobre se o preço está dentro do intervalo especificado. Quando o preço se aproxima de um de seus limites, é possível interromper a grade com ordens limitadas e iniciá-la em um novo intervalo com novos volumes.

A grade pode ser criada para lucrar com tendências (esta opção será apresentada na próxima parte do artigo) ou intervalos, que são apresentados neste artigo. Esta maneira de operar com uma grade abrange a negociação com a ajuda de um EA com a redefinição de ordens limitadas , ou seja, enquanto o preço continuar a flutuar lateralmente, preenchendo ordens de compra e venda. 

Os riscos de movimento de preço unidirecional são controlados definindo níveis de stop loss para as ordens limitadas. Graças a esta abordagem de negociação em grade, podemos nos proteger de um rebaixamento repentino (crescimento) do mercado, após o qual, como regra, há um movimento corretivo de preços. Ou seja, com valores bem escolhidos da faixa de preço, tamanhos de contrato, número de ordens na grade, níveis de take e stop, o EA permite evitar rebaixamentos, eliminando a necessidade de monitoramento constante do mercado.

Nota:

A estratégia de rede discutida aqui não deve ser interpretada como aconselhamento financeiro ou de investimento. Você usa negociação em grade a seu critério e por sua conta e risco, o que implica garantir seu controle e uma forma razoável de operar, levando em consideração suas próprias capacidades financeiras.

Literatura recomendada:

- E. Nyman, « "Мастер-трейдинг: Секретные материалы», Editora Alpina, 2002 - 320 p.

Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/10672

Arquivos anexados |
GRID_TRADING_v.01.mq5 (112.73 KB)
Redes neurais de maneira fácil (Parte 17): Redução de dimensionalidade Redes neurais de maneira fácil (Parte 17): Redução de dimensionalidade
Continuamos a estudar modelos de inteligência artificial, em particular, algoritmos de aprendizado não supervisionados. Já nos encontramos com um dos algoritmos de agrupamento. E neste artigo quero compartilhar com vocês outra maneira de resolver os problemas de redução de dimensionalidade.
Como melhorar em aprendizado de máquina Como melhorar em aprendizado de máquina
Esta é uma seleção de materiais que será útil para que os operadores possam melhorar seus conhecimentos sobre negociação algorítmica. Os algoritmos simples são coisa do passado, agora é difícil alcançar o sucesso sem o uso de aprendizado de máquina e redes neurais.
DoEasy. Controles (Parte 8): Objetos básicos do WinForms por categoria, controles GroupBox e CheckBox DoEasy. Controles (Parte 8): Objetos básicos do WinForms por categoria, controles GroupBox e CheckBox
Neste artigo, veremos como criar dois objetos WinForms, especificamente GroupBox e CheckBox, e também geraremos objetos básicos para categorias de objetos WinForms. Todos os objetos criados ainda são estáticos, ou seja, não possuem a funcionalidade de interação com o mouse.
DoEasy. Controles (Parte 7): Controle "Rótulo" DoEasy. Controles (Parte 7): Controle "Rótulo"
Neste artigo, criaremos a classe do objeto de controle WinForms "Rótulo". Tal objeto poderá ser posicionado em qualquer lugar de seu contêiner, e sua respectiva funcionalidade replicará parte da funcionalidade do rótulo de texto do MS Visual Studio, para que possamos definir parâmetros de fonte para o texto exibido.