Download MetaTrader 5

Oportunidades ilimitadas com o MetaTrader 5 e MQL5

21 fevereiro 2014, 14:50
Anatoli Kazharski
0
2 733

"Para chegar a algum lugar, você tem que passar por algo, caso contrário, você não vai chegar a lugar nenhum."

Tabela de conteúdos

Introdução
1. Condições do sistema de negociação
2. Parâmetros externos
3. Otimização de parâmetro
3.1. Ajuste inicial da variante
3.1.1. Regras e parâmetros gerais
3.1.2. Configurações do verificador
3.1.3. Analises dos resultados obtidos
3.1.4. Aplicação de LIVRO DE RELATOS para a análise dos resultados de testes e otimização
3.1.5. Sistema de gestão de dinheiro
3.2. Variante de definição secundária
3.3. Ajustes possíveis das variantes
4. Teste no modo de visualização
5. Interface e controles
6. Painéis de informação INFORMAçãO DE NEGóCIO e GESTãO DE DINHEIRO
7. Painel de informação de negócio localizado no lado esquerdo do gráfico
7.1. SISTEMA DE PARâMETROS
7.2. HORáRIOS DAS SESSõES DE NEGOCIAçãO
7.3. NEGOCIAçãO MANUAL
7.3.1. Seção de COMPRA/VENDA/REVERSãO
7.3.2. Seção de POSIçõES FECHADAS
7.3.3. Seção de PEDIDOS PENDENTES
7.3.4. Seção de POSIçõES/PEDIDOS MODIFICADOS
7.3.5. Seção de DELEçãO DE PEDIDOS PENDENTES
7.4. DESEMPENHO DE NEGOCIAçãO
7.5. INFORMAçãO DE SíMBOLOS/CONTAS
8. Indicadores adicionais para serem usados por EA
Conclusão

Introdução

Neste artigo, eu gostaria de dar um exemplo de como um programa de negociação pode ser, bem como os resultados que podem ser alcançados em 9 meses, tendo começado a aprender MQL5 a partir do zero. Este exemplo também mostrará quanto multifuncional e informativo tal programa pode ser para um negociante, tendo um espaço mínimo no gráfico de preços. E vamos ser capazes de ver quanto colorido, brilhante e intuitivamente claro os painéis de informações comerciais dos usuários podem ser. Será mostrado o quão longe você pode ir na construção do sistema, combinando inúmeras estratégias ou grupos de sinais, enquanto preserva o máximo de conveniência e capacidade para obter um valor de qualquer parâmetro do sistema em um clique.

Eu também gostaria de compartilhar a minha opinião sobre o que procurar quando se otimiza os parâmetros e testa-se o sistema. No que prestar atenção ao configurar um sistema de gestão de dinheiro. Que desempenho máximo você pode esperar para eliminar do sistema utilizando apenas um indicador padrão com um único parâmetro. Como um relatório detalhado de negociação pode parecer e quanto multifuncional ele pode ser. E, finalmente, este artigo pode lhe dar algumas ideias sobre como os recursos para negociação automatizada, semiautomatizada e manual podem ser combinados em um único programa.

O nível de dificuldade deste artigo é principalmente médio. Pelo nível de dificuldade médio, eu penso que ele é voltado para aqueles que estão atualmente em busca de informações, enquanto estuda o assunto e ainda não têm habilidades suficientes para chegar à negociação real porque, inconscientemente, eles ainda tem a sensação de que algo está faltando. Este artigo também pode ser considerado como um modelo de uma especificação de requisitos para um programador.

Alguém nesta fase pode simplesmente não ter o conhecimento de algumas características que serão descritas a seguir e depois de ter lido o artigo, fazer um pedido para a implementação de uma ideia atraente no serviço Jobs ou até mesmo fazer algo semelhante por conta própria, sujeito a experiência de programação. Exemplos de códigos não serão dados aqui, já que o artigo por si só é muito longo e a análise dos códigos relevantes exigirá ser coberto em artigos separados.

Este artigo também pode ser tratado como uma demonstração dos recursos MQL5, juntamente com um grande número de ideias. Fornecerei referências para algumas ideias, ou melhor dizendo, aos modelos que tive de considerar a fim de escolher uma outra direção para o desenvolvimento do sistema.

Antes de prosseguirmos, me lembro que uma vez li em um livro sobre negociação em mercados financeiros, que um sistema rentável pode ser de tal modo simples que sua descrição poderia se encaixar em seu para-choque do carro. Eu tentei diversos sistemas simples que, infelizmente, não funcionaram exatamente dessa forma... mas isso certamente não significa que tais sistemas não existem. :)

1. Condições do sistema de negociação

As condições do sistema de negociação são baseadas no cruzamento dos níveis da tabela de preços. Os níveis são determinados pelo canal de preço do indicador modificado. Há um total de cinco níveis que disparam a compra, venda ou reversão de uma posição existente quando atravessada pelo preço.

A figura abaixo mostra que o indicador do canal de preço se parece com:

Fig. 1. Indicador do canal de preços modificado (5 níveis)

Fig. 1. Indicador do canal de preços modificado (5 níveis)


Esses níveis serão doravante referidos como segue (listados de cima para baixo):

  • H_PCH - O nível baseado em barras máximas;
  • MH_PCH - O nível calculado como o ponto médio entre o máximo e o centro do canal de preço;
  • M_PCH - O nível calculado como o ponto médio entre o máximo e o mínimo do canal de preço;
  • ML_PCH - O nível calculado como o ponto médio entre o mínimo e o centro do canal de preço;
  • L_PCH - O nível de base em barras mínimas.

A travessia de um certo nível é considerada verdadeira se a barra estiver totalmente concluída. Ou seja, você negocia usando apenas barras completas.

A reversão, o encerramento e as condições para a abertura, de uma posição existente nesse sistema, são divididos em quatro grupos:

  1. Upcrossing do nível ML_PCH indicando um sinal de compra / Downcrossing do nível MH_PCH indicando um sinal de venda.
  2. Upcrossing do nível M_PCH indicando um sinal de compra / Downcrossing do mesmo nível indicando um sinal de venda.
  3. Upcrossing do nível MH_PCH indicando um sinal de compra / Downcrossing do nível ML_PCH indicando um sinal de venda.
  4. Upcrossing do nível H_PCH indicando um sinal de compra / Downcrossing do nível L_PCH indicando um sinal de venda.

As diferenças de preços são frequentes e também devem ser levadas em conta. Uma condição adicional é, portanto, acrescentada às condições acima para verificar se a travessia realmente ocorreu.

Isto é, quando, por exemplo, uma barra completada não sugere a travessia ainda que o preço de abertura da nova barra esteja além do nível indicado. Há, de fato, um monte de diferentes situações que não podem ser observadas de relance, portanto, o desenvolvimento de uma estratégia de negociação deve ser muito cuidadoso. Eu lido com a geração de sinais de negociação no modo de visualização, analisando cuidadosamente passo a passo as diferentes partes dos dados históricos.

Cada grupo, das condições listadas acima, funciona de forma independente como uma estratégia de negociação individual sem sobrepor outras condições. O EA traça qual o grupo que uma determinada posição pertence ao uso de números mágicos. Em MetaTrader 5, só pode haver uma posição por símbolo, abrindo assim uma subposição onde já existe uma posição aberta, em lugar baseado em alguma condição, basicamente aumentaria ou diminuiria o volume da posição total.

Para se familiarizar com o assunto e captar os códigos para implementação de tais coisas, você pode ler os artigos: "The Optimal Method for Calculation of Total Position Volume by Specified Magic Number " e "The Use of ORDER_MAGIC for Trading with Different Expert Advisors on a Single Instrument". Lá, na discussão seguinte aos artigos, um dos autores delineou alguns pontos problemáticos que exigem aperfeiçoamento.

Todos os casos possíveis (que encontrei), onde os volumes de subposições podem ser registrados incorretamente, foram resolvidos.

Abaixo estão as situações em que os volumes podem ser registrados incorretamente:

  • Fechando uma posição ou todas as posições com um número mágico que não pode ser encontrado no EA;
  • Fechando uma posição ou a todas as posições utilizando recursos padrões do terminal. O número mágico, neste caso, está em falta;
  • Fechando uma posição por Stop Loss ou Take Profit;
  • Fechando uma posição por Stop Loss, Take Profit ou ordens pendentes, com outros números mágicos ou sem eles, durante os períodos sem conexão;
  • O EA é guiada por valores de variáveis​ globais. Se eles forem excluídos, o EA restaura-os com os mesmos valores para manter os registros corretos;
  • A recompilação do programa, a remoção do gráfico seguido por sua restauração, a exclusão do EA seguida pelo download da mesma, reiniciando o terminal ou um computador.

Em todas as situações acima, o EA restabelece a correta subposição dos registros de volume. Com o atual regime, o EA pode ser desenvolvido de modo que leve em consideração qualquer outra situação que pode conduzir a registros incorretos. Eu chamei este esquema de o ponto mágico. :) E acredito que esta questão merece um artigo separado.

Os níveis Stop Loss e Take Profit são definidos para cada subposição. Novamente, uma vez que estes níveis só podem ser definidos uma vez, os pedidos pendentes, que são essencialmente da mesma natureza, são definidos quando a posição está sendo aberta, em vez do Stop Loss e Take Profit atual, desde que sempre haja uma conexão permanente com a Internet. Isto é, se um subposição, por exemplo de COMPRA, é aberta com base em uma determinada condição, as ordens pendentes com o mesmo volume são ajustadas imediatamente.

Stop Loss é substituído pela ordem pendente Sell Stop e Take Profit pela Sell Limit. A conexão com a Internet permanente é necessária devido ao fato de que, se uma determinada ordem relacionada com uma certa subposição entra em ação ao lado do servidor durante o período de nenhuma conectividade, as ordens pendentes opostas não serão eliminadas e tal período sem conectividade deve continuar, e pode ser difícil de prever o resultado.

Você deve, portanto, garantir o máximo controle. Por exemplo, soluções de conectividade de backup ou um VPS. Mais algumas palavras serão ditas sobre algumas outras medidas de segurança a serem tomadas em caso de eventos de força maior.

O VPS (servidor privado virtual) ou VDS (servidor dedicado virtual) representam serviços que fornecem ao usuário um chamado servidor dedicado virtual.

Abaixo está um exemplo em que uma posição de COMPRA (à esquerda) e uma posição de VENDA (à direita) são abertas quando a primeira condição (cruzamento de M_PCH) é encontrada:

Fig. 2. Abrindo uma posição acionada pela primeira condição

Fig. 2. Abrindo uma posição acionada pela primeira condição

Se, enquanto a posição estava aberta, Stop Loss (ordem pendente) desconectou, a ordem pendente Take Profit será imediatamente removida. Stop Loss é removido da mesma maneira se Take Profit desconectar. Da mesma forma, o algoritmo funciona para todas as outras subposições.

Cada subposição tem seus próprios níveis de Stop Loss e Take Profit definidos, e o EA remove as ordens pendentes quando elas não são mais necessárias. Se a condição oposta for cumprida enquanto uma subposição já está presente, uma reversão ocorre. Os pedidos pendentes associados com a subposição anterior são removidos e definidos novamente para uma nova subposição.


Um exemplo a seguir demonstra a abertura de uma posição de COMPRA (à esquerda), e uma posição de VENDA (à direita), acionadas pela segunda condição (cruzamento de ML_PCH/MH_PCH):

Fig. 3. Abrindo uma posição acionada pela segunda condição

Fig. 3. Abrindo uma posição acionada pela segunda condição

Os exemplos seguintes ilustram as aberturas de posições desencadeadas pela terceira (BUY - MH_PCH / SELL - ML_PCH) e quarta (BUY - H_PCH / SELL - L_PCH) condições:

Fig. 4. Abrindo uma posição acionada pela terceira condição

Fig. 4. Abrindo uma posição acionada pela terceira condição

Fig. 5. Abrindo uma posição acionada pela quarta condição

Fig. 5. Abrindo uma posição acionada pela quarta condição

Para um melhor acompanhamento visual dos sinais, o indicador do canal de Preço foi ainda mais ampliado. A figura abaixo mostra o indicador com todas as opções de sinalização ativadas:

Fig. 6. Indicator MultiSignals_PCH

Fig. 6. Indicator MultiSignals_PCH

Esta versão do indicador está disponível na base do código do (indicador MultiSignals_PCH). Sua descrição detalhada também pode ser encontrada lá. Podemos observar aqui, que qualquer sinal pode ser desativado para não ser exibido no gráfico, o que pode ser útil ao fazer um ambiente operacional fora do EA que será demonstrado a seguir.

O esquema descrito acima não o previne de uma situação em que o controle sobre o sistema possa ser perdido completamente levando à perda de uma parte substancial da conta ou mesmo de toda a conta. Tudo depende de quanto tempo você ficou desconectado e quanto do depósito foi envolvido na negociação.

Uma situação deste tipo pode ser de fato muito rara, mas as medidas de segurança não podem nunca ser suficientes onde dinheiro está envolvido e você deve estar maximamente pronto para diferentes tipos de situações. é melhor superestimar do que subestimar. Para proteger-se contra tais eventos de força maior, você deve simplesmente definir os níveis reais de Stop LossTake Profit. Eles devem ser definidos a uma dada distância que não interfiram com o funcionamento do EA e só entrem em operação quando o controle for perdido. Em outras palavras, eles podem ser chamados de uma "almofada de segurança".

Ou seja, os pedidos pendentes são sempre definidos como níveis Stop Loss e Take Profit para todas as subposições, enquanto os níveis de Stop Loss e Take Profit reais são definidos além dos pedidos pendentes mais distantes em ambos os lados. Os níveis Stop Loss e Take Profit reais devem ser definidos nos mesmos níveis em ordens pendentes, porque se uma ordem pendente for definida sem eles, a posição estará desprotegida, uma vez que a ordem pendente for acionada. A figura abaixo é uma boa demonstração do caso acima:

Fig. 7. Stop Loss/Take Profit usados como

Fig. 7. Stop Loss/Take Profit usados como "almofada de segurança"

Claro, se a ligação com a Internet for perdida diante de seus olhos, você pode contatar o corretor imediatamente e fazer as negociações necessárias ao telefone. Mas se o seu sistema de negociação está definido para negociação 24 horas, o método acima atenderá você muito bem a fim de mantê-lo do lado seguro quando você não estiver por perto. É muito simples e eficaz.



2. Parâmetros externos

Os valores de Stop Loss e Take Profit nos parâmetros externos do EA são otimizados separadamente para cada grupo de sinais. O período do indicador de MultiSignals_PCH e o intervalo de tempo em que os seus valores são calculados também podem ser otimizados separadamente para cada grupo, no entanto, há uma possibilidade de otimizar estes parâmetros como comuns a todos os grupos.

Antes de tomar uma decisão sobre o esquema de desenvolvimento do EA, eu li alguns artigos cujos autores deram exemplos de mecanismos para o desenvolvimento de sistemas de negociação multi-moeda. Um esquema de fácil compreensão foi estabelecido por Nikolay Kositsin em "Creating an Expert Advisor, which Trades on a Number of Instruments". Um esquema mais complexo empregando OOP foi proposto por Vasily Sokolov em "Creating Multi-Expert Advisors on the Basis of Trading Models".

A tabela abaixo apresenta uma lista reduzida dos parâmetros de EA para um símbolo (SYMBOL_01) (esta versão das características de EA de 3 símbolos), e uma estratégia de negociação (TS_01) ou um grupo de sinais (esta versão de EA tem 4 grupos para cada símbolo). Prefixo 01 denota a associação com o número de sequência do símbolo para não se perder em muitos poucos parâmetros.

Variável Valor
Número de tentativas
3
Deslizagem
100
================================== SYMBOL_01

01 _ Negociação ligada/desligada
verdadeiro
01 _ Nome do símbolo
EURUSD
* * * * * * * * * * * * * * * * * * * * * * * * * * *

01 _ Faixa de tempo ligado/desligado
falso
01 _ Hora de início da negociação
10 : 00
01 _ Hora do fim da negociação
23 : 00
01 _ Posição fechada no final do dia
falso
01 _ Posição fechada no final da semana
verdadeiro
* * * * * * * * * * * * * * * * * * * * * * * * * * *

01 _ Período PCH (total)
0
01 _ Intervalo de tempo (total)
1 Hora
---------------------------------------------------- TS_01

01 _ Negócio TS в„–01
verdadeiro
01 _ Intervalo de tempo (sub)
1 Hora
---

01 _ ## - Tipo de entrada
#1 ML cruzado acima/MH dw
01 _ Período PCH (sub)
20
01 _ ## - Tipo de Take Profit
#1 - Pontos
01 _ #1 - Pontos
250
01 _ ## - Tipo de Stop Loss
#1 - Pontos
01 _ #1 - Pontos
110
---------------------------------------------------- TS_02

---------------------------------------------------- TS_03

---------------------------------------------------- TS_04

================================== SYMBOL_02

================================== SYMBOL_03

---------------------------------------------------------------------- ##
>>> GESTÃO DE DINHEIRO
Lote fixo
0,1
Gerenciamento de dinheiro ligado/desligado
verdadeiro
Iniciar depósito
10000
Delta
1000
Iniciar lote
0,1
Progresso do lote
0,01
Parar negociação
5000
---

Capital de redução máximo (%)
50
Parar negociação pela margem livre ($)
3000
Stop Loss/Take Profit pela desconexão (p)
15
---------------------------------------------------------------------- ##
>>> RELATÓRIO DE OTIMIZAçãO
Condição do critério de seleção
E
01 _ Critério estatístico
Lucro
- 01 _ Critério de valor
0
02 _ Critério estatístico
Fator de lucro
- 02 _ Critério de valor
2
03 _ Critério estatístico
SEM_CRITÉRIO
- 03 _ Critério de valor
0
04 _ Critério estatístico
SEM_CRITÉRIO
- 04 _ Critério de valor
0
05 _ Critério estatístico
SEM_CRITÉRIO
- 05 _ Critério de valor
0
---------------------------------------------------------------------- ## >>> PARÂMETROS ADICIONAIS
Use Som
verdadeiro
Esquemas de cor
Verde-cinza

Basicamente você pode adicionar qualquer número de símbolos e estratégias de negociação tendo feito os seus parâmetros externos, a principal coisa a considerar aqui é que o número de parâmetros devem estar dentro do limite estabelecido pelos desenvolvedores (MetaQuotes) do terminal de negociação (MetaTrader 5) o qual não pode exceder 1024 parâmetros.

Vamos agora obter uma visão detalhada de todos os parâmetros do EA:

Descrição dos parâmetros do EA
Número de tentativas
O número de tentativas repetidas se a operação de negociação falhou. Ou seja, o EA vai repetir, por exemplo, a abertura de uma posição, em determinados intervalos de tempo, se a tentativa anterior falhou. Isso se aplica a todas as operações de negócios.
Deslizagem
Deslizagem de preço permissível. Ou seja, se o deslizamento ocorre na posição de abertura, a operação será cancelada. Este parâmetro provavelmente vale a pena usar se você negocia em intervalos de tempo mais curtos.
Negociação ligada/desligada
Habilita (verdadeiro)/Desabilita (falso) negociações para um símbolo especificado.
Nome do Símbolo
O nome do símbolo. O nome deve ser inserido da mesma maneira que foi na janela Market Watch do terminal de negociação.
Faixa de tempo ligado/desligado
Habilita (verdadeiro)/Desabilita (falso) negociações para uma faixa de tempo especificada.
01 _ Hora de início da negociação
A hora ao negociar pode iniciar.
01 _ Hora do fim da negociação
A hora até que as negociações são permitidas.
Fechar posição no final do dia
Habilita (verdadeiro)/Desabilita (falso) o modo em que uma posição será fechada no final do dia.
Fechar posição no final da semana
Habilita (verdadeiro)/Desabilita (falso) o modo em que uma posição será fechada no final da semana.
Período PCH (total)
Se o valor definido é maior do que zero, ele será utilizado como um parâmetro comum para o indicador em todas as estratégias comerciais deste símbolo.
Intervalo de tempo (total)
Se o valor do período PCH (total) é maior do que zero, o valor deste intervalo de tempo vai ser usado para o indicador.
Negociação TS в„–01
Habilita (verdadeiro)/Desabilita (falso) as negociações com relação a esta estratégia de negociação.
Tipo de entrada
Especifica o grupo de sinais a serem utilizados neste bloco comercial.
Período PCH (sub)
Se o valor do período PCH (total) é zero, este valor vai ser usado para o indicador nesta estratégia de negociação.
Tipo de Take Profit
Especifica o tipo de Take Profit a ser utilizado nesta estratégia de negociação. Existem duas opções na versão atual de EA: SEM TAKE PROFIT e Pontos. Ou seja, sem o uso de Take Profit e Take Profit definidos num número especifico de pontos.
Pontos TP
Especifica a distância em pontos para o nível de Take Profit nesta estratégia de negociação.
Tipo de Stop Loss
Existem duas opções na versão atual de EA: SEM STOP LOSS e pontos. Ou seja, sem o uso de Stop Loss e Stop Loss definidos num número especifico de pontos.
Pontos SL
Especifica a distância em pontos para o nível de Stop Loss nesta estratégia de negociação.
Lote fixo
Valor do lote fixado. Se o parâmetro de ligar/desligar o gerenciamento de dinheiro é definido como falso, o volume do lote negociado é tomado deste parâmetro.
Gerenciamento de dinheiro ligado/desligado
Habilita (verdadeiro)/Desabilita (falso) o sistema de gerenciamento de dinheiro. Se ele está definido como falso, a negociação será executada com um lote fixado do valor o qual é especificado no parâmetro de Lote Fixo.
Iniciar depósito
O ponto inicial para o cálculo do lote negociado no sistema de gestão de dinheiro.
Delta
O valor expressado como quantidade de fundos pelos quais a conta deve ser aumentada/diminuída, em que o volume do lote negociado será aumentado/diminuído.
Iniciar lote
O lote inicial com base no qual o lote negociado será posteriormente aumentado/diminuído.
Progresso do lote
O progresso do lote. O valor pelo qual o lote negociado será aumentado/diminuído.
Parar negociação
Se o depósito diminuir até este valor, as negociações pararão.
Capital de redução máximo (%)
Se o depósito diminuir até este valor, as negociações pararão e o EA será removido do gráfico devido a segurança. Após a remoção, uma entrada relevante será adicionada ao log descrevendo a razão da remoção. Esta regra também se aplica ao testar ou otimizar parâmetros.
Parar negociação pela margem livre ($)
Um cálculo é feito antes de uma negociação (de compra/venda) para ver se ela resultará na diminuição de recursos para o nível abaixo deste valor, em caso afirmativo, a negociação não será executada.
Stop Loss/Take Profit pela desconexão (p)
Stop Loss e Take Profit reais. Eles estão situados fora dos níveis de negociações superiores e inferiores atuais.
Condição do critério de seleção
Há duas opções de seleção: E e OU. Eles são aplicados ao critério no bloco de parâmetro do RELATóRIO DE OTIMIZAçãO para definir como os resultados de otimização serão selecionados para serem registrados em um arquivo. Se E for selecionado, todas as condições especificadas deverão ser atendidas. Se OU for selecionado, pelo menos uma das condições especificadas deverão ser atendidas.
Critério de estatística
A lista suspensa permite selecionar um parâmetro para geração da condição a ser utilizada na filtração dos resultados de otimização registrados em um arquivo.
  • SEM CRITÉRIO
  • Lucro
  • Total de acordos
  • Fator de lucro
  • Lucro esperado
  • Capital DD máximo (%)
  • Fator de recuperação
  • Índice de Sharpe
Se todos os parâmetros do Critério de Estatística tem o valor definido SEM CRITÉRIO, nada vai ser registrado em um arquivo e o mesmo não será consequentemente gerado.
Critério do valor
O valor (limite) em que a condição para a filtragem dos resultados de otimização registrados em um arquivo se baseia.

Por exemplo, se você selecionar Profit no parâmetro 01_Statistic Criterion, e definir o 01_Value Criterion para 100, enquanto seleciona nos parâmetros do Critério de Estatísticas restantes a opção SEM CRITÉRIO, apenas tais resultados serão gravados em um arquivo de resultados de otimização, o número de negociações que for maior que 100.
Use Som
Habilita (verdadeiro)/Desabilita (falso) o sistema de notificações sonoras relativas às operações comerciais. Cada evento/grupo de eventos tem seu próprio som. Os sons estão disponíveis para os seguintes eventos;
  • Erro de operação de negócio.
  • Abertura de uma posição/aumento no volume de posição.
  • Definição/modificação da ordem pendente/Stop Loss/Take Profit.
  • Exclusão de uma ordem pendente.
  • Diminuição no volume de posição.
  • Fechando uma posição com um lucro.
  • Fechando uma posição com uma perda.
Esquemas de cor
Esquema de cor para o gráfico de preço. O esquema de cor para o gráfico pode ser selecionado a partir dos oito esquemas de cores disponíveis da lista suspensa.
  • Verde-cinza
  • Vermelho-bege
  • Preto-branco
  • Laranja-folha
  • Roxo-nuvem
  • Cinza-cinza claro
  • Leite-chocolate
  • Lua-noturna


Devemos destacar os eventos tratados pela EA em relação ao primeiro parâmetro (número de tentativas).

Alguns deles são verificados antes da negociação, alguns após a negociação e, outros, são verificados antes e depois, para serem assegurados.

  • Falha ao enviar o pedido de negociação;
  • Preços alterados;
  • Pedido rejeitado;
  • Pedido rejeitado pelo negociador;
  • Erro do processamento do pedido;
  • Volume de pedido inválido;
  • Preço de pedido inválido;
  • Pedido inválido parado;
  • Pedido inválido;
  • A negociação não é permitida;
  • O mercado está fechado;
  • Fundos insuficientes para a execução do pedido;
  • Preços alterados;
  • Muitos pedidos;
  • A negociação automática não é permitida pelo servidor;
  • A negociação automática não é permitida pelo terminal do cliente;
  • O pedido está bloqueado para o processamento;
  • Sem conexão com o servidor de negociação;
  • A operação é permitida apenas para contas reais;
  • O número de ordens pendentes atingiram o limite;
  • O volume de ordens e posições para este símbolo atingiu o limite.

Eu acredito que esta questão também merece um artigo separado.


3. Parâmetro de otimização

A estrutura do EA permite operar uma variedade de conjuntos comerciais. Vamos analisar duas principais variantes usando como exemplo o EA com uma configuração mínima, ou seja, 3 símbolos, cada um dos quais contém 4 estratégias de negociação.


3.1. Variante de definição primária

Atribuir valores diferentes aos _ parâmetros Name Symbol (01,02,03). Por exemplo, EURUSD, AUDUSD, USDCHF. Ou seja, estes serão os pares de moedas negociadas.

  • Defina o valor do Período PCH (total) superior a zero para todos os símbolos, de tal maneira a comunicação ao programa do período para o indicador MultiSignals_PCH será comum para todas as estratégias dentro de cada símbolo e o intervalo de tempo para o indicador será retirado do parâmetro de Prazo (total), ou seja, ele também será comum.
  • Toda estratégia terá o seu próprio parâmetro de Tipo de Entrada.
  • Os parâmetros Stop Loss eTake Profit também são definidos separadamente para cada estratégia.

Tudo isto pode ser ilustrado pelo esquema a seguir:

Fig. 8. Esquema da primeira definição de variantes
Fig. 8. Esquema da primeira definição de variantes

Devemos agora definir um passo para a otimização de cada parâmetro. Como um exemplo, defina os valores conforme previstos na tabela abaixo. Estes valores devem ser inseridos para todos os símbolos e blocos de estratégia de negociação. Defina 8 horas como o valor do parâmetro de Prazo (total). Uma informação em profundidade, sobre as peculiaridades de testes no modo somente preços de abertura, só será dada em Configurações do Verificador abaixo.

Deve notar-se também que os parâmetros devem ser otimizados tendo desativado o sistema de gestão de dinheiro, por exemplo, com um lote fixo (0.1). A ação de ligar/desligar o gerenciamento de dinheiro deve ser definida como falso. Os parâmetros do sistema de gerenciamento de dinheiro devem ser definidos separadamente, depois que todos os outros parâmetros foram definidos.

VARIáVEL INICIAR
PASSO PARAR
Período PCH (total)
5
1
30
Pontos TP
50
10
800
Pontos SL
50
10
200


Vamos dar uma olhada nos seguintes cinco pontos: Regras e parâmetros gerais, Configurações do verificador, Análise dos resultados obtidos, Aplicação do LIVRO DE RELATOS e Sistema de gestão de dinheiro. Estes cinco pontos aplicam-se a todas as definições de variantes, mas uma análise detalhada das mesmas será fornecida somente nesta (primeira) descrição de variante.


3.1.1. Regras e parâmetros gerais

Defina 50 como o valor do Capital de redução máximo (%). Ele filtrará e parará os passos cuja redução máxima no curso de otimização aparecerá inferior a 50%. Ele também aumentará um pouco a velocidade de otimização sem perder tempo nos passos sem "valor".

Os parâmetros devem ser otimizados separadamente para cada símbolo. Esta é uma medida forçada, devido ao fato de que, se o número de passos da otimização excede o valor de um comprimento de 64 bit, a otimização será impossível devido ao limite definido pelos desenvolvedores do terminal de negociação. As informações sobre todas as restrições impostas podem ser encontradas na seção de Ajuda do terminal de negociação.


3.1.2. Configurações do verificador de estratégia

Na aba de Definições do verificador do terminal de negociação, defina os parâmetros conforme mostrado abaixo:

Fig. 9. Parâmetros do verificador de estratégia

Fig. 9. Parâmetros do verificador de estratégia

Como um exemplo, o período de teste é ajustado para ser de ~ 1 ano. Você pode definir qualquer símbolo, pois, independentemente do símbolo em que o EA está sendo executado, as negociações serão executadas para os símbolos que são especificados nos parâmetros de EA.

Ajuste rápido (algoritmo genético) como o tipo de otimização.

Em nosso exemplo, vamos definir o máximo balanço, ou seja, o valor máximo de balanço, como o critério de otimização.

Na lista de modos de otimização/teste, selecione Somente preços de abertura. Ele fornece o nível de qualidade mais baixo, mas é bastante adequado para a otimização de parâmetros, desde que o EA só negocie em barras concluídas. Após a otimização, é aconselhável mais testes aos resultados no modo de alta qualidade. Há uma outra coisa importante para ter em mente.

Devido a peculiaridades do mecanismo interno de Somente preços de abertura, os prazos não devem ser envolvidos na otimização de parâmetros. Isso tem a ver com o fato de que este modo não permite você obter dados a partir de todos os prazos que resultarão em erros de otimização/teste.

Mais informações sobre as restrições podem ser encontradas no Terminal do cliente - Guia do usuário -> Verificador de estratégia -> Trabalhando com o verificador -> Geração de ticks (Seção: Somente preços de abertura). Ao otimizar os parâmetros no modo Somente preços de abertura, você também deve respeitar as seguintes regras:

  • Se os intervalos de tempo para todos os símbolos são diferentes, cada símbolo deve ser otimizado separadamente. Ou seja, todos os outros símbolos devem ser desativados (FALSO);
  • Se os símbolos têm prazos diferentes, uma vez que a otimização de todos os símbolos foi concluída, o teste deve ser executado no modo OHLC em M1;
  • Se a otimização/teste só diz respeito a um símbolo, o período de tempo a ser definido nas configurações do verificador deve ser o período de tempo mais curto usado no TS ou menor do que o mais curto.

Se essas regras são ignoradas, o modo OHLC em M1 seria ideal para a otimização do parâmetro. Seria útil para executar testes em modos diferentes e comparar os resultados.

A execução de otimização em um PC com um processador dual-core demorará cerca de 4-5 horas (a medida que esta definição esteja relacionada).


3.1.3. Análise dos resultados obtidos

Após a otimização sucessiva dos parâmetros para cada símbolo, o resultado da otimização geral deve ser analisado​na aba do gráfico de otimização, a fim de selecionar os parâmetros que irão ainda ser envolvidos na negociação.

Por exemplo, as definições estabelecidas acima produziu os seguintes resultados para EURUSD:

Fig. 10. Resultados da otimização na aba do gráfico de otimização do verificador

Fig. 10. Resultados da otimização na aba do gráfico de otimização do verificador

O gráfico de otimização sugere que a maior parte dos resultados estejam situados na zona de lucro. Quanto mais os resultados são exibidos na zona de lucro, mais certo você pode estar de que o sistema de negociação continuará a fornecer o mesmo resultado usando parâmetros específicos da zona de lucro.

Também deve ser notado que o grau de certeza será maior, quanto maior for o período de teste em combinação com o critério do número de resultados na zona de lucro. No entanto, quanto maior o período, mais tempo levará a otimização. Mas neste caso você pode recorrer a Rede em nuvem MQL5 fornecida pela MetaQuotes. Por uma pequena taxa, o tempo de otimização pode ser reduzido muitas vezes devido a um grande número de processadores envolvidos na otimização. Mais informações sobre este grande recurso podem ser encontradas no artigo Speed Up Calculations with the MQL5 Cloud Network. Esta opção também será bastante útil se foi decido que a otimização será executada usando o modo OHLC em M1.

Se o resultado de otimização obtido com relação a qualquer símbolo especial não é bom o suficiente por qualquer razão, você deve tentar executar a otimização de um símbolo diferente. Os critérios com base nos quais você pode determinar qual resultado pode ser considerado aceitável, podem ser aproximadamente da seguinte forma. Por exemplo, a redução máxima não deve ser superior a 20 por cento. Com isso dito, o valor do fator de recuperação não deve ser inferior a 2.00. A distância para o nível de Stop Loss deve ser menor do que a distância para o nível de Take Profit, etc.

O MetaTrader 5 oferece algumas ferramentas para analisar os resultados. Os gráficos de otimização como descritos acima são chamados de gráficos com resultados. Além disso, existem gráficos da linha (1D), planar (2D) e tridimensionais (3D). Abaixo estão os resultados dos testes para USDCHF e EURUSD em gráficos tridimensionais (3D):

Fig. 11. Resultados da otimização de USDCHF em gráfico 3D

Fig. 11. Resultados da otimização de USDCHF em gráfico 3D

Fig. 12. Resultados da otimização de EURUSD em gráfico 3D

Fig. 12. Resultados da otimização de EURUSD em gráfico 3D

O gráfico tridimensional mostra claramente que há muito poucos valores dos parâmetros para o indicador MultiSignals_PCH (área de perfil suave verde), juntamente com diferentes valores do nível de Stop Loss que são adequados para a negociação.

Uma vez que os parâmetros para cada símbolo tenham sido selecionados, você deve executar um teste com todos os símbolos juntos ao mesmo tempo e analisar o resultado. A guia de gráfico no verificador mostrará o resultado, tal como ilustrado na primeira figura abaixo. O tempo de teste no modo Somente preços de abertura é muito curto. Um teste ao longo de um período de 1 ano só vai levar cerca de 5 segundos para ser concluído (veja a figura abaixo).

Fig. 13. Resultado do teste no modo Somente preços de abertura (variante de definição primária)

Fig. 13. Resultado do teste no modo Somente preços de abertura (variante de definição primária)

Basicamente, o resultado será o mesmo se o modo Cada tick é usado.

Ele pode ser um tanto melhor ou pior do que o modo Somente preço de abertura, no entanto é imaterial. Neste caso particular, demorou cerca de 12 minutos para que o teste fosse concluído (veja a figura abaixo).

Fig. 14. Resultado do teste no modo Cada tick (variante de definição primária)

Fig. 14. Resultado do teste no modo Cada tick (variante de definição primária)

O teste durou ~ 1 minuto no modo OHLC em M1.


3.1.4. Aplicação do LIVRO DE RELATOS para a análise dos resultados de teste e otimização

A aplicação do LIVRO DE RELATOS é fornecido como um complemento para o EA. Esta aplicação foi desenvolvida usando a linguagem de programação VBA. Ele de fato é um caderno de anotações Excel padrão que requer apenas o Excel 2010 instalado em seu PC, a fim de ser usado. Vamos ver o que a aplicação do LIVRO DE RELATOS tem a oferecer.

O caderno de anotações tem apenas um arquivo de guia que por sua vez oferece a escolha entre três opções: Recente, novo e impressão. Isso é tudo o que permaneceu do Excel. :) O restante foi removido e os passos principais para analisar a otimização e os resultados de testes obtidos foram automatizados e simplificados ao máximo.

Fig. 15. Aplicação do LIVRO DE RELATOS no Excel 2010

Fig. 15. Aplicação do LIVRO DE RELATOS no Excel 2010

Por padrão, o caderno de anotações já contém a otimização e dados de teste para a familiarização inicial com o aplicativo.

Isto é ilustrado na figura abaixo:

Fig. 16. Dados do resultado de otimização

Fig. 16. Dados do resultado de otimização

No topo da tabela na planilha OptReport, você pode ver os botões a seguir: DADOS DE CONEXÃO, DIAGRAMA, MIRA e MODO DE TELA CHEIA.

O botão MODO DE TELA CHEIA é seguido pelo botão da seta direito, permitindo saltar rapidamente ao fim da tabela, sem a necessidade de rolar para baixo. As colunas contendo os dados dos parâmetros que foram envolvidos na otimização estão situadas na extremidade da tabela, e você também pode encontrar um botão que permite pular rapidamente para o início da tabela que está situada na parte superior, à direita da tabela de dados.

Os dados são filtrados e podem ser classificados em ordem decrescente ou crescente. Cada coluna é formatada para facilitar a leitura dos dados exibidos como barras horizontais ou escalas de cores. Vamos agora dar uma olhada em cada botão na parte superior da tabela:

  • DADO DE CONEXÃO. Se você clicar neste botão, uma caixa de diálogo aparecerá pedindo para especificar o caminho do arquivo do dado de importação. A aplicação do LIVRO DE RELATOS é para tentar encontrar um caminho para o diretório comum do terminal.

    Por exemplo, no Windows 7, será: C:\ProgramData\MetaQuotes\Terminal\Common\Files\
    Em Windows XP: C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\Files\

    Se o caminho não é encontrado, ele pode ser especificado pelo usuário.

    (Na sequência da primeira e subsequentes otimizações dos parâmetros da VIA DE NEGOCIAçãO do Expert Advisor) a pasta DOR é criada na pasta de arquivos do diretório comum do terminal, a pasta do EA com o nome de EA é, por sua vez, criada na pasta DOR seguida pela geração de pastas de OPTn na pasta EA (n é o número de uma pasta OPT). Na pasta OPT, o EA gera o DOR.csv que contém os resultados de otimização. Este é o arquivo que precisamos para importar à planilha OptReport.

    Uma tentativa de abrir um arquivo com um nome ou extensão diferente falhará seguido por uma advertência relevante exibida em uma caixa de diálogo.

    Uma tentativa de abrir um arquivo com uma estrutura de dado diferente ou um arquivo de comprimento zero também resultará em uma caixa de diálogo com um aviso relevante. Se o arquivo correto foi selecionado, os dados OptReport atuais serão removidos e substituídos pelos dados do arquivo. Todo o processo leva apenas alguns segundos.


  • DIAGRAMA. Um clique neste botão o levará à planilha de diagramas. Por exemplo, se os dados na coluna lucro da planilha OptReport foram classificados em ordem decrescente, a imagem que você vai ver será mais ou menos da seguinte forma:


    Fig. 17. Dados do resultado da otimização no gráfico

    Fig. 17. Dados do resultado da otimização no gráfico

    Abaixo do gráfico, há uma tabela exibindo a descrição de todos os parâmetros que aparecem no relatório. Os nomes dos parâmetros na coluna da esquerda da tabela estão ligados às colunas relevantes na planilha OptReport. A lista completa dos parâmetros é apresentada a seguir:

    • LUCRO - Lucro líquido no final do teste;
    • NEGÓCIOS TOTAIS - O número de negócios realizados;
    • FATOR DE LUCRO - A relação das negociações de ganhos totais com as de perdas totais;
    • RESULTADO DE COMPENSAÇÃO - A expectativa matemática de ganho;
    • %REL MAX DD DO CAPITAL - Diminuição do capital máx. expressado em porcentagem;
    • FATOR DE RECUPERAçãO - A relação entre o lucro líquido com a diminuição do balanço máx. expressada como um valor monetário;
    • ÍNDICE DE SHARPE - índice da média aritmética de retorno ao período de contenção de uma posição para o desvio padrão a partir dela;
    • DD DO CAPITAL - Diminuição do capital máx. expressado como um valor monetário;
    • DD% DO CAPITAL - Diminuição do capital expressado como uma porcentagem registrada na diminuição do capital máx. expressado como um valor monetário;
    • DD DO CAPITAL RELATIVO - Diminuição do capital expressado como um valor monetário registrado na diminuição do capital máx. expressado como porcentagem;
    • CAPITAL MIN - Capital min.;
    • REL% DD DE BALANçO - Diminuição do balanço máx. expressado em porcentagem;
    • DD DE BALANçO - Diminuição do balanço máx. expressado como um valor monetário;
    • DD% DE BALANçO - Diminuição do balanço máx. expressado como uma porcentagem registrada na diminuição do balanço máx. expressado como um valor monetário;
    • BALANÇO RELATIVO - Diminuição do balanço expressado como um valor monetário registrado na diminuição do balanço máx. expressado em porcentagem;
    • BALANÇO MÍN - Balanço mín.;
    • NÍVEL DA MARGEM MÍN - Valor do nível de margem mín. alcançado;
    • PERDA BRUTA - Perda total, a soma de todas as negociações (perdidas) de perdas;
    • LUCRO BRUTO - Lucro total, a soma de todas as negociações (ganhadoras) lucrativas;
    • CONLOSS MÁX - Perda máx. em negociações de perdas consecutivas;
    • CONPROFIT MÁX - Lucro máx. em negociações de lucros consecutivos;
    • CONLOSSES MÁX - Perda total na série mais longa das negociações de perda;
    • CONWINS MÁX - Lucro total na série mais longa de negociações lucrativas;
    • NEGOCIAÇÃO DE PERDA MÁX - Perda máx. - o maior valor entre todas as negociações de perda;
    • NEGOCIAÇÃO DE LUCRO MÁX - Lucro máx. - o maior valor entre todas as negociações lucrativas;
    • NEGOCIAÇÕES - O número de negócios;
    • NEGOCIAÇÕES CURTAS - Negociações curtas;
    • NEGOCIAÇÕES LONGAS - Negociações longas;
    • NEGOCIAÇÕES DE PERDA - Negociações perdidas;
    • NEGOCIAÇÕES DE LUCRO - Negociações lucrativas;
    • LUCRO DE NEGOCIAÇÕES CURTAS - Negociações de lucro curtas;
    • LUCRO DE NEGOCIAÇÕES LONGAS - Negociações de lucro longas;
    • AVGCON DAS NEGOCIAÇÕES DE PERDA - comprimento médio das negociações de perdas consecutivas;
    • AVGCON DAS NEGOCIAÇÕES DE LUCRO - comprimento médio das negociações de lucro consecutivas;
    • NEGOCIAÇÃO MÁX DE CONLOSS - O número de negócios compondo a perda máx. nas negociações de perdas consecutivas;
    • NEGOCIAÇÃO MÁX DE CONPROFIT - O número de negócios compondo o lucro máx. nas negociações de lucros consecutivos;
    • NEGOCIAÇÃO CONLOSS MÁX - O número de negociações na mais longa série de negociações de perda;
    • NEGOCIAÇÃO CONPROFIT MÁX - O número de negociações na mais longa série de negociações de lucro.

    Acima do gráfico, você pode ver as listas suspensas. A primeira lista permite selecionar um dos três gráficos:

    • O DIAGRAMA OPT.REPORT é um diagrama como mostrado acima. Ele exibe todos os resultados de otimização escritos no arquivo. O gráfico tem dois eixos, de modo que os resultados podem ser visualizados simultaneamente por dois parâmetros. Quando o diagrama está ativo, as listas suspensas com todos os parâmetros são mostradas acima do diagrama à direita.


      Fig. 18. Listas suspensas exibidas acima do diagrama dos resultados de otimização

      Fig. 18. Listas suspensas exibidas acima do diagrama dos resultados de otimização

      Um clique sobre o diagrama leva você para a planilha com seus dados. Neste caso, para OptReport.

    • O DIAGRAMA 3D PIVÔ é um segundo diagrama na lista suspensa. Ele é um diagrama pivô tridimensional.


      Fig. 19. Combinações de parâmetros dos resultados de otimização apresentados no diagrama tridimensional

      Fig. 19. Combinações de parâmetros dos resultados de otimização apresentados no diagrama tridimensional

      Quando este diagrama está ativo, você pode ver as listas suspensas acima dele à direita, onde você pode selecionar os parâmetros envolvidos na otimização (a primeira e a terceira listas) e um dos parâmetros chave (o segundo da lista) para o eixo vertical.

      Fig. 20. Listas suspensas acima do diagrama tridimensional

      Fig. 20. Listas suspensas acima do diagrama tridimensional

      Os controles que permitem rodar o diagrama em torno dos eixos horizontais e verticais estão situados na parte inferior direita do diagrama. Um clique sobre o diagrama irá levá-lo para a planilha OptReport contendo os dados principais, mas você também pode optar ir para a tabela pivô com base no qual o diagrama é traçado. O botão da TABELA PIVÔ no canto superior esquerdo do diagrama leva você à planilha PivotTable retratando a tabela pivô.

      O fato é que cada ponto deste diagrama reflete o resultado cumulativo de todos os resultados com a capacidade de visualizar combinações de parâmetros. Por isso, ele oferece outro recurso útil para uma análise mais detalhada.


      Fig. 21. Tabela pivô associada ao diagrama tridimensional

      Fig. 21. Tabela pivô associada ao diagrama tridimensional

      Esta característica consiste em que, tendo selecionado uma célula que contém os dados de interesse (a tabela pivô mostrada acima), uma planilha TDn é gerada (onde n é o número de uma planilha com o rótulo TD), no qual uma tabela formatada aparecerá contendo todos resultados referentes aos parâmetros como selecionado na tabela pivô. Por exemplo, se você selecionar uma célula com parâmetros 190 e 100, a tabela será gerada, onde todos os resultados correspondem a esses parâmetros. Veja a figura abaixo:


      Fig. 22. Tabela dos resultados de otimização selecionada na tabela pivô dos parâmetros

      Fig. 22. Tabela dos resultados de otimização selecionada na tabela pivô dos parâmetros



    • DIAGRAMA DE TESTE é o terceiro diagrama que mostra o gráfico de balanço de todos os TS envolvidos no teste:


      Fig. 23. Resultado do teste envolvendo todo TS no sistema

      Fig. 23. Resultado do teste envolvendo todo TS no sistema

      Após cada teste, todos os resultados dos testes EA subsequentes são colocados na pasta de TESTES criada na última pasta de otimização OPTn. Cada resultado é registrado em um arquivo separado testN.csv, onde N é o número do arquivo.

      Os resultados do teste podem ser carregados para serem vistos na planilha TestReport. Esta planilha tem os mesmos botões na parte superior da tabela como OptReport. Assim, para carregar os dados, clique no botão CONECTAR DADOS. Além de dados do balanço de TS, os arquivos também contêm um relatório semelhante ao encontrado na guia de Resultados do terminal de negociação. Por conveniência da análise, os dados também são formatados.

      Fig.24. Resultados dos testes nas negociações

      Fig. 24. Resultados dos testes nas negociações


  • MIRA. O botão permite a função de mira a qual é simples e conveniente. A figura acima mostra a MIRA pressionada.

  • MODO DE TELA CHEIA. Como mencionado anteriormente, este botão ativa/desativa o modo de tela cheia.

A aplicação do LIVRO DE RELATOS tem algumas medidas de segurança contra a exclusão acidental de objetos. Ou seja, você não pode selecionar e, consequentemente, excluir qualquer objeto (botões, diagramas, elementos de design).

Todos os menus de contexto do Excel com várias opções as quais nunca seriam utilizadas nesta aplicação foram removidas. No momento, há apenas dois menus de contexto modificados.

  1. O menu de contexto que aparece quando você clica com o botão direito sobre as células. Ela agora tem apenas duas opções: Cópia e Microsoft Word;
  2. Menu de contexto da planilha. As restantes opções disponíveis são: Insert, Cor da aba e Excluir.

A opção Excluir foi reprogramada para que o usuário não possa apagar acidentalmente as principais (utilitárias) planilhas. Uma tentativa de excluir tal planilha resultará em uma mensagem de aviso e a exclusão será rejeitada.


3.1.5. Sistema de gerenciamento de dinheiro

Depois de definir os parâmetros para todos os símbolos e analisar os resultados obtidos, deve configurar as definições para o sistema de gerenciamento de dinheiro.

O gerenciamento de dinheiro refere-se à conta como um todo. De acordo com o método de gestão de dinheiro de taxa fixada proposto por Ryan Jones, antes que você possa acrescentar muito a um número existente de lotes, cada um dos lotes existentes devem "ganhar" um certo número de pontos (o que Jones chamou de "delta"). Por exemplo, temos um depósito de 300 dólares e negociação com 1 mini lote, o delta de, digamos, os mesmos 300 dólares, significaria que aumentaríamos para 2 mini lotes somente quando nós ganharmos (com 1 mini lote que temos) 300 dólares.

Da mesma forma, os lotes serão aumentados para 3 somente depois de 2 mini lotes ganharem o delta de 300 dólares (cada). Ou seja, o aumento de 2 para 3 mini lotes será possível quando nós adicionarmos aos 600 dólares existentes outros 2 С ... $300 = $600, ou seja, quando se tem $1200; a partir de 3 a 4 mini lotes com o depósito de $1200 + ($300 С ... 3) = $1200 + $900 = $2100, etc. Assim, "o número de contratos é proporcional à quantidade necessária para comprar um novo número de contratos", de onde o método deriva seu nome. A diminuição no número de lotes segue o mesmo esquema em sentido inverso.

Podemos, é claro, executar a otimização de parâmetros, mas deixe-nos olhar melhor às configurações manuais. Para um pré-teste, você pode usar o modo Somente preços de abertura ou OHLC em M1.

Os valores dos parâmetros padrões do sistema de gestão de dinheiro são mostrados na tabela abaixo:

PARâMETROS VALOR
Iniciar depósito
10000
Delta
300
Iniciar lote
0,1
Progresso do lote
0,01


Após o teste, o resultado obtido deve ser analisado. O resultado do teste é apresentado na figura abaixo:

Fig. 25. Resultado do teste no modo Cada tick usando o sistema de gestão de dinheiro (variante de definição primária)

Fig. 25. Resultado do teste no modo Cada tick usando o sistema de gestão de dinheiro (variante de definição primária)

O resultado obtido do lucro total não deve tomar muita atenção, uma vez que vai de qualquer maneira ele será mais elevado devido ao sistema de gestão de dinheiro aplicado às séries de negociações com base em dados históricos com parâmetros otimizados.

Os parâmetros de maior importância são a diminuição do depósito máx. relativo ao capital e ao nível de margem mín. O sistema de gestão de dinheiro em EA tem definições bastante flexíveis, de modo que os valores dos parâmetros podem ser configurados para satisfazer negociações tanto conservadoras quanto agressivas. Os parâmetros de diminuição do depósito máx. e o nível de margem mín. são os que dependem dos volumes negociados e do depósito envolvido na negociação.

Para entender melhor este ou qualquer outro sistema, há ainda um outro ponto importante a considerar. O resultado obtido exibido acima sugere que houve uma série de negócios bem sucedidos no início, mas ele não mostra qual diminuição teria havido se a negociação tivesse começado no máximo local que foi subsequentemente transferido para a diminuição máx. Por isso, ele é útil também para definir a data inicial de um teste de máximos locais com as maiores diminuições e usar esses resultados como base para desenhar a sua conclusão final sobre as configurações que seriam adequadas ao sistema de gestão de dinheiro.


3.2. Variante de definição secundária

  • Nesta variante, também vamos atribuir valores diferentes para o Nome do símbolo _ (01,02,03). Vamos fazer um teste com os mesmos símbolos para ser capaz de comparar os resultados com a variante anterior: EURUSD, AUDUSD, USDCHF.

  • Desta vez, defina zero como o valor do parâmetro do Período PCH (total), de tal maneira a comunicação ao programa do período para o indicador de MultiSignals_PCH será exclusivo para todas as estratégias. Para este efeito, o valor será retirado do parâmetro do Período PCH (sub) que se encontra em cada bloco de estratégia de negociação. É possível definir para o indicador seu próprio período de tempo, no entanto, nesta variante, vamos definir o mesmo valor em todos os lugares usando o parâmetro de Prazo (sub) em cada bloco de estratégia de negociação.

  • Toda estratégia terá o seu próprio parâmetro de Tipo de Entrada.

  • Os parâmetros Stop LossTake Profit também são definidos separadamente para cada estratégia.

Abaixo está o esquema do que foi dito acima:

Fig. 26. Variante de definição secundária
Fig. 26. Variante de definição secundária

Vamos agora definir um passo para a otimização de cada parâmetro. Como um exemplo, defina os valores conforme previstos na tabela abaixo. Estes valores devem ser inseridos para todos os símbolos e blocos de estratégia de negociação. O parâmetro de Prazo (sub) será atribuído um valor fixo.

O sistema de gestão de dinheiro deve ser desativado durante a otimização de parâmetros. Ou seja, o parâmetro da ação de ligar/desligar o gerenciamento de dinheiro deve ser definido como falso.

Esta (segunda) variante difere da anterior (primeira), em que o período para o indicador MultiSignals_PCH será escolhido separadamente para cada estratégia, e a otimização de todas as estratégias de negociação serão executadas uma de cada vez. Toda vez, durante a otimização de uma determinada estratégia, todas as outras estratégias devem ser desativadas. Defina o mesmo período de tempo para todos os TS como no teste anterior, ou seja, 8 horas.

Parâmetro Início Passo Parada
Período PCH (sub)
5
1
30
Pontos TP
50
10
800
Pontos SL
50
10
200


Uma descrição detalhada de Regras e parâmetros gerais, Configurações do verificador, Análise dos resultados obtidos, Aplicação do LIVRO DE RELATOS e Sistema de gestão de dinheiro pode ser encontrada na variante de definição primária. Apenas os resultados do teste serão fornecidos aqui.

Após cada otimização, foram selecionados os parâmetros para cada estratégia com base no valor máximo do fator de recuperação.

O resultado cumulativo com um lote fixo (0.1) é mostrado abaixo:

Fig. 27. Resultado do teste no modo Cada tick (variante de definição secundária)

Fig. 27. Resultado do teste no modo Cada tick (variante de definição secundária)

Vamos agora aplicar o sistema de gerenciamento de dinheiro como definido na variante primária para esta série de negociações:

Fig. 28. Resultado do teste no modo Cada tick usando o sistema de gestão de dinheiro (variante de definição secundária)

Fig. 28. Resultado do teste no modo Cada tick usando o sistema de gestão de dinheiro (variante de definição secundária)

Esta variante permite melhor compreender e identificar as peculiaridades de cada grupo de sinais, como a atenção está focada em cada elemento do sistema. Em outras palavras, usando a variante secundária, você pode ver todo o mecanismo interno do sistema e se o teste revela um ponto fraco de qualquer parte dele, você pode tentar mudar certos parâmetros ou removê-los completamente. Esta é a vantagem oferecida pela variante secundária.


3.3. Possíveis definições de variantes

O EA é desenvolvido de tal forma que ele não se limita apenas às variantes anteriores. Por exemplo, você pode inserir o nome de um símbolo no _ parâmetro Nome do símbolo (01,02,03) e um símbolo de negócio utilizando doze estratégias de negociação. Os parâmetros de estratégias de negociação por sua vez podem ser configurados para utilizar intervalos de tempo diferentes. Ou um período de tempo, mas períodos de indicadores diferentes. O mesmo se aplica aos níveis Stop Loss e Take Profit. Se Take Profit ou Stop Loss está desativado, a subposição será fechada com base em um sinal de reversão ou Stop Loss/Take Profit.

Você pode tentar definir o sistema sem o uso dos níveis de Stop Loss/Take Profit, assim, simplesmente tornando-os reverso. Neste caso, o EA recorrerá ao mecanismo seguinte. O bloco de sinais de abertura e inversão de uma posição continua sendo os mesmos, tal como descrito nas Condições do sistema de negociação acima. Ele também cobre o fechamento de uma posição se o preço está deslizando para a zona deficitária. A lista abaixo apresenta os sinais de saída em caso de não haver ordem pendente do tipo Stop Loss, na mesma sequência, como nas condições de abertura subposições:

  1. O upcrossing do nível H_PCH para fechar uma subposição de VENDA / diminuição do nível L_PCH para fechar uma subposição de COMPRA.
  2. O upcrossing do nível H_PCH para fechar uma subposição de VENDA / diminuição do nível L_PCH para fechar uma subposição de COMPRA.
  3. O upcrossing do nível M_PCH para fechar uma subposição de VENDA / diminuição do nível M_PCH para fechar uma subposição de COMPRA.
  4. O upcrossing do nível M_PCH para fechar uma subposição de VENDA / diminuição do nível M_PCH para fechar uma subposição de COMPRA.

A primeira e segunda condições são iguais. A terceira e quarta condições são iguais. Os testes em vários prazos revelou que estas são as condições mais adequadas para a saída se não houver ordem pendente do tipo Stop Loss. Ao abrigo deste regime, se um Stop Loss real é usado como uma "almofada de segurança" (Stop Loss/Take Profit pelos parâmetros de desconexão (p)), ele é definido como o número de pontos especificado neste parâmetro, desde que não haja mais ordens pendentes associadas a outras subposições.

Se o preço se aproxima/afasta do Stop Loss real pelo ВЅ do número de pontos especificados, se não há mais ordens pendentes associadas a outras subposições, o Stop Loss é modificado. Isto é, ele se move com o preço de um determinado número de pontos quando o preço recua, e se afasta do preço quando ele se aproxima. As ações de Take Profit são da mesma forma mesmo se uma ordem pendente do tipo Take Profit não está especificada nas configurações de uma determinada estratégia. O princípio da criação de uma "almofada de segurança" para o modo completo foi descrito nas Condições do sistema de negociação acima.

A negociação pode ser definida por um intervalo de tempo específico separadamente para cada símbolo. Pode muito bem ser que a negociação de certos símbolos seja melhor em determinadas horas. Existe também uma possibilidade para fechar todas as posições, no final do dia ou de uma semana. O encerramento de uma posição no fim de um determinado intervalo de tempo é também disponível em modo semi-automatizado. Isso será considerado em mais detalhes nos RELóGIOS DAS SESSõES DE NEGOCIAçõES abaixo.

Além disso, você pode simplesmente otimizar os parâmetros para o indicador e trocar manualmente usando sinais indicadores. Há com certeza negociantes que, por uma razão ou outra, preferem negociar manualmente e cujos pontos de vista e interesses também foram levados em conta. A negociação manual em EA é feita através de um painel de negociação conveniente no qual as informações adicionais serão fornecidas no Painel de informação de negociação no lado esquerdo do gráfico.


4. Teste no modo de visualização

O modo de visualização disponível no Verificador de estratégia certamente vale a pena ser mencionado aqui.

Esta ferramenta tem atualmente algumas limitações, mas espero que os desenvolvedores trabalhem em seu aperfeiçoamento. No momento, apesar das limitações, o modo de visualização oferece uma experiência mais informativa começando com um determinado programa.

Essa abordagem também é útil no desenvolvimento e depuração de programas complexos. A figura abaixo mostra quais ferramentas podem ser adicionadas a análise da situação atual durante o teste:

Fig. 29. Painéis de informações no modo de visualização

Fig. 29. Painéis de informações no modo de visualização

O lado esquerdo do gráfico contém dados sobre a última barra concluída, hora atual do servidor e os dias da semana. O lado direito do gráfico fornece uma tabela de subposições abertas para todos os símbolos e estratégias que exibem volumes de subposição, sinais de compra/venda, e o preço em que a última negociação de uma estratégia particular foi executada.

Na parte inferior, você pode ver os parâmetros do sistema de gestão de dinheiro e o volume de lote atual, bem como a diminuição atual, o risco total, a parada do comércio e os níveis de SL/TP ("almofada de segurança") definidos. Mais informações sobre esses parâmetros serão fornecidas na próxima seção de Interface e controles.


5. Interface e controles

A primeira carga de EA ao gráfico desencadeia a geração de variáveis ​globais do terminal que ainda serão utilizadas pelo EA. Há um bom número delas (46). Se você tentar excluir alguma delas ou todas de uma vez, o EA irá restaurá-las com os valores padrões.

Um painel de informações de negociação aparecerá no lado direito do gráfico, e o esquema de cores, conforme especificado no parâmetro de esquemas de cores, serão aplicados a este último. Você pode selecionar qualquer esquema de cor a partir das oito cores disponíveis (em cores claras ou escuras).

A entrada de preço do lado direito do gráfico é ajustada automaticamente quando o EA é carregado ao gráfico ou quando a largura do gráfico é modificada, então tal preço não é apagado pelo painel. Isto aparecerá como mostrado na figura abaixo:

Fig. 30. O gráfico seguido do carregamento do EA

Fig. 30. O gráfico seguido do carregamento do EA


6. Painéis de informações de INFORMAÃãO DE NEGOCIAÇÃO E GESTÃO DE DINHEIRO

O painel de informações de negociações situado no lado direito do gráfico é composto por dois blocos: Informações de negociações e gestão de dinheiro. À esquerda e à direita do nome do bloco, na parte superior do bloco de informação de negociações, você pode ver os seguintes ícones (listados da esquerda para a direita): Painel esquerdo, indicador de advertência e ocultação de todos os painéis. Quando você passa o cursor sobre um ícone, uma sugestão de ferramenta aparece e o ícone muda a aparência (a cor verde é substituído pela cor branca ambiente).

Um clique no ícone do painel esquerdo abre um painel de negociação no lado esquerdo do gráfico, que será descrito mais adiante. Juntamente com a abertura do painel de negociação, um ícone do painel inferior esquerdo/painel superior esquerdo será exibido próximo ao ícone do painel esquerdo. Ele retrata uma seta triangular mostrando a direção em que o painel se moverá após o clique no ícone.

Se não há nada que impediria a negociação, o ícone indicador de aviso é verde (luz verde). Se algo bloqueia a negociação, o ícone indicador de aviso apresenta a cor vermelha (a luz vermelha). A luz vermelha pode ser apresentada devido as razões listadas abaixo:

  • Sem conexão com o servidor;
  • O Expert Advisor não é permitido à negociação;
  • O terminal não é permitido à negociação;
  • A negociação não é permitido à conta corrente;
  • A negociação usando Expert Advisors não é permitida à conta corrente.

Se você clicar no ícone do indicador de aviso quando a luz estiver vermelha, uma mensagem será exibida no lado esquerdo do gráfico indicando a razão pela qual a negociação está bloqueada. A figura abaixo ilustra o evento onde o Expert Advisor atualmente não é permitido ao negociar (opção terminal). A mensagem pode ser removida clicando no ícone do indicador de aviso.

A aparência de seus painéis pode ser aprimorada por tais efeitos, como a adição de uma sombra projetada em um painel ou qualquer outro efeito, em qualquer editor de gráficos usando um canal alfa.

Fig. 31. Mensagem informando a razão pela qual a negociação está bloqueada

Fig. 31. Mensagem informando a razão pela qual a negociação está bloqueada

Um clique no ícone de ocultação de todos os painéis minimiza todos os painéis abertos, deixando o botão MOSTRAR no canto inferior direito do gráfico ativo, que pode ser posteriormente clicado para maximizar rapidamente o espaço de trabalho personalizado anteriormente:

Fig. 32. Botão MOSTRAR

Fig. 32. Botão MOSTRAR

O painel de informações de negociações apresenta uma lista de alguns parâmetros de negociação. Aqueles que contêm uma função são mostrados na cor MediumSeaGreen. Ou seja, se você clicar no nome do parâmetro, a função que ele contém será realizada e o nome ficará azul. E vice-versa, se o nome azul é clicado, tudo leva sua forma inicial.

A tabela abaixo fornece uma descrição detalhada dos parâmetros do painel de informações de negociações e suas funções:

Lista dos parâmetros do painel de INFORMAÇÕES DE NEGOCIAÇÕES
Capital da conta ($)
Nível do capital atual. Se ele é maior que o balanço, o valor é mostrado em verde. Se ele é menor que o balanço, o valor é mostrado em vermelho.
Posições totais
Número de posições no tempo atual.
Ordens totais
O número de ordens pendentes no tempo atual.
Carregamento do depósito (%)
A quantidade de capital usado nas negociações, expressado com porcentagem.
~Risco total/lucro real (%)
O risco total/lucro real do depósito. Estas são quantidades calculadas do capital que pode ser perdido no pior dos casos. O valor é aproximado uma vez que as ordens pendentes entre o preço de abertura de posição e o nível de Stop Loss real não são levados em conta. Se o cálculo foi feito com a devida consideração das ordens pendentes, o risco seria menor já que o sistema de negociação estabelece ordens pendentes entre o preço de abertura e o nível Stop Loss atuando como níveis protetores de outras subposições. Se o Stop Loss real parece ser maior do que o preço de abertura, o parâmetro indica um lucro real protegido e é exibido em verde. Por padrão, ele é expressado como uma porcentagem. Se você clicar sobre o nome, o parâmetro será exibido como um valor monetário e seu nome ficará azul. Um clique sobre o nome azul restaurará tudo em sua forma inicial.
Tamanho de lotes atuais
Tamanho de lote de negociação atual usado no modo de negociação automática.
Nível de parada (p)
Ele mostra o valor do nível de parada sobre o símbolo atual, expressado em pontos. Se você clicar sobre o nome, a sua cor vai mudar e as linhas traçadas e de ponto horizontais que representam os níveis do nível de parada aparecerão no gráfico. Os níveis se movem juntamente com o preço.
Nível de congelamento (p)
Ele mostra o valor do nível de congelamento para o símbolo atual, expressado em pontos.
Spread flutuante (p)
Ele mostra o valor do spread no instrumento atual. Se o spread está flutuando, o spread flutuante será exibido, caso contrário só o spread. Ao clicar sobre o nome, a linha de pergunta será adicionada/removida do gráfico.
Conversão longa (p)
Conversão de posição longa do símbolo atual.
Conversão curta (p)
Conversão de posição curta do símbolo atual.


O parâmetro do bloco de gestão de dinheiro é facilmente descrito sem o uso da tabela. O bloco de gestão de dinheiro é dividido em três partes. A parte superior contem duas colunas: BALANÇO e VOLUME. A coluna BALANÇO exibe níveis de balanço em que o volume do lote negociado será aumentado ou diminuído, se o sistema de gestão de dinheiro estiver habilitado (verdadeiro). A coluna VOLUME exibe o volume pelo qual o lote será aumentado/diminuído. Se o sistema tiver caído para o lote mínimo, uma mensagem em vermelho vai substituir o volume, por exemplo: Não é menor que 0.01. Se o sistema de gestão de dinheiro está desativado (falso), todos os valores nesta parte do bloco serão zero.

Os parâmetros do sistema de gestão de dinheiro são exibidos na parte central do bloco de gestão de dinheiro. A descrição dos parâmetros foi dada acima na tabela de descrição dos parâmetros de EA. Os valores destes parâmetros não mudam no decorrer da negociação e só podem ser alterados nos parâmetros externos do EA.

Na parte inferior do bloco de gestão de dinheiro, você pode ver os parâmetros relacionados com a gestão de riscos. A sua descrição também podem ser encontrada na tabela de descrição dos parâmetros de EA acima. Devemos notar aqui que a parte direita do valor do capital de diminuição máx. (%) após reduzir drasticamente é o limite definido, enquanto a parte esquerda antes da redução drástica reflete a diminuição da conta atual em relação ao capital.

Uma vez que a definição do limite de diminuição da conta é atingido, todas as posições são fechadas e as ordens pendentes, se houver, são removidas. Quando o limite de diminuição é atingido, o valor do parâmetro é exibido em vermelho. Por exemplo: ! 22.01/20.00 !. Isto significa que o limite de diminuição foi definido em 20%, enquanto que a diminuição atual já é de 22%.

O valor de parada de negociação pela margem livre ($) também leva a cor vermelha se após a compra/venda os fundos disponíveis indicados no parâmetro do tamanho de lotes atual, no bloco de informações de negociações, vir a ser menor ou igual ao valor definido. Por exemplo: ! 5000 !. A EA não vai executar negociações até que os fundos sejam suficientes para a execução dessas operações comerciais.

O valor do último parâmetro na lista, SL/TP por desconexão (p), mostra o número de pontos definidos na EA ou o texto FALSO, que significa que este parâmetro é desativado se ele estiver definido como zero na EA. Se o parâmetro for definido como zero, as posições serão abertas sem os reais Stop Loss e Take Profit.

Dito isso, se nenhum Stop Loss é definido para uma posição, o valor do ~risco total/lucro real (%) no bloco de informação de negociação terá ! 100.00 ! sugerindo que todo o depósito está em risco (100%). Se o parâmetro for configurado para exibir um valor monetário, ou seja, ~risco total/lucro real (%), ele mostrará o nível atual do capital. Por exemplo: ! 7698,54 !.


7. Painel de informação de negociação no lado esquerdo do gráfico

Agora, vamos dar uma olhada no painel de informações de negociação que aparece no lado esquerdo do gráfico uma vez que o ícone do painel esquerdo é clicado no bloco de informação de negociação. Existem cinco ícones à esquerda do título do painel que podem ser usados para mover a outra unidade do painel.

  • Sistema de parâmetros;
  • Relógios das sessões de negociação;
  • Negociação manual;
  • Desempenho da negociação;
  • Informação de símbolos/conta.

Vamos passar detalhadamente por cada um deles.


7.1. SISTEMA DE PARÂMETROS

Quando você tem o sistema de parâmetro ativado, o painel parecerá como mostrado abaixo:

Fig. 33. SISTEMA DE PARâMETROS

Fig. 33. SISTEMA DE PARÂMETROS

A tabela apresentada consiste em sete colunas. Os cabeçalhos das colunas que não contém quaisquer funções são exibidas em amarelo. Os cabeçalhos das colunas que contêm as funções são exibidas em cor MediumSeaGreen.

Se um determinado símbolo não é permitido ser negociado, todo o bloco de estratégia comercial será exibido em cinza. Se um determinado símbolo é permitido ser negociado enquanto certas estratégias de negociação não tem permissão para serem usadas em negociações, apenas as estratégias que não estão autorizadas serem utilizadas na negociação terão cor cinza.

  • SÍMBOLOS. A primeira coluna contém os nomes dos símbolos negociados pela EA. Uma vez que todos os símbolos podem ser negociados utilizando quatro grupos de sinais/estratégias, a tabela é disposta de modo que seja intuitiva e fácil de usar. Isto é, traços sob os símbolos significam que uma determinada estratégia está associada com o símbolo indicado acima. Um clique sobre o nome do símbolo leva você ao mesmo nome de símbolo. O período de tempo que aparecem pela primeira vez para um determinado símbolo, ou seja, na mesma linha, será definido por padrão. O símbolo atual fica azul. O bloco de toda estratégia de negociação relacionado com um determinado símbolo é realçado. Ele pode ser claramente visto na figura acima (o símbolo atual é AUDUSD).

  • Fig. 34. As linhas horizontais que demonstram a associação de ordens pendentes com uma determinada TS MOSTRAR ORDENS. A segunda coluna mostra quais estratégias foram utilizadas ao abrir subposições, seus volumes e direção. Se não houver subposições, você verá a palavra VAZIO sendo exibida. Se houver uma subposição aberta, o seu volume será mostrado. A direção é identificada pela cor. O volume de posições longas (Long) é mostrado em verde (por exemplo: 0.05), para as posições curtas (Short) em vermelho (por exemplo: 0.02). Esta coluna também possui caixas de seleção que podem ser verificadas para ver quais ordens pendentes estão associadas a uma determinada subposição. Depois de verificar a caixa correspondente de uma determinada subposição, as linhas horizontais sólidas aparecerão sob as respectivas ordens pendentes e o ponto de entrada desta subposição será exibido como uma linha traçada e pontilhada vertical da mesma cor. Você pode verificar todas as caixas ao mesmo tempo. As linhas são difíceis de serem confundidas, como cada grupo de ordens tem sua própria cor. Veja a figura à direita.
    As caixas de seleção não são apagadas quando você vai para um outro símbolo. Uma vez que você volta, as linhas reaparecem no gráfico, desde que as caixas tenham sido verificadas antes. Se uma determinada posição ficar fechada, as linhas relacionadas a este subposição são removidas pelo EA do gráfico e a caixa de seleção é desmarcada e apagada. O cabeçalho desta coluna é clicável. Ou seja, se não há nenhuma caixa marcada, o nome será exibido em cor MediumSeaGreen. Se houver pelo menos uma caixa marcada, o nome terá cor azul.

  • TIPO DE SINAL/ESTRATÉGIA DE NEGOCIAÇÃO. A terceira coluna mostra quais sinais/estratégias de negociação foram selecionados nos parâmetros de EA. Se você clicar no nome de um sinal, um indicador será aplicado ao gráfico com base no qual os sinais de negociação para uma determinada estratégia são gerados e o nome será exibido em azul. Se você clicar em um outro nome de sinal quando um determinado indicador já foi aplicado ao gráfico, esse indicador será substituído por aquele que foi clicado. No gráfico, você verá o símbolo e intervalo de tempo necessário para a aplicação de um determinado indicador ao gráfico.

  • PRAZO. Esta coluna (a quarta), exibe intervalos de tempo sobre os quais os sinais de negociação de uma determinada estratégia são formados. Um clique no nome de um intervalo de tempo leva-o para esse intervalo de tempo específico e o nome do mesmo toma a cor azul. Todos os nomes com o mesmo período de tempo no bloco/símbolo atual também se tornarão azul. Se você clicar no nome de intervalo de tempo situado em outro bloco/símbolo, o símbolo atual também será alterado. Se um indicador foi aplicado ao gráfico quando um nome de intervalo de tempo foi clicado, o indicador mudará para coincidir com o símbolo, intervalo de tempo e estratégia.

  • PERÍODO DO INDICADOR. A quinta coluna mostra períodos de indicadores definidos nos parâmetros externos de EA. Se um indicador é aplicado ao gráfico, o período será exibido em azul. Você pode ver caixas de seleção próxima aos períodos. Se você marcar as caixas correspondentes aos intervalos de tempo e símbolos, que são atualmente necessários para a análise e, em seguida, clicar no cabeçalho da coluna, uma subjanela aparecerá na parte inferior do gráfico mostrando vários gráficos desses símbolos e períodos de tempo, conforme selecionado. O cabeçalho será exibido em azul. Se um indicador foi aplicado ao gráfico, os respectivos indicadores também serão aplicados a todos os gráficos da subjanela. Se um determinado indicador é removido pelo clique sobre o nome do sinal na coluna TIPO DE SINAL/ESTRATÉGIA DE NEGOCIAÇÃO, os indicadores também serão removidos de todos os gráficos da subjanela. O mesmo é válido quando você deseja aplicar um indicador. Pela marcação/desmarcação das caixas, enquanto o cabeçalho da coluna está azul, os respectivos gráficos serão adicionados/removidos da subjanela. A subjanela pode ser minimizada se você clicar sobre o cabeçalho enquanto ele está azul. Na verdade, ele será excluído, mas todas as caixas de seleção permanecerão intactas e você será capaz de facilmente restaurar a área de trabalho a qualquer momento. O tamanho da subjanela não é fixo, você pode mudar sua altura, arrastando manualmente o limite superior como na grande maioria dos indicadores que são exibidos nas subjanelas. Se a subjanela ou a janela do programa é redimensionada, a posição dos gráficos da subjanela será ajustada de modo que eles sempre se encaixem na subjanela sem se sobreporem uns aos outros. Se todas as caixas são marcadas ao mesmo tempo a subjanela consequentemente apresentará todos os gráficos. Um clique sobre um gráfico da subjanela irá levá-lo para o símbolo/intervalo de tempo na janela principal mostrada em um gráfico da subjanela. Se você aumentar/diminuir o zoom no gráfico pressionando as teclas +/-, a escala de todos os gráficos da subjanela também será alterada consequentemente.

    Para trabalhar confortavelmente com o EA, você deve ter pelo menos um monitor de 15”.

    Devem ser especificados alguns instrumento: o intervalo de tempo e os parâmetros do indicador, após o recebimento do identificador do indicador. Uma vez que a exibição de todos os sinais é definida nos parâmetros externos do indicador, dependendo de quais sinais foram selecionados nas definições do EA, nós especificamos os respectivos ajustes após o recebimento dos identificadores, obtendo assim, a possibilidade de observar nos gráficos da subjanela apenas os sinais que são usados​em uma determinada estratégia.

Fig. 35. Múltiplos gráficos na subjanela

Fig. 35. Múltiplos gráficos na subjanela


  • TAKE PROFIT. A sexta coluna mostra os valores de Take Profit definidos nos parâmetros externos de EA. Se um determinado bloco de parâmetros de uma estratégia requer que o Take Profit não seja usado (SEM TAKE PROFIT), o texto correspondente aparecerá na tabela do painel do sistema de parâmetros, por exemplo, SEM TP.

  • STOP LOSS. A sétima coluna mostra os valores de Stop Loss. Ele é exibido com base no mesmo princípio como descrito em Take Profit. Se nenhum Stop Loss está definido, SEM SL será indicado na tabela.


7.2. RELÓGIOS DAS SESSÕES DE NEGOCIAÇÃO

Ao mover os relógios das sessões de negociações, o painel muda a aparência como mostrado abaixo:

Fig. 36. RELóGIOS DAS SESSõES DE NEGOCIAçãO

Fig. 36. RELÓGIOS DAS SESSÕES DE NEGOCIAÇÃO

Aqui, você pode ver os valores dos parâmetros definidos nos parâmetros externos do EA. Uma breve descrição destes parâmetros pode ser encontrada na tabela Descrição dos parâmetros de EA. Deve notar-se que a maior prioridade é atribuída à opção de INTERVALO DE TEMPO LIGADO/DESLIGADO para negociação dentro do intervalo de tempo definido. Ou seja, se todas as opções de tempo para um determinado símbolo são ativadas, o EA será guiado pelo INTERVALO DE TEMPO LIGADO/DESLIGADO.

Todas as posições no final deste intervalo de tempo serão fechadas e as ordens pendentes associadas com as subposições fechadas serão retiradas. A próxima opção na ordem de prioridade é FECHAR NO FINAL DO DIA, destinado ao fechamento de posições no final do dia. O EA vai negociar com base nesta opção, se ambas as opções para o fechamento de posições no final do dia e no final da semana (FECHAR NO FINAL DA SEMANA) estão ativadas ao mesmo tempo. As posições serão fechadas ao final da semana somente se os parâmetros de INTERVALO DE TEMPO LIGADO/DESLIGADO e FECHAR NO FINAL DA SEMANA estão definidos como FALSO. Esses recursos estão disponíveis tanto nos modos automáticos  como nos semiautomáticos do EA.

Usando o modo de intervalo de tempo, você pode definir o tempo para iniciar a negociação (INICIAR NEGOCIAÇÃO), tanto mais tarde (em horas), quanto mais cedo do que o momento em que todas as negociações pararão (FINAL DA NEGOCIAÇÃO), e todas as posições serão fechadas. isto é, se o valor INICIAL DA NEGOCIAÇÃO é 10 horas e o FINAL DA NEGOCIAÇÃO é 23 horas, e o EA começará procurando por sinais de um determinado símbolo as 10 horas da manhã, e se uma posição permanecer aberta até 23 horas, e ele será fechado às 11 horas da noite e todas as ordens pendentes serão removidas.

O EA não fará mais tentativas de abrir uma posição para este símbolo até às 10 horas da manhã. Se o tempo inicial da negociação é definido às 22 horas e o tempo final é definido às 16 horas, e o EA começará a negociação às 22 horas do dia em curso e final às 16 horas do próximo dia.

Fig. 37. A escala de tempo no caso do primeiro valor é maior que o segundo

Fig. 37. A escala de tempo no caso do primeiro valor é maior que o segundo

Na parte inferior do painel dos relógios das sessões de negociação, você pode ver a hora média de Greenwich (TMG), a hora local e o horário do servidor. Se não houver nenhuma conexão com o servidor, traços vermelhos serão exibidos em vez da hora do servidor: -- : -- : -- .

O símbolo atual no gráfico pode ser alterado clicando no nome do símbolo na coluna SÍMBOLOS. O valor do intervalo de tempo será tomado a partir da estratégia listada primeiramente para um determinado símbolo.


7.3. NEGOCIAÇÃO MANUAL

A negociação manual é destinada para a negociação manual e semiautomática, e é dividida em várias seções que você pode alternar entre, clicando em seus nomes na coluna de OPERAÇÃO COM POSIÇÃO & ORDENS:

  • Comprar/vender/reverter;
  • Fechar posições;
  • Definir ordens pendentes;
  • Modificar ordens/posições;
  • Deletar ordens pendentes.


7.3.1. Seção de COMPRA/VENDA/REVERSÃO

A negociação manual com a seção de compra/venda/reversão permitida é mostrada abaixo:

Fig. 38. NEGOCIAçãO MANUAL, seção de COMPRA/VENDA/REVERSãO

Fig. 38. NEGOCIAÇÃO MANUAL, seção de COMPRA/VENDA/REVERSÂO

Opções (botões) disponíveis nesta seção servem para comprar, vender e reverter uma posição para o símbolo atual. Abaixo das opções, você pode ver a caixa para introduzir os valores de Stop Loss (SL), Take Profit (TP) e Lot (LT). Se você introduzir valores zero nas caixas de SL/TP e tentar comprar/vender, a posição será aberta sem Stop Loss/Take Profit. O valor zero pode ser rapidamente inserido, basta clicar sobre o nome correspondente a uma determinada caixa de entrada. Se você clicar na caixa de entrada de nome LT, o lote mínimo possível para esse instrumento será definido.

Um clique sobre um dos botões habilita o modo de espera e ajuste. A cor do botão mudará (se tornará mais escura), e se os valores de SL/TP não são zero, os níveis horizontais aparecerão no gráfico correspondente aos níveis de preços onde o Stop Loss/Take Profit foram definidos. O botão INICIAR aparecerá no canto direito superior do painel (esta regra se aplica às opções de todas as sessões). Um operação de negociação é executada usando este botão. O procedimento será tratado com maiores detalhes mais tarde, após a descrição de outras opções do painel, como eles são um pouco interrelacionados.

As opções auxiliares estão situados na parte inferior da seção de compra/venda/reversão:

  • Seguir o preço: esta opção tem duas variantes para serem escolhidas - tanto a de ajustar os níveis de definições quanto para ajustar os valores em caixas de entrada relativas aos níveis;
  • Níveis: se esta variante é selecionada, os níveis horizontais, de acordo com os quais Stop Loss/Take Profit serão definidos, seguirão o preço a fim de manter sempre a distância especificada nas caixas de entrada; 
  • Edição de valor: se esta variação for selecionada, as linhas horizontais não se moverão, no entanto, dependendo da distância do preço aos níveis, se alguma for definida, os valores inseridos nas caixas de entrada serão ajustados; 
  • Ordens do intervalo de definição: esta opção é projetada para uma situação em que você precisa ver no gráfico todas as negociações e níveis horizontais com base nas ordens que serão realizadas, sem ter que usar o ajuste manual da escala de preços vertical. Os ajustes são feitos em um clique. O máximo e o mínimo do gráfico de preços são definidos da seguinte forma: o nível mais alto mais 5 pontos, o nível mais baixo menos 5 pontos, respectivamente. Se há uma subjanela com vários gráficos que mostram que há posições abertas e/ou ordens pendentes para certos símbolos, o ajuste da escala vertical será aplicado a esses também;
  • TP/SL como posição: esta opção ajuda a automatizar o processo de definição e modificação de Stop Loss/Take Profit para ordens pendentes. Ou seja, se uma ordem pendente está sendo definida enquanto existe uma posição aberta para este símbolo, com o conjunto de Stop Loss e/ou Take Profit, o Stop Loss/Take Profit para a ordem pendente será definido nos mesmos níveis como para a posição. Se você marcar a caixa, os níveis de Stop Loss/Take Profit serão definidos mesmo que não forem especificados no pedido. Em outras palavras, você não precisa gastar tempo em ajustes que exigem pronta execução das operações. O MetaTrader 5 oferece uma ferramenta padrão para a modificação de ordens pendentes de Stop Loss/Take Profit, simplesmente carreando os níveis com um mouse. Esta ferramenta pode ser ativada/desativada nas configurações do terminal -> guia de gráficos -> carreamento de níveis de comércio. Se estiver habilitada, juntamente com a opção TP/SL como posição do EA, o EA também vai assistir a modificação de ordens pendentes/Stop Loss/Take Profit. Ou seja, ao simplesmente carrear um certo nível de negociação, o EA em todos os casos ajustará os níveis Stop Loss e Take Profit de todas as ordens pendentes;
  • Nomes dos níveis: esta é uma opção simples para definir o modo de exibição de nomes e valores de preços dos níveis horizontais.

Vamos dar uma olhada em uma situação ilustrada no gráfico de preço abaixo e, ao mesmo tempo, rever a modificação dos níveis horizontais antes de executar uma negociação, por exemplo, de COMPRA com os níveis de Stop Loss e Take Profit.

Fig. 39. Uso ilustrado das ordens do intervalo de definição

Fig. 39. Uso ilustrado das ordens do intervalo de definição

A figura acima (animada) mostra que o botão de COMPRA está pressionado (ele tornou-se muito mais escuro, e o botão de INICIAR apareceu no canto superior direito). Agora você pode ver as linhas horizontais no gráfico: a linha vermelha - Stop Loss e a linha verde - Take Profit. Se a opção de ordens do intervalo de definição está desativada, o nível de Take Profit não é visível no gráfico (a linha apareceu, mas além da visibilidade da janela). Se você ativar as ordens do intervalo de definição, a altura do gráfico será ajustada de modo que todos os níveis sejam visíveis.

Pelo carreamento dos níveis horizontais, os valores nas caixas de entrada e a altura do gráfico, em relação aos níveis, são ajustados automaticamente se a opção de ordens do intervalo de definição está habilitada. Os níveis também podem ser alterados por introdução de valores nas caixas de entrada. Se você tentar definir uma linha horizontal dentro dos níveis de parada de nível, o EA vai empurrá-lo para fora destes níveis (esta regra se aplica a todas as seções). Você só precisa pressionar INICIAR e uma posição será aberta, desde que não haja nenhum outro impedimento, e o botão INICIAR será posteriormente removido.

O exemplo acima diz respeito a situações em que não existe uma posição para o símbolo corrente. O botão REVERSÃO, neste caso, está indisponível. Ou melhor, se você clicar nele, você vai ouvir um som de erro, o botão não será pressionado e o botão INICIAR não aparecerá. Se, no entanto, já existe uma posição aberta, o botão de REVERSÃO é projetado para reverter a posição no mesmo volume, mantendo os mesmos níveis de Stop Loss e Take Profit, se houverem.

Os botões de COMPRA e VENDA também podem ser usados para aumentar/diminuir o volume da posição atual, enquanto simultaneamente modifica a posição adicionando níveis de Stop Loss/Take Profit se eles não foram definidos antes. Você também pode fechar ou reverter uma posição usando esses botões. Podem haver, na verdade, uma variedade de possíveis combinações de operações comerciais.



7.3.2. Seção de POSIÇÕES FECHADAS

Fig. 40. NEGOCIAçãO MANUAL; seção de POSIçõES FECHADAS

Fig. 40. NEGOCIAÇÃO MANUAL; seção de POSIÇÕES FECHADAS

A seção de posições fechadas disponível no manual de negociação contém opções para o fechamento de posições:

  • TODOS OS LUCROS ÚNICOS: fecha todas as posições que atualmente estão ganhando;
  • TODAS AS PERDAS ÚNICAS: fecha todas as posições que atualmente estão perdendo;
  • EM TODOS OS SÍMBOLOS: fecha posições para todos os símbolos;
  • EM SÍMBOLOS ATUAIS: fecha uma posição somente para o símbolo atual.


7.3.3. Seção de DEFINIÇÃO DE ORDENS PENDENTES

Fig. 41. NEGOCIAçãO MANUAL: seção de DEFINIçãO DE ORDENS PENDENTES

Fig. 41. NEGOCIAÇÃO MANUAL: seção de DEFINIÇÃO DE ORDENS PENDENTES

As opções desta seção permitem trabalhar com ordens pendentes. Como na seção de compra/venda/reversão, existem caixas de entrada para Stop Loss (SL), Take Profit (TP) e Lot (LT). Além disso, existem caixas de entrada:

  • Para uma ordem pendente (PO);
  • Para um nível que, uma vez alcançado, desencadeará a definição de uma ordem pendente de preço de execução (EP) do tipo LIMITE DE PARADA DE COMPRA/VENDA;
  • Para definição simultânea de um grupo de ordens pendentes (+PO);
  • Para o espaçamento (ESPAçO) entre as ordens quando definidas como um grupo (SP).

As principais regras de modificação foram estabelecidas na descrição da seção de compra/venda/reversão. Além disso, deve-se notar que o EA não vai permitir definir os níveis de negociação de forma incorreta. Eles vão sempre ser ajustados em qualquer tentativa de definí-los da maneira errada, de acordo com as regras de negociação.

Um exemplo de definição de um grupo de ordens pendentes é dado na figura abaixo.

Note que o valor inserido na caixa de entrada (+PO) é de 12, mas o EA ajusta o número no gráfico, um nível Take Profit deve ser definido. Ao arrastar o nível Take Profit, o número de níveis de ordens no gráfico será mudado.

Fig. 42. Definindo o número especificado de ordens pendentes

Fig. 42. Definindo o número especificado de ordens pendentes


7.3.4. Seção de MODIFICAÇÃO DE ORDENS/POSIÇÕES

Esta seção contém opções que ajudam a modificar rapidamente as posições abertas anteriormente. Ela é como mostrado na figura abaixo:

Fig. 43. NEGOCIAçãO MANUAL; seção de MODIFICAçãO DE ORDENS/POSIçõES

Fig. 43. NEGOCIAÇÃO MANUAL; seção de MODIFICAÇÃO DE ORDENS/POSIÇÕES

Se nenhum nível de Stop Loss/Take Profit é definido para uma posição existente, ele pode ser configurado usando as opções de TAKE PROFIT/STOP LOSS. Se uma posição já possui os níveis de Stop Loss/Take Profit, eles podem facilmente ser modificados usando as linhas horizontais que aparecem quando os botões correspondentes são pressionados.

Usando a DEFINIÇÃO DE STOPLOSS PARA BREAKEVEN, você pode modificar as posições cujo lucro é maior ou igual ao número de pontos especificado na caixa de entrada SE O LUCRO >=.


7.3.5. Seção de DELEÇÃO DE ORDENS PENDENTES

Na seção de deleção de ordens pendentes, você pode encontrar opções para uma exclusão rápida de ordens pendentes.

Fig. 44. NEGOCIAçãO MANUAL: seção de DELEçãO DE ORDENS PENDENTES

Fig. 44. NEGOCIAÇÃO MANUAL: seção de DELEÇÃO DE ORDENS PENDENTES

  • TUDO EM TODOS OS SÍMBOLOS: deleta todas as ordens pendentes para todos os símbolos;
  • TUDO NO SÍMBOLO ATUAL (CS): deleta todas as ordens pendentes para o símbolo atual;
  • PARADA DE COMPRA (CS): deleta todas as ordens pendentes do tipo parada de compra para o símbolo atual (símbolo atual CS);
  • LIMITE DE PARADA DE COMPRA (CS): deleta todas as ordens pendentes do tipo limite de parada de compra para o símbolo atual;
  • LIMITE DE COMPRA (CS): deleta todas as ordens pendentes do tipo limite de compra para o símbolo atual;
  • PARADA DE VENDA (CS): deleta todas as ordens pendentes do tipo parada de venda para o símbolo atual;
  • LIMITE DE PARADA DE VENDA (CS): deleta todas as ordens pendentes do tipo limite de parada de venda para o símbolo atual;
  • LIMITE DE VENDA (CS): deleta todas as ordens pendentes do tipo limite de venda para o símbolo atual.


7.4. DESEMPENHO DA NEGOCIAÇÃO

A seção de desempenho da negociação é mostrada na figura abaixo:

Fig. 45. DESEMPENHO DA NEGOCIAçãO

Fig. 45. DESEMPENHO DA NEGOCIAçãO

Esta seção contém uma tabela de sete colunas. A primeira coluna, SÍMBOLOS, é a mesmo que nas outras seções. Outras colunas exigem uma descrição mais detalhada:

  • R & RP (%): a coluna apresenta risco de posição aberta expressada em porcentagem separadamente para cada símbolo. Se o nível de Stop Loss de uma posição é modificado e aparenta ser maior do que o preço de abertura de posição, o valor é exibido em verde, caso contrário, em vermelho. Se nenhum nível de Stop Loss foi definido para uma posição, um sinal de aviso é exibido: ! ! !;
  • R & RP (p/$):  esta coluna também mostra o risco de posição separadamente para cada símbolo. O cabeçalho desta coluna é clicável. Se o cabeçalho for pressionado, ele é exibido em azul e os valores são expressos em pontos - R & RP (p). Se não for pressionado, eles são mostrados como um valor monetário - R & RP ($). A cor do valor depende se o lucro está protegido. Se nenhum Stop Loss foi definido para uma posição, um sinal de aviso é exibido: ! ! !;
  • LUCRO EM DIAS ($):  os valores desta coluna mostram o lucro ao longo de um determinado número de dias. O cabeçalho é clicável; uma vez que você clicar nele, uma caixa de entrada aparecerá no canto superior direito do painel e o cabeçalho ficará azul. O lucro para cada símbolo será exibido separadamente durante o número de dias a serem especificados na caixa de entrada. O mesmo valor será posteriormente exibido no cabeçalho. A cor do valor depende do lucro/perda sobre um determinado número de dias;
  • MARGEM ($): os valores desta coluna mostram o tamanho da margem usada para cada posição;
  • ESCALA DE PERDA/LUCRO TICK ($): esta coluna apresenta o valor da escala em uma negociação de perda/ganho;
  • MARGEM DE VERIFICAçãO DE COMPRA/VENDA ($): nesta coluna, você pode ver o volume do capital necessário para executar uma negociação de compra/venda. O cabeçalho é clicável. Ao clicar sobre ele, você pode criar uma caixa de entrada, no canto superior direito do painel com o valor do último volume especificado. Se um novo valor é inserido, todos os valores na coluna serão recalculados.


7.5. INFORMAÇÃO DE SÍMBOLOS/CONTA

Fig. 46. INFORMAçãO DE SíMBOLOS/CONTA

Fig. 46. INFORMAÇÃO DE SÍMBOLOS/CONTA

Esta seção contém informação sobre a conta e o símbolo atual.


8. Indicadores adicionais para serem usados pelo EA

A operação de EA vai exigir o uso dos seguintes indicadores:

  • Indicador de SUBJANELA. Ele não é realmente um indicador, mas uma subjanela simbólica onde vários gráficos serão exibidos.
  • Indicador Spy_Control_panel_MCM. Este indicador foi desenvolvido por Konstantin Gruzdev (Lizar). Mais informações podem ser encontradas na base do código. Ele é usado no EA para obter os seguintes eventos: escala e nova barra.
  • Indicador de MultiSignals_PCH. Este indicador foi descrito no início do artigo. Ele também pode ser baixado a partir da base do código ou a partir da lista de arquivos anexados no final do artigo.

Todos os indicadores deve ser colocados no diretório \Metatrader 5\MQL5\Indicators.


Conclusão

Então, aqui temos um kit de negociador compacto ainda bastante multifuncional.

Claro, você deve ter em mente que existem eventos de força maior diferentes que podem dificultar a negociação, mas a maioria, se não todos eles, podem ser evitados se você se concentrar na negociação a médio e longo prazo, ou, pelo menos, na negociação diária, excluindo a negociação em hora (verdadeira para o EA destacado no artigo). É importante entender que esta não é uma varinha mágica que vai fazer você infinitamente rico sem esforço. Você deve aprender a usá-lo como qualquer outra ferramenta e agora você tem tudo que precisa para prosseguir.

Há um monte de ideias que serão gradualmente implementadas no futuro. O desenvolvimento do programa continuará ainda mais e será prestado apoio aos usuários que compraram ele. As atualizações gratuitas para o programa também estarão disponíveis para os compradores do produto. Se você tiver quaisquer comentários ou sugestões sobre o desenvolvimento de produtos, não hesite em contatar-me via e-mail especificado no meu perfil ou apenas me PM. Junte-se ao projeto e vamos começar a descer a via da negociação juntos!


Traduzido do russo por MetaQuotes Software Corp.
Artigo original: https://www.mql5.com/ru/articles/392

Arquivos anexados |
subwindow.mq5 (1.69 KB)
OpenCL: Da programação ingênua até a mais perceptível OpenCL: Da programação ingênua até a mais perceptível

Este artigo foca em alguns recursos de otimização que se abrem quando pelo menos alguma consideração é dada ao hardware subjacente em que kernel OpenCL é executado. Os valores obtidos estão longe de serem os valores de teto, mas eles mesmos sugerem que tendo os recursos existentes disponíveis aqui e agora (OpenCL API como implementado pelos desenvolvedores do terminal não permite controlar alguns parâmetros importantes para otimização - particularmente, o tamanho do grupo de trabalho), o ganho de desempenho ao longo da execução do programa anfitrião é muito importante.

OpenCL: A ponte para mundos paralelos OpenCL: A ponte para mundos paralelos

No final de janeiro de 2012, a empresa de desenvolvimento de software que fica por trás do desenvolvimento do MetaTrader 5 anunciou o suporte nativo para OpenCL no MQL5. Usando um exemplo ilustrativo, o artigo estabelece o básico da programação no OpenCL no ambiente MQL5 e fornece alguns exemplos de otimização nativa do programa para o aumento da velocidade operacional.

Programação baseada em autômatos como nova abordagem para criação de sistemas de negociação automatizados Programação baseada em autômatos como nova abordagem para criação de sistemas de negociação automatizados

Este artigo nos leva a uma nova direção no desenvolvimento de EAs, indicadores e scripts no MQL4 e MQL5. No futuro, este paradigma de programação gradualmente se tornará uma padrão base para todos os negociantes na implementação de EAs. Usando o paradigma de programação baseada em autômatos, os desenvolvedores no MQL5 e MetaTrader 5 estarão próximos de criar uma nova linguagem - MQL6 - e uma nova plataforma - MetaTrader 6.

Os membros mais ativos do website MQL5.community ganharam iPhones! Os membros mais ativos do website MQL5.community ganharam iPhones!

Após termos decidido premiar os participantes mais proeminentes do website MQL5.com, selecionamos os critérios-chave para determinar a contribuição de cada participante para o desenvolvimento da comunidade. Como resultado, temos os seguintes vencedores que publicaram a maior quantidade de artigos no website - investeo (11 artigos) e victorg (10 artigos), e os que enviaram os seus programas à Base de códigos – GODZILLA (340 programas), Integer (61 programas) e abolk (21 programas).