O Expert Advisor foi reescrito a partir do MQL4 pelo autor lsv. Você pode encontrar a fonte original aqui: https://www.mql5.com/ru/code/9431.
Como Funciona
Este EA opera com ticks, independente do timeframe. Ele começa a formar padrões de preço com base na média dos preços atuais do mercado. Vários padrões com parâmetros diferentes são criados. O número de padrões é definido na variável Nidelt. Para o primeiro padrão, utiliza-se o parâmetro dstop, para o segundo, dstop*2, e assim por diante até dstop*N, onde N é o número total de padrões. Quando o preço atinge o valor de dstop*N, um novo ponto de padrão é registrado. O ponto mais antigo é eliminado, garantindo que o padrão tenha um comprimento fixo de pontos Nidelt. Quanto mais valores de configuração um padrão tiver, mais profunda será a captura do histórico, permitindo que o mercado seja rastreado simultaneamente em diferentes profundidades históricas.
Quando um padrão muda (ou seja, alterações na situação do mercado), uma posição virtual é aberta. O objetivo aqui é associar a posição a uma determinada situação do mercado. Isso é feito da seguinte maneira: o padrão é representado por uma sequência de códigos de valores de preço convertidos em uma sequência binária. Se o valor de um ponto é maior que o anterior, é marcado como 1; caso contrário, 0. A partir dessa sequência, calcula-se o número único do padrão (convertendo o dígito binário em decimal).
O EA pode abrir de uma a três posições virtuais, cada uma com Stop Loss e Take Profit individuais. Os valores de Stop Loss e Take Profit são iguais para cada posição. O valor de Stop Loss/Take Profit é definido pelo parâmetro dstop: para uma posição, usa-se dstop*1, para outra, dstop*2, e assim por diante. Se o preço sobe, adiciona-se valores à probabilidade de alta para esse padrão; se desce, aumenta-se a probabilidade de baixa. As posições virtuais são abertas para cada um dos três padrões: parâmetros do padrão, número do padrão (sua forma) e para cada valor de Stop Loss/Take Profit. Para cada uma dessas combinações, a probabilidade de negociação virtual para cima ou para baixo é calculada.
Se, de acordo com qualquer combinação dos três parâmetros (parâmetro, número, Stop Loss/Take Profit), forem criados pelo menos 10 negócios virtuais e a mesma situação ocorrer no mercado (com um padrão de parâmetro e número autoidentificado), pode-se considerar a abertura de posição com uma direção definida pela probabilidade calculada com base nessa estatística pelo valor de Stop Loss/Take Profit.
Coletar estatísticas leva tempo. Como o autor do Expert Advisor menciona: "Isso pode levar várias semanas". O processo de coleta de estatísticas pode ser acelerado utilizando o tester. Contudo, as mudanças de preços em ticks no tester e no mercado real podem diferir bastante. O autor recomenda o seguinte: treine o Expert Advisor no tester e, em seguida, execute-o em uma conta demo por quase uma semana. Se o EA mostrar resultados positivos (isso significa que ele vai aprender um pouco), será possível utilizá-lo em uma conta real.
Preparando um Expert Advisor
A primeira etapa na preparação do Expert Advisor para trabalhar é a otimização de seus parâmetros: Nidelt, Nstop, dstop, forg, Probab, NN, delta. Nesta fase, a otimização é realizada com os parâmetros ReadHistory e SaveHistory desligados. Depois de encontrar uma combinação aceitável de parâmetros, é necessário realizar um teste com SaveHistory=true. Em seguida, execute o Expert Advisor em uma conta com ReadHistory=true – o EA começa a funcionar imediatamente, pois reuniu estatísticas suficientes no tester. É recomendado ativar o SaveHistory durante o trabalho na conta para salvar os dados automaticamente quando o EA estiver bem treinado e pronto para reiniciar.
Ao utilizar o SaveHistory no tester, os dados de aprendizado são salvos em um arquivo nomeado FD_[Symbol]. Por exemplo, se o Expert Advisor testar no EURUSD, o arquivo terá o nome FD_EURUSD; se for no GBPUSD, o nome será FD_GBPUSD, e assim por diante. Os arquivos são salvos na pasta de arquivos, que é a pasta de dados comum para todos os terminais. Você pode encontrar a Pasta Geral de Dados através do menu principal do MetaEditor – para abrir a pasta geral de dados. É através dessa pasta que os dados são lidos pelo ReadHistory.
Além de salvar os resultados do aprendizado, o Expert Advisor também salva dois arquivos que são necessários no processo de negociação. Os arquivos têm os nomes: FDlast_buy[Symbol][TimeFrame] e FDlast_sell[Symbol][TimeFrame]. Não se preocupe com esses arquivos.
O Expert Advisor depende apenas da periodicidade de salvamento dos dados de aprendizado e do tempo mínimo entre negócios virtuais, que é igual à densidade de duas barras. Por isso, há uma diferença nos resultados do funcionamento do EA em diferentes timeframes.
A imagem abaixo mostra os resultados de aprendizado do Expert Advisor no EURUSD M15 com as configurações padrão.
Parâmetros
- ReadHistory - Leitura do histórico salvo de aprendizado.
- SaveHistory - Salvar histórico de aprendizado. Durante o teste, o histórico é salvo até o final do teste; ao trabalhar na conta, regularmente por meio do aprendizado contínuo.
- Lots - Volume da posição.
- Nidelt - O número de padrões não deve exceder 30.
- Nstop - Número de parâmetros de posição virtual (valores diferentes de Stop Loss e Take Profit, onde Stop Loss e Take Profit são iguais), 1, 2 ou 3.
- dstop - Passo das mudanças de parâmetros das posições virtuais (Stop Loss e Take Profit).
- forg - Taxa de esquecimento dos resultados de aprendizado, o valor deve ser um pouco maior que 1.
- Probab - Nível de probabilidade definido pelos resultados de aprendizado que determina a abertura de posição.
- NN - O tamanho do padrão não deve exceder 12.
- delta - Passo de mudança do parâmetro do padrão.
- ReplaceStops - Modificar Stop Loss/Take Profit em novos sinais de abertura. A transposição de Stop Loss/Take Profit é operada apenas até a direção da posição.
- Trailing - Nível de trailing stop; quando o valor é 0, o trailing stop é desativado.
Publicações relacionadas
- MACD Sample: Um Guia Prático para o Expert Advisor no MetaTrader 5
- Trader Automático: RSI e MFI com Otimização Automática para MetaTrader 4
- Canal de Desvio Padrão: A Ferramenta Ideal para Traders no MetaTrader 4
- GTerminal V5: Automatizando Ordens Gráficas e Indicadores no MetaTrader 4
- Crie seu Expert Advisor com MQL5: Sinais de Negociação com Padrões Engulfing e Stochastic