O Indicador de Tempo exibe a hora atual dos principais mercados mundiais e destaca a sessão de negociação ativa. …
EA SUPER TESTER Programa de teste multithread para Expert Advisor.
Table of Contents (click to show)
List
- Descrição
- Código Aberto
- O Valor Real do Nosso Advisor
- Programando Sua Estratégia de Negociação Forex
- Programando O THE X para MetaTrader 5
- MetaTrader 5 Passo 0: Carregando Indicadores nos Recursos!
- MetaTrader 5 Passo 1: Especifique o Nome do Sinal!
- MetaTrader 5 Passo 2: Especifique o Nome de Exibição do Sinal!
- MetaTrader 5 Passo 3: Especifique o Nome do Filtro!
- MetaTrader 5 Passo 4: Especifique os Parâmetros do Indicador ou Estratégia em Variáveis Externas!
- MetaTrader 5 Passo 5: Crie Handles (Manipuladores) de Indicador para Carregar no Expert Advisor!
- MetaTrader 5 Passo 6: Declare Variáveis para Carregar o(s) Indicador(es) da Estratégia!
- MetaTrader 5 Passo 7: Declare Variáveis para Armazenar Dados do Indicador!
- MetaTrader 5 Passo 8: Crie Estratégias e Sinais para Abrir Posições!
- Códigos de Erro
- MetaTrader 5 Passo 9: Especifique Filtros dos Seus Indicadores ou Use Seu Indicador como Filtro para a Estratégia!
- MetaTrader 5 Passo 10: Este é o passo final!
- MetaTrader 5 Conclusões e Verificação da Estratégia
- Programando O THE X para MetaTrader 4
- MetaTrader 4 Passo 0: Carregando Indicadores nos Recursos
- MetaTrader 4 Passo 1: Especifique o Nome do Sinal
- MetaTrader 4 Passo 2: Especifique o Nome do Sinal para Exibição na Tela
- MetaTrader 4 Passo 3: Especifique o Nome do Filtro
- MetaTrader 4 Passo 4: Especifique Parâmetros do Indicador ou Estratégia em Variáveis Externas
- MetaTrader 4 Passos 5, 6, 7: Relaxe!
- MetaTrader 4 Passo 8: Criando Estratégias e Sinais para Abrir Posições
- MetaTrader 4 Passo 9: Especifique Filtros dos Seus Indicadores ou Use Seu Indicador como Filtro para a Estratégia
- MetaTrader 4 Passo 10: Este é o Passo Final!
- MetaTrader 4 Conclusões e Verificação da Estratégia
- O Que Mais Pode Ser Alterado no Expert Advisor?
- Depurando uma Estratégia
Descrição
O The X é um construtor de estratégias de negociação.
Desenvolvemos um Expert Advisor Universal que engloba todas as funções mais intrigantes e essenciais.
Além disso, foi incorporado um módulo de sinais utilizando indicadores padrão.
Este é um construtor de estratégias, permitindo que você programe sua própria estratégia.
Começou como um projeto que ganhou popularidade significativa. Por 15 anos, temos refinado o algoritmo, adicionando novas funções e indicadores, e corrigindo erros de função.
Este artigo irá guiá-lo através da programação de sua estratégia, integração de indicadores no advisor e adição de novos sinais e filtros.
Código Aberto
Uma pergunta recorrente que recebemos é:
- Posso integrar meus indicadores em um advisor?
- Quanto custa o código aberto do Expert Advisor?
Não é segredo que oferecemos o código aberto do nosso advisor para venda. Isso é destinado a traders que desejam desenvolver seus próprios advisors ou construir seus próprios sinais.
Além disso, os traders frequentemente compram código aberto para implementar suas estratégias proprietárias e revender o advisor.
- O código aberto do advisor The X pode ser comprado em nosso Mercado de Advisors de Negociação.
- Código Aberto The X para MetaTrader 5 (Não disponível)
- Código Aberto The X para MetaTrader 4 (Não disponível)
- A propósito, temos muitos códigos abertos para nossos advisors. Seção: Advisors de Estratégia (Código Aberto)
- Experimente nossos Modelos de Código Aberto.
Programar advisors com indicadores é um processo complexo.
Oferecemos serviços de programação para advisors de negociação. No entanto, o processo de desenvolvimento muitas vezes enfrenta atrasos porque os clientes não têm certeza das funções que necessitam.
O The X é uma coleção de blocos e funções para negociação no mercado FOREX, utilizada globalmente. Desenvolvemos funções que são frequentemente usadas, permitindo que o advisor atenda a 90% das necessidades de cada trader.
Naturalmente, existem estratégias únicas que programadores experientes precisam desenvolver.
Tais estratégias são raras e requerem preparação meticulosa. O custo deste trabalho depende da sua complexidade.
O Valor Real do Nosso Advisor
Começando pelo nosso artigo sobre o custo do trabalho de um programador, podemos estimar o custo aproximado do nosso robô de negociação, The X:
Nosso EA contém mais de 10.000 linhas de código. Embora isso possa parecer extenso, é gerenciável porque não escrevemos advisors usando PL/SQL (Linguagem de Programação/Linguagem de Consulta Estruturada). Por quê? Porque OOP (Programação Orientada a Objetos) não é familiar para muitos, e lidar com OOP pode ser bastante desafiador!
Então, vamos calcular:
- O custo de 1 hora de trabalho de um programador = $20 ao programar funções e algoritmos.
- O custo de 1 hora de correção de erros = $5.
- O custo de escrever textos e vídeos = $10 (Este preço é baseado em taxas da internet; eu mesmo crio todas as instruções e vídeos).
- Suponha que escrever funções e blocos para O X levou mais de 1.000 horas!
- Programar sinais usando indicadores é simples. Portanto, assumimos que nos levou 10 horas!
No entanto, alguns aspectos não podem ser concluídos imediatamente:
- A depuração de funções pode levar mais 1.000 horas!
- O desenvolvimento de instruções, vídeos e promoções também requer 1.000 horas!
No total, investimos mais de 3.000 horas!
Se fôssemos comissionar tal algoritmo, recusaríamos. Não é razoável nem lucrativo.
O custo total de um expert advisor personalizado como este é superior a $35.000! No entanto, nosso advisor é vendido por um preço dez vezes menor!!!!
O custo do nosso código aberto é DEZ vezes menor!
Tais pedidos personalizados nunca são atendidos:
- Primeiro, porque os clientes não estão dispostos a investir uma quantia tão significativa de dinheiro.
- Segundo, porque os programadores relutam em dedicar tanto tempo ao desenvolvimento.
Garanto-lhe que programar um robô de negociação tão complexo requer mais tempo do que criar uma estratégia de negociação.
Depurar todos os blocos e funções exige muito tempo.
Somos extremamente gratos aos nossos clientes que identificaram erros e forneceram correções nos últimos cinco anos, bem como contribuíram com suas funções e indicadores para aprimorar a funcionalidade do advisor THE X.
Programando Sua Estratégia de Negociação Forex
Primeiramente, quero mencionar que atualizamos o código do nosso expert advisor. Agora está muito fácil de entender e bem comentado.
Você não precisa mergulhar em cada função em detalhes. Você pode programar sua estratégia em apenas 10 passos.
Preparamos um método muito amigável para trabalhar com nosso código aberto.
Lembre-se: Não programamos estratégias para o advisor gratuitamente. Se você deseja desenvolver código para sua estratégia, consulte a seção Programação para fazer um pedido!
Primeiros Passos:
- Abra o código aberto do advisor que você comprou em nosso Mercado de Advisors;
- Pressione Ctrl + F para ativar a barra de pesquisa;
- Digite o termo Step – Esta palavra-chave ajudará você a navegar em nosso código-fonte e escrever rapidamente sua estratégia.
- Cada passo é bem comentado e fornece um exemplo.
- Para aprender a programar sua estratégia, você pode descomentar gradualmente as linhas marcadas com um asterisco // *.
No total, existem 10 passos no código aberto para o advisor trabalhar com seus indicadores.
Analisaremos cada passo em detalhes!
Como a programação difere entre os terminais MT4 e MT5, dividiremos nosso artigo em duas partes:
Se você está usando o advisor THE X para o terminal MT4, pode prosseguir diretamente para a seção Programação do The X no terminal MetaTrader 4.
Programando O THE X para MetaTrader 5
Você precisa entender as regras básicas de programação para desenvolver sua estratégia ou adicionar uma estratégia pronta usando indicadores de arquivos existentes (por exemplo, Expert Advisors da Internet).
Programar advisors para MetaTrader 5 é mais complexo do que para o MetaTrader 4. No entanto, o terminal MT5 permite a criação de estratégias mais poderosas e possui um testador de estratégias mais avançado.
De qualquer forma, você deve comprar o código aberto no qual o terminal irá operar.
MetaTrader 5 Passo 0: Carregando Indicadores nos Recursos!
// Passo 0 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Para embutir o indicador no Expert Advisor durante a compilação, você precisa carregá-lo nos recursos do Expert Advisor // // Por exemplo: // * #resource "\\Indicators\\Examples\\MACD.ex5" // ################################################ ###########################
Aqui, devemos adicionar os indicadores exigidos por nós aos recursos.
Isso garante que o advisor possa ser compilado para o mercado e evita problemas desnecessários onde o advisor compilado não consegue localizar o indicador desejado em outro computador.
Regras para Nomear no Mercado: Use os nomes completos das pastas, começando com Indicators!
A pasta é indicada por \\.
Por exemplo:
Se o caminho para o seu indicador for:
C:\ROBO MT5\MQL5\Indicators\Examples\MACD.ex5
Então, o caminho para este indicador na linguagem de programação é escrito como:
“\\Indicators\\Examples\\MACD.ex5”
MetaTrader 5 Passo 1: Especifique o Nome do Sinal!
// Passo 1 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Digite o nome do seu sinal após // // ################################################ #################### // Por exemplo: // * Custom = 77, // Sinal para código aberto // ################################################ ############################
Neste passo, devemos adicionar nosso sinal ou estratégia à lista de sinais possíveis no Expert Advisor.
Isso facilita o gerenciamento conveniente dos sinais durante a fase de configuração do expert.
Por exemplo:
- Você quer nomear sua estratégia MY STRATEGY
- O número da estratégia também deve ser único. Sinais de indicadores padrão ocupam os primeiros 22 números! Lembre-se deste número, pois precisaremos dele mais tarde.
- O nome também deve ser único. Por exemplo, MYSTRATEGY1
No final, devemos escrever no código da seguinte forma:
MYSTRATEGY1 = 77, // MY STRATEGY
Você também pode adicionar mais estratégias e escrever, por exemplo:
- MYSTRATEGY1 = 77, // MY STRATEGY a
- MYSTRATEGY2 = 78, // MY STRATEGY b
- MYSTRATEGY3 = 79, // MY STRATEGY c
MetaTrader 5 Passo 2: Especifique o Nome de Exibição do Sinal!
// Passo 2 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Digite o nome do seu sinal, que será exibido na tela após // // ################################################ #################### // Por exemplo: // * if (i == 77) s1 = "Custom"; // ################################################ ###########################
Este passo é para exibir o nome da sua estratégia em nosso painel EAPADpro EA.
É simples! No entanto, você deve usar os números do passo anterior.
Por exemplo:
- if (i == 77) s1 = “My1”;
- if (i == 78) s1 = “My2”;
- if (i == 79) s1 = “My3”;
MetaTrader 5 Passo 3: Especifique o Nome do Filtro!
// Passo 3 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Digite o nome do seu filtro após // // ################################################ #################### // Por exemplo: // * FILTERCustom = 77, // Filtro para código aberto // ################################################ ###########################
Neste passo, precisamos adicionar nosso filtro à lista de filtros possíveis no Expert Advisor.
Isso garante um gerenciamento conveniente dos filtros durante a fase de configuração do expert.
Normalmente, o Filtro usa o mesmo indicador que o Sinal, mas com a condição de que o Filtro determina a posição atual do Sinal, e o Sinal reflete o sinal real.
Por exemplo:
- Você quer nomear seu Filtro MY FILTER?
- O número do filtro também deve corresponder ao número da estratégia (Isso evita confusão com outras figuras no futuro). Os filtros ocupam os primeiros 22 números de indicadores padrão! Lembre-se deste número, pois precisaremos dele mais tarde.
- O nome também deve ser único. Por exemplo, MYFILTER1
No final, devemos escrever no código da seguinte forma:
MYFILTER1 = 77, // MY FILTER
Você também pode adicionar mais filtros e escrever, por exemplo:
- MYFILTER1 = 77, // MY FILTER a
- MYFILTER2 = 78, // MY FILTER b
- MYFILTER3 = 79, // MY FILTER c
MetaTrader 5 Passo 4: Especifique os Parâmetros do Indicador ou Estratégia em Variáveis Externas!
// Passo 4 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Especifique todas as variáveis externas do seu indicador ou indicadores que serão usados em sua estratégia // // Por exemplo: // * input string IndicatorName = "-------- Custom Indicator ----------------"; // * input int CUSTOMMAFastPeriod = 1; // * input int CUSTOMMASlowPeriod = 100; // * input ENUM_APPLIED_PRICE CUSTOMMAprice = PRICE_CLOSE; // ################################################ ###########################
Neste passo, você deve inserir todas as configurações externas dos indicadores em sua estratégia, que podem ser modificadas a partir do Expert Advisor. Isso é útil para fins de otimização.
Além disso, você pode extrair parâmetros específicos da estratégia aqui. Por exemplo, os níveis onde as linhas se cruzam, limitando a operação do indicador aos preços MÁX e MÍN no gráfico, e assim por diante.
Você não precisa inserir todos os parâmetros para os indicadores. É suficiente tornar aqueles que você pode querer alterar no futuro a partir das configurações do Expert Advisor. Todos os outros parâmetros podem ser definidos para seus valores padrão.
MetaTrader 5 Passo 5: Crie Handles (Manipuladores) de Indicador para Carregar no Expert Advisor!
// Passo 5 ##############################################
// Esta parte do código é para programar sua estratégia em código aberto
//
// Crie uma entrada no array para que o Expert Advisor possa atribuir o handle do indicador durante a inicialização
//
// Por exemplo:
// * case 77:
// * h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
// * if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
// * {
// * PrintToLogs("Could not get MACD indicator handle");
// * return(INIT_FAILED);
// * }
// ################################################ ###########################
Este passo garante que nossos indicadores sejam carregados uma vez durante a inicialização do Expert Advisor. No MetaTrader 5, não há necessidade de carregar constantemente o indicador no gráfico.
Ao criar um handle, armazenamos o handle de um indicador já aberto para uso futuro.
Tenha muito cuidado aqui. Ao criar um handle, você deve especificar todas as variáveis externas do indicador e usar o nome correto. Caso contrário, o Expert Advisor não conseguirá carregar o indicador.
Lembre-se de que carregamos o indicador nos recursos do Expert Advisor. Portanto, chamaremos o indicador a partir dos recursos!
Você pode consultar a documentação MQL5 sobre como chamar indicadores usando iCustom.
Um número de estratégia também é necessário para escrever este código. Se sua estratégia usa múltiplos indicadores, você precisa especificar cada indicador com o mesmo número. Isso garante que o advisor carregue sua estratégia corretamente.
De acordo com nossos exemplos acima, precisamos fazer o seguinte:
case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
{
PrintToLogs("Could not get MACD indicator handle");
return(INIT_FAILED);
}
break;
Aqui, eu especifiquei explicitamente apenas dois parâmetros externos. Substituí o parâmetro deste Indicador, InpSignalSMA, por um número padrão para demonstrar a essência da programação!
Da mesma forma, você pode adicionar múltiplos indicadores e handles.
Se a estratégia usa vários indicadores, você precisa declarar cada um.
Por exemplo:
case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
h_custom2[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 15, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE || h_custom2[tf_num][sym_num] == INVALID_HANDLE)
{
PrintToLogs("Could not get MACD indicator handle");
return(INIT_FAILED);
}
break;
Além disso, para outras estratégias que você deseja integrar ao Expert Advisor!
MetaTrader 5 Passo 6: Declare Variáveis para Carregar o(s) Indicador(es) da Estratégia!
// Passo 6 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Declare as variáveis do array de handles // // Por exemplo: // * int h_custom[6][12]; // * int h_custom2[6][12]; // ################################################ ###########################
Aqui, especificamos os nomes dos nossos handles que foram criados acima!
É simples.
Os handles são criados como arrays para suportar multi-moeda no EA e para permitir a especificação de até seis sinais ou filtros simultaneamente!
MetaTrader 5 Passo 7: Declare Variáveis para Armazenar Dados do Indicador!
// Passo 7 ############################################## // Esta parte do código é para programar sua estratégia em código aberto // // Declare as variáveis do array para os valores do indicador // // Por exemplo: // * double custom1_buffer[]; // * double custom2_buffer[]; // ################################################ ###########################
Aqui, especificamos os nomes dos nossos buffers de dados!
É simples.
Estes arrays armazenarão dados sobre os valores do indicador para cada barra. Se você precisar usar múltiplos buffers, pode declarar várias variáveis.
No nosso caso, por exemplo, precisamos de dois buffers para a linha de sinal e a linha principal do indicador MACD.
MetaTrader 5 Passo 8: Crie Estratégias e Sinais para Abrir Posições!
Este passo é crucial para o Expert Advisor. Embora todos os outros passos sejam obrigatórios, sem este passo, o advisor não funcionará.
Incluí comentários no código para explicar cada parte!
O número da estratégia deve corresponder ao usado nos passos anteriores!
- Programe o código para cada estratégia e sinal individualmente. Depende da estratégia e dos indicadores escolhidos. Lidar com buffers para estratégias envolve…
- Note que neste bloco, você pode especificar qualquer estratégia.
- Todos os indicadores declarados nos handles serão carregados na memória e usados para construir a estratégia.
Este passo pode ser dividido em três sub-passos:
- 1. Precisamos copiar os buffers de dados para nossos conjuntos de dados. Nos parâmetros de cópia, devemos especificar os números das linhas (No nosso caso, são as linhas do indicador MACD).
- Usamos duas linhas: MAIN e SIGNAL.
- Você pode ler a documentação sobre a função CopyBuffer.
- 2. Programação da estratégia. Neste caso, é a interseção de duas linhas.
- Importante: O sinal para COMPRAR (BUY) é 1, e para VENDER (SELL), é -1.
- 3. Aqui, registramos as informações que serão exibidas no log quando uma posição for aberta com base no sinal. Informações da Estratégia.
Se você preencheu corretamente todos os handles e buffers, o seguinte deve aparecer na tela:
Alert(“Parabéns, você completou uma lição demonstrando a programação da sua estratégia!”);
Alert(“Parabéns! Você completou uma lição demonstrando a programação da sua estratégia!”);
Se você receber uma mensagem de erro, precisa identificar e resolver a causa desse erro.
Códigos de Erro
Erros mais comuns:
| ERR_INDICATOR_UNKNOWN_SYMBOL | 4801 | Símbolo desconhecido |
| ERR_INDICATOR_CANNOT_CREATE | 4802 | O indicador não pode ser criado |
| ERR_INDICATOR_NO_MEMORY | 4803 | Memória insuficiente para adicionar um indicador |
| ERR_INDICATOR_CANNOT_APPLY | 4804 | O indicador não pode ser aplicado a outro indicador |
| ERR_INDICATOR_CANNOT_ADD | 4805 | Erro ao adicionar o indicador |
| ERR_INDICATOR_DATA_NOT_FOUND | 4806 | Os dados solicitados não foram encontrados |
| ERR_INDICATOR_WRONG_HANDLE | 4807 | Handle do indicador incorreto |
| ERR_INDICATOR_WRONG_PARAMETERS | 4808 | Número incorreto de parâmetros ao criar um indicador |
| ERR_INDICATOR_PARAMETERS_MISSING | 4809 | Parâmetros ausentes ao criar o indicador |
| ERR_INDICATOR_CUSTOM_NAME | 4810 | O primeiro parâmetro no array deve ser o nome do indicador personalizado |
| ERR_INDICATOR_PARAMETER_TYPE | 4811 | Tipo de parâmetro incorreto no array ao criar o indicador |
| ERR_INDICATOR_WRONG_INDEX | 4812 | Índice inválido do buffer do indicador solicitado |
MetaTrader 5 Passo 9: Especifique Filtros dos Seus Indicadores ou Use Seu Indicador como Filtro para a Estratégia!
O código de programação neste passo é simples e semelhante ao passo anterior.
A única diferença é que, nesta fase, você programa seus indicadores como um Filtro.
Você não pode especificar sinais usando o indicador, mas apenas especificar o filtro, ou vice-versa! Tudo depende da estratégia.
MetaTrader 5 Passo 10: Este é o passo final!
// Passo 10 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Este é o fim do nosso código. Se você chegou a este passo, então você criou sua estratégia. // Por exemplo, eu inseri uma estratégia secreta. Se você fez tudo corretamente, receberá o resultado na forma de um alerta na tela! // Obrigado por escolher nosso produto. Estamos trabalhando para você! // // Nosso site: // Nossa loja: /shop // Loja MQL5: https://www.mql5.com/users/vladon/seller // // // Este é o fim do nosso código. Se você chegou a este passo, então você criou sua estratégia. // Por exemplo, eu inseri uma estratégia secreta. Se você fez tudo corretamente, receberá o resultado na forma de um alerta na tela! // Obrigado por escolher nosso produto. Estamos trabalhando para você! // // Nosso site: // Nossa loja: /shop // Loja MQL5: https://www.mql5.com/users/vladon/seller // ################################################ ###########################
Isso indica que a programação da sua estratégia está completa.
Boa sorte e lucros para você!
MetaTrader 5 Conclusões e Verificação da Estratégia
Se você fizer tudo corretamente, sua estratégia será integrada ao Expert Advisor, e você poderá negociar usando meu advisor.
Agora, precisamos testar nosso advisor e estratégia.
- Carregue o terminal;
- Abra uma conta demo;
- Anexe o Expert Advisor ao gráfico;
- Se tudo estiver OK, você receberá uma mensagem sobre a adição bem-sucedida da estratégia:
- Ou você receberá um erro. Nesse caso, você precisa revisar cuidadosamente seu código e repetir todos os passos!
Verificando o Expert Advisor no Testador de Estratégias:
- Abra o terminal;
- Abra o Testador de Estratégias;
- Escolha seu Expert Advisor, par de moedas, time frame e intervalo de datas. Ative o teste Cada Tick baseado em ticks reais;
- Abra a aba Configurações;
- Selecione sua estratégia;
- Ative a Visualização;
- Pressione INICIAR;
- Um gráfico deve abrir;
- Se o Expert Advisor abrir posições, você fez tudo corretamente!
Programando O THE X para MetaTrader 4
Você deve entender as regras básicas de programação para escrever sua estratégia ou adicionar uma estratégia pronta para indicadores de um arquivo existente (por exemplo, Expert Advisors da Internet).
Programar Expert Advisors para MetaTrader 5 é mais complexo do que para MetaTrader 4. No entanto, o terminal MT5 permite criar estratégias mais poderosas e possui um Testador de Estratégias mais avançado.
Por outro lado, existem inúmeras estratégias e indicadores disponíveis para o terminal MetaTrader 4 online. Portanto, você pode usar o código para MT4!
Outro lembrete importante: Codificar uma estratégia em MT4 é muito mais fácil do que codificar em MT5!
De qualquer forma, você deve comprar o código aberto baseado no terminal com o qual trabalhará.
MetaTrader 4 Passo 0: Carregando Indicadores nos Recursos
// Passo 0 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Para embutir o indicador no Expert Advisor durante a compilação, você precisa carregá-lo nos recursos do Expert Advisor // Para embutir o indicador no Expert Advisor durante a compilação, você precisa carregá-lo nos recursos do Expert Advisor // ################################################ #################### // por exemplo: // * #resource "\\ Indicators \\ MACD.ex4" // ################################################ ###########################
Aqui, devemos adicionar os indicadores exigidos por nós aos recursos.
Isso nos permitirá compilar um advisor para o mercado e evitar problemas desnecessários quando o Expert Advisor compilado não conseguir encontrar o indicador desejado em outro computador!
Regras para escrever o caminho do indicador: Use os nomes completos das pastas, começando com Indicators!
A pasta é indicada por \\
Por exemplo:
Se o caminho para o seu indicador se parece com isto:
C:\ROBO MT4\MQL4\Indicators\Examples\MACD.ex4
Então, o caminho para este indicador na linguagem de programação é escrito assim:
“\\Indicators\\Examples\\MACD.ex4”
MetaTrader 4 Passo 1: Especifique o Nome do Sinal
// Passo 1 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Digite o nome do seu sinal após // // Digite o nome do seu sinal após // // ################################################ #################### // por exemplo: // * Custom = 77, // Sinal para código aberto // ################################################ ############################
Neste passo, devemos adicionar nosso Sinal ou estratégia à lista de sinais possíveis no advisor.
Isso permite um gerenciamento conveniente dos sinais durante a fase de configuração do Expert Advisor.
Por exemplo:
- Você quer nomear sua estratégia MY STRATEGY
- O número da estratégia também deve ser único. Sinais de indicadores padrão ocupam os primeiros 22 números! Lembre-se deste número para referência futura.
- O nome também deve ser único. Por exemplo, MYSTRATEGY1
No final, você deve escrever no código assim:
MYSTRATEGY1 = 77, // MY STRATEGY
Você também pode adicionar mais estratégias e escrever, por exemplo, assim:
- MYSTRATEGY1 = 77, // MY STRATEGY a
- MYSTRATEGY2 = 78, // MY STRATEGY b
- MYSTRATEGY3 = 79, // MY STRATEGY c
MetaTrader 4 Passo 2: Especifique o Nome do Sinal para Exibição na Tela
// Passo 2 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Digite o nome do seu sinal, que será exibido na tela, após // // Digite o nome do seu sinal, que será exibido na tela, após // // ################################################ #################### // por exemplo: // * if (i == 77) s1 = "Custom"; // ################################################ ###########################
Este passo serve para exibir o nome da sua estratégia em nosso painel EApadpro EA.
Não há nada complicado! Mas você deve usar os números do passo anterior.
Por exemplo:
- if (i == 77) s1 = “My1”;
- if (i == 78) s1 = “My2”;
- if (i == 79) s1 = “My3”;
MetaTrader 4 Passo 3: Especifique o Nome do Filtro
// Passo 3 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Digite o nome do seu filtro após // // Digite o nome do seu filtro após // // ################################################ #################### // por exemplo: // * FILTERCustom = 77, // Filtro para código aberto // ################################################ ###########################
Neste passo, precisamos adicionar nosso Filtro à lista de filtros possíveis no Expert Advisor.
Isso permite um gerenciamento conveniente dos filtros durante a fase de configuração do Expert Advisor.
Normalmente, o Filtro usa o mesmo indicador que o Sinal, com a condição de que o Filtro determina a posição atual do Sinal, e o Sinal confirma a ação de negociação.
Exemplos de diferenças entre filtros e sinais
Por exemplo:
- Você quer nomear seu Filtro MYFILTER?
- O número do filtro também deve corresponder ao número da estratégia (Isso é feito para evitar confusão com números de indicadores padrão no futuro). Os filtros ocupam os primeiros 22 números reservados para indicadores padrão! Lembre-se deste número para referência futura.
- O nome também deve ser único. Por exemplo, MYFILTER1
No final, você deve escrever no código assim:
MYFILTER1 = 77, // MY FILTER
Você também pode adicionar mais filtros e escrever, por exemplo, assim:
- MYFILTER1 = 77, // MY FILTER a
- MYFILTER2 = 78, // MY FILTER b
- MYFILTER3 = 79, // MY FILTER c
MetaTrader 4 Passo 4: Especifique Parâmetros do Indicador ou Estratégia em Variáveis Externas
// Passo 4 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Especifique todas as variáveis externas do seu indicador ou indicadores que serão usados em sua estratégia // Especifique todas as variáveis externas do seu indicador ou indicadores que serão usados em sua estratégia // ################################################ #################### // por exemplo: // * input string IndicatorName = "-------- Custom Indicator ----------------"; // * input int CUSTOMMAFastPeriod = 1; // * input int CUSTOMMASlowPeriod = 100; // ################################################ ###########################
Neste passo, você deve inserir todas as configurações externas dos indicadores usados em sua estratégia, que podem ser alteradas a partir do Expert Advisor. Isso é útil para otimização.
Além disso, você pode extrair parâmetros específicos da estratégia, como os níveis de cruzamento de linhas, a limitação da operação do indicador com base nos preços MÁX e MÍN no gráfico, e assim por diante.
Você não precisa inserir todos os parâmetros para os indicadores. É suficiente incluir aqueles que você pode querer alterar no futuro a partir das configurações do Expert Advisor. Para todos os outros parâmetros, você pode deixar o indicador com suas configurações padrão.
MetaTrader 4 Passos 5, 6, 7: Relaxe!
// Passo 5 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // O Passo 5 é necessário apenas para o terminal MT5. Então, neste passo, você pode relaxar e tomar um café // O Passo 5 é necessário apenas para o terminal MT5. Então, neste passo, você pode relaxar e tomar um café // ################################################ ########################### // Passo 6 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // O Passo 6 é necessário apenas para o terminal MT5. Então, neste passo, você pode relaxar e fazer um lanche // O Passo 6 é necessário apenas para o terminal MT5. Então, neste passo, você pode relaxar e fazer um lanche // ################################################ ########################### // Passo 7 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // O Passo 7 é necessário apenas para o terminal MT5. Faça uma pausa para se exercitar // O Passo 7 é necessário apenas para o terminal MT5. Faça uma pausa para se exercitar // ################################################ ###########################
Nota: O MetaTrader 4 não requer o carregamento de indicadores na memória para trabalhos futuros. Quando o indicador é chamado novamente no MT4, o Expert Advisor usa o mesmo handle.
MetaTrader 4 Passo 8: Criando Estratégias e Sinais para Abrir Posições
Este passo é muito importante para o Expert Advisor. Embora todos os outros passos sejam obrigatórios, sem este passo, o advisor não funcionará.
Eu adicionei comentários no código!
O número da estratégia corresponde ao dos passos anteriores!
- Código de programação para estratégia e sinal individualmente. Depende da estratégia e indicadores escolhidos. Configurando buffers de estratégia…
- Quero observar que neste bloco, você pode especificar qualquer estratégia.
- Todos os indicadores que declaramos nos handles serão carregados na memória e usados para construir a estratégia.
Este passo pode ser dividido em 2 sub-passos:
- 1. Programação da estratégia. Neste caso, é a interseção de duas linhas.
- Importante: O Sinal para COMPRAR (BUY) é 1, e para VENDER (SELL), é -1.
- 2. Registre as informações que serão exibidas no log quando uma posição for aberta. Informações da Estratégia
Se você receber uma mensagem de erro, precisa identificar a causa do erro.
Erros mais comuns:
| ERR_INDICATOR_UNKNOWN_SYMBOL | 4801 | Símbolo desconhecido |
| ERR_INDICATOR_CANNOT_CREATE | 4802 | O indicador não pode ser criado |
| ERR_INDICATOR_NO_MEMORY | 4803 | Memória insuficiente para adicionar um indicador |
| ERR_INDICATOR_CANNOT_APPLY | 4804 | O indicador não pode ser aplicado a outro indicador |
| ERR_INDICATOR_CANNOT_ADD | 4805 | Erro ao adicionar o indicador |
| ERR_INDICATOR_DATA_NOT_FOUND | 4806 | Os dados solicitados não foram encontrados |
| ERR_INDICATOR_WRONG_HANDLE | 4807 | Handle do indicador errado |
| ERR_INDICATOR_WRONG_PARAMETERS | 4808 | Número incorreto de parâmetros ao criar um indicador |
| ERR_INDICATOR_PARAMETERS_MISSING | 4809 | Parâmetros ausentes ao criar o indicador |
| ERR_INDICATOR_CUSTOM_NAME | 4810 | O primeiro parâmetro no array deve ser o nome do indicador personalizado |
| ERR_INDICATOR_PARAMETER_TYPE | 4811 | Tipo de parâmetro incorreto no array ao criar o indicador |
| ERR_INDICATOR_WRONG_INDEX | 4812 | Índice inválido do buffer do indicador solicitado |
MetaTrader 4 Passo 9: Especifique Filtros dos Seus Indicadores ou Use Seu Indicador como Filtro para a Estratégia
Na programação do código deste passo, não há nada complicado, e é semelhante ao passo anterior.
A única diferença é que, nesta fase, você programa seus indicadores como um Filtro.
Você não pode especificar sinais usando o indicador, mas apenas especificar o filtro, ou vice-versa! Tudo depende da estratégia.
MetaTrader 4 Passo 10: Este é o Passo Final!
// Passo 10 ############################################## ###################### // Esta parte do código para programar sua estratégia em código aberto // Esta parte do código para programar sua estratégia em código aberto // // Este é o fim do nosso código. Se você chegou a este passo, então você criou sua estratégia. // Por exemplo, eu inseri uma estratégia secreta. Se você fez tudo corretamente, receberá o resultado na forma de um alerta na tela! // Obrigado por escolher nosso produto. Estamos trabalhando para você! // // Nosso site: // Nossa loja: /shop // Loja MQL5: https://www.mql5.com/users/vladon/seller // // // Este é o fim do nosso código. Se você chegou a este passo, então você criou sua estratégia. // Por exemplo, eu inseri uma estratégia secreta. Se você fez tudo corretamente, receberá o resultado na forma de um alerta na tela! // Obrigado por escolher nosso produto. Estamos trabalhando para você! // // Nosso site: // Nossa loja: /shop // Loja MQL5: https://www.mql5.com/users/vladon/seller // ################################################ ###########################
Este passo foi criado para que você não se perca ao usar a busca.
Isso indica que a programação da sua estratégia está completa.
Boa sorte e lucros para você!
MetaTrader 4 Conclusões e Verificação da Estratégia
Se você fizer tudo corretamente, sua estratégia será integrada ao Expert Advisor, e você poderá negociar usando meu advisor.
Agora, precisamos testar nosso advisor e estratégia.
- Carregue o terminal;
- Abra uma conta demo;
- Anexe o Expert Advisor ao gráfico;
Verificando o Expert Advisor no Testador de Estratégias:
- Abra o terminal;
- Abra o Testador de Estratégias;
- Escolha seu Expert Advisor, par de moedas, time frame e intervalo de datas. Ative o teste Cada Tick baseado em ticks reais;
- Abra a aba Configurações;
- Selecione sua estratégia;
- Ative a Visualização;
- Pressione INICIAR;
- Um gráfico deve abrir;
- Se o Expert Advisor abrir posições, então você fez tudo corretamente!
O Que Mais Pode Ser Alterado no Expert Advisor?
Claro, você pode querer personalizar sua estratégia e dar ao nosso advisor uma aparência única!
Parâmetros que você pode alterar a seu critério:
// Alteração 1: Versão do Expert Advisor // Versão do EA #define versionea "18.008" // Alteração 2: Logo do Advisor // LOGO do EA #define BMPLOGO "Images\\dollar.bmp" // Alteração 3: Ícone do Expert Advisor // Ícone do EA // #property icon "\\Images\\dollar.bmp" // Alteração 4: Nome do Expert Advisor no gráfico // Nome do EA no Gráfico #define defEANAME "EXP-The X (OS)" // Alteração 5: Link para a instrução completa // Link para a instrução completa #define linkTOfull "www.expforex.com/pt/publ/4-1-0-166" // Alteração 6: Versão demo do Expert Advisor. Funciona apenas em uma conta demo ou em uma conta real com o par USDJPY // Versão demo do advisor. Funciona apenas em uma conta demo ou em uma conta real com o par USDJPY bool DEMO = false;
Recomenda-se não alterar todos os outros parâmetros, pois isso pode atrapalhar a funcionalidade do Expert Advisor!
Depurando uma Estratégia
O próximo passo é testar e otimizar O X e encontrar suas melhores configurações.
Alternativamente, depure e atualize sua estratégia.
Às vezes, leva dias ou semanas. Às vezes, até meses.
Mercado Forex – Notificações de Risco! Esta é uma forma muito arriscada de ganhar. Melhore sua estratégia.
Boa sorte e lucro!
Exibindo Informações Adicionais no Bloco de Estratégia
Este é um recurso opcional em nosso código aberto.
Você pode exibir qualquer valor de qualquer parâmetro no bloco EAPADPRO Strategy.
1. Para fazer isso, crie uma variável local,
ex., double EAPADPRO_StrategyValue1 = 0; double EAPADPRO_StrategyValue2 = 0;
2. Atribua um valor a esta variável,
por exemplo, atribua o valor do indicador ATR (encontre a linha double atr = iATR):
EAPADPRO_StrategyValue1 = atr; EAPADPRO_StrategyValue2 = atrma;
Código completo do filtro:
3. Em seguida, adicione o valor da variável ao bloco de exibição de informações:
Encontre a função CreateStrategy() no código e adicione uma nova linha:
ArrayAddStrategy("StrategyValue1", DoubleToString(EAPADPRO_StrategyValue1, 5), "", "");
ArrayAddStrategy("StrategyValue2", DoubleToString(EAPADPRO_StrategyValue2, 5), "", "");
O primeiro parâmetro da função é o nome da variável.
O segundo parâmetro da função é o valor da variável em um formato conveniente!
Atenção! Adicione um número par de parâmetros para garantir uma exibição organizada na tela!
Publicações relacionadas
Tick Hamster Robô de negociação automática. Nada extra!
Tick Hamster – Expert Advisor com Otimização Automática para Qualquer Símbolo de Negociação no MetaTrader Tick Hamster é um Expert Advisor…
Copylot – Copiador de transações forex para MetaTrader. Copiador entre
Copiador de transações para MetaTrader. Ele copia transações forex, posições e ordens de qualquer conta. É um dos melhores copiadores de transações…
Painel de negociação VirtualTradePad (VTP). Trade Pad para negociação com
Trade Pad para negociação com um clique a partir do gráfico e do teclado. VirtualTradePad ou VTP – painel de controle…
Templates MQL Open Source. Modelo para Criar um Expert Advisor
Resumo Criar Expert Advisors (EAs) para testar sua estratégia usando qualquer indicador pode realmente ser simplificado usando templates e recursos de…
Averager. Média de posições de negociação. Abrindo operações contra a
Média de posições. Abertura de posições adicionais na tendência e contra a tendência com a função de trailing stop geral…
InfoPad, Painel de Informação Online para MetaTrader
InfoPad é um painel de informação altamente útil projetado para fornecer informações cruciais sobre o par de moedas específico selecionado…
Forex Tester Pad é um simulador de trading para o
Trading com um clique no gráfico do Strategy Tester. A ferramenta permite que você teste manualmente suas estratégias no Strategy…
Duplicator – Duplicação de operações/posições nos terminais MetaTrader
O Exp-Duplicator é um Expert Advisor automático projetado para duplicar operações e posições um número predefinido de vezes na sua…
The xCustomEA Advisor no PipFinite Trend PRO.
Descrição Um exemplo de programação de uma estratégia para o PipFinite Trend PRO indicador e negociação usando nosso sistema de negociação…
EAPadPRO – Painel de Informação para nossos especialistas. Painel de
Painel de informação para todos os nossos consultores e utilitários para o terminal MetaTrader. Instruções detalhadas sobre o básico…
SafetyLOCK PRO Proteja suas posições usando ordens pendentes opostas. Hedge
SAFETYLOCK: Proteja suas negociações contra reversões bruscas de mercado Negociar nos mercados financeiros envolve altos riscos, especialmente durante reversões bruscas de…
EA The xCustomEA: Consultor de Negociação Universal para Indicadores Personalizados.
Consultor de negociação universal em indicadores personalizados para MetaTrader. Exp – The xCustomEA Consultor de negociação universal em indicadores personalizados. The…
AI Sniper. Expert Advisor Inteligente e Automático para MetaTrader.
AI Sniper é um robô de negociação inteligente e auto-otimizável projetado para os terminais MT4 e MT5. Ele utiliza um…
Close Minus by Plus, Fechando posições não lucrativas buscando e
Fechando posições não lucrativas identificando e fechando as lucrativas. O Expert Advisor (EA) foi projetado para fechar posições não lucrativas identificando…
Este post também está disponível em: English Portuguese Español Deutsch Українська Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt









