Friday, 20 April 2018

Qual é o número mágico no forex ea


Número mágico.


O número mágico é um conceito MetaTrader usado para rastrear as posições abertas de um consultor especializado. O conceito permite que a EA distinga os negócios que ele abriu versus aqueles que não fazia.


Todo carro possui uma placa de matrícula. Quando você vê um carro em um estado diferente ou mesmo em um país diferente, você sabe que todas as placas que você vê são únicas. A polícia pode procurar o número para determinar quem é dono do carro.


Números mágicos funcionam como placas de licença para EAs. Quando um consultor especialista lê um comércio aberto, chamado de ticket, ele geralmente solicita seu número mágico. Se o número mágico do ticket corresponder ao número que o consultor perito espera, então sabe administrar o comércio.


Números mágicos são úteis, particularmente quando você deseja negociar vários períodos de tempo do mesmo par de moedas. Os comerciantes costumam usar configurações que diferem em gráficos M1 versus aqueles que usariam no D1. Se eles aplicassem a EA com o mesmo número mágico em todos os gráficos, o resultado seria o caos. O consultor especialista abriria e fecharia negócios de forma aleatória. Definir cada EA para usar um número mágico diferente evita que os robôs interfiram com os outros.


Fatos dos números mágicos.


O número mágico de um comércio aberto manualmente é 0.


O valor de um número máximo deve estar entre 0 e 2147483647. A linguagem de programação MQL chama esse último número EMPTY_VALUE e reserva o nome como um valor inteiro.


O que é e como definir o número mágico na EA?


O número mágico destina-se a ser usado para identificação comercial. A implementação varia.


É definido quando a negociação é aberta por um EA com o comando OrderSend ().


Você tem dois EA comercializando EURUSD.


Para permitir que cada EA reconheça negócios que "pertencem a ele" defina um número mágico diferente (ID) com cada EA.


Eu estava claro? desculpe o pobre inglês.


"Mas, se eu tiver apenas um EA, dois gráficos EURUSD em prazos diferentes? Preciso mudar o número mágico? Qual número definir? Alguém? & Quot;


Existe um número mágico específico Se eu quiser que o EA gerencie o comércio aberto manualmente?


Você poderia usar o Comentário para trocas manuais idênticas e adicionar um teste para comentários específicos na EA.


Eu tenho cinco gráficos em uma plataforma para cinco diferentes moedas (um gráfico por moeda).


Eu aplico o mesmo EA para todos os cinco gráficos (mesmo EA para todas as cinco curvas).


Preciso alterar o número mágico do EA para cada gráfico (cada moeda)?


Existe um número mágico específico Se eu quiser que o EA gerencie o comércio aberto manualmente?


Você poderia usar o Comentário para trocas manuais idênticas e adicionar um teste para comentários específicos na EA.


Eu tenho cinco gráficos em uma plataforma para cinco diferentes moedas (um gráfico por moeda).


Eu aplico o mesmo EA para todos os cinco gráficos (mesmo EA para todas as cinco moedas).


Preciso alterar o número mágico do EA para cada gráfico (cada moeda)?


Eu tenho cinco gráficos em uma plataforma para cinco diferentes moedas (um gráfico por moeda).


Eu aplico o mesmo EA para todos os cinco gráficos (mesmo EA para todas as cinco moedas).


Preciso mudar o número mágico da EA para cada gráfico (cada moeda)?


A resposta curta é não. A resposta correta é - depende. Sua EA deve ser inteligente o suficiente para determinar em que medida ela está operando se houver alguma modificação ou exclusão de ordem. O número mágico é uma forma de fazer isso, embora uma boa EA use outros métodos, como a verificação do par de moedas.


Você precisará determinar se o seu código é robusto o suficiente para operar sem uma mudança de número mágico - ou se ele mesmo usa ou não o número mágico.


Número mágico no MetaTrader.


O número mágico é um conceito Metatrader usado para rastrear as posições abertas de uma EA. O conceito permite que a Ea distinga os negócios que abriu versus aqueles que não fazia.


Cada carro usa uma placa de matrícula. Quando você detecta um carro em um estado diferente ou mesmo em um país diferente, você observa que todas as placas que você encontra são únicas. A aplicação da lei pode utitlize o número para determinar quem é dono do carro.


Números mágicos funcionam como as placas para consultores especializados. Quando um consultor especialista detecta um comércio aberto, chamado de bilhete, repetidamente pede seu número mágico. Se o número mágico do bilhete é idêntico ao número que o consultor perito espera, então sabe administrar a posição.


Os números mágicos são úteis, especialmente quando você deseja trocar vários quadros temporais do mesmo par forex. Os comerciantes costumam usar configurações que diferem daqueles nos preços M1 versus aqueles que eles usariam no gráfico diário. Se utilizassem o consultor especialista com o mesmo número mágico em todos os intervalos de tempo diferentes, o resultado seria um caos. O consultor especialista abriria e fecharia posições sem rima ou motivo. Configurando cada consultor especialista para emply, um número mágico exclusivo não permite que os robôs interfiram com os outros.


Número mágico de factoids.


O número mágico de um comércio aberto manualmente é 0.


O número que você usa para um número mágico deve ser um número variando de 0 e 2147483647. A linguagem de programação MQL atribui esse último número EMPTY_VALUE e protege o nome como um valor inteiro.


Thread: Como adicionar um número mágico.


Ferramentas de Tópicos.


Modo linear Mude para o modo híbrido Mude para o modo roscado.


Como adicionar um número mágico.


Você substitui o valor 0 por isso:


Como você menciona, eu posso tentar isso também no período diferente.


Você substitui o valor 0 por isso:


Tópicos semelhantes.


NÚMERO MÁGICO.


Preciso adicionar um número mágico para este E. A.


Falta a função de número mágico.


Limite o número de negociações por dia.


Tags para este tópico.


Permissões de postagem.


Você não pode abrir novos tópicos Você não pode enviar respostas Você não pode enviar anexos Você não pode editar suas postagens.


BB Code is On Smilies is On O código [IMG] está Ligado O código [VIDEO] está Ligado O código HTML está Desligado.


Copyright & copy; 2000 - 2018, Jelsoft Enterprises Ltd.


Número mágico do MetaTrader.


Um número mágico é usado para identificar um comércio.


Quando um comerciante é aberto por um Consultor Especialista, um número mágico pode ser associado ao comércio.


OrderSend tem muitos parâmetros, um deles é chamado de magia. Quando seu Consultor Especial usa a função OrderSend para abrir um pedido, você define o parâmetro mágico para um número exclusivo que você pode usar mais tarde para identificar o comércio.


Aqui está a definição real do OrderSend diretamente do arquivo de ajuda do MetaEditor:


Nota: veja a & # 8220; magic = 0 & # 8221; na definição da função? Isso significa que o parâmetro mágico é opcional: não precisa ser definido. Além disso, quando não está definido, ele terá o valor de 0. Por sinal, as negociações abertas manualmente (não por uma EA) sempre têm um valor de número mágico de 0. Isso é bom saber que você escreve seu Consultor Especialista.


Qual é o objetivo de identificar um comércio com um número mágico?


O objetivo principal de marcar seu comércio com um número mágico é para que você possa gerenciar o comércio com base nas circunstâncias em que foi aberto. Por exemplo, suponha que você tenha essa situação:


Você está executando 2 Expert Advisors: um em um gráfico EURUSD de 1 hora e outro em um gráfico EURUSD de 15 minutos. Uma EA é uma EA de escalação e a outra é uma EA de tendência. Cada uma dessas EAs tem 1 comércio aberto.


Você provavelmente quer administrar a saída desses negócios de forma diferente. Além do padrão Stoploss e takeprofit saída, você pode querer executar um arrastar-parar em um comércio e um canal-stop no outro.


Nesse caso, não é suficiente para identificar o comércio pelo seu par de moedas, uma vez que ambos os negócios são negociações EURUSD. É aí que entra o número mágico. Se um número mágico exclusivo fosse usado quando esses negócios fossem abertos, ele agora pode ser usado para identificar o que EA abriu o comércio. Por exemplo, a EA de escalação poderia usar um número mágico de 100, e a EA de tendência pode usar um número mágico de 200.


Como obter o número mágico de um comércio aberto.


Existe uma função MQL chamada OrderMagicNumber que obterá o número mágico de uma troca. Mas não fique muito animado, não é assim tão fácil.


A função OrderMagicNumber deve ser executada em um loop de seleção de pedidos. A função MQL OrderSelect é usada para selecionar uma negociação. Depois que um comércio foi selecionado, a função OrderMagicNumber é usada para obter o número mágico. Normalmente, a função MQL OrderTotal é usada para percorrer todos os negócios abertos para a conta. Aqui está um exemplo de código MQL:


(Não se preocupe, esse código é mais fácil de trabalhar depois de você ter feito isso cerca de milhares de vezes 🙂


Aliás, esta mesma técnica é utilizada para obter qualquer informação sobre um comércio: mercado de trabalho, takeprofit, horário aberto, preço aberto, etc. (Além disso, o histórico comercial de uma conta pode ser consultado da mesma forma. Você pode obter todos da mesma informação sobre negócios fechados).


Então, agora que você pode obter o número mágico de um comércio, você pode executar uma saída comercial específica com base no número mágico. Você pode fazer isso usando a lógica if-then básica:


Usando números mágicos no VTS.


No VTS, uma variável de entrada denominada MagicNumber é criada com todos os sistemas.


A variável MagicNumber é definida e configurada no VTS Input Manager. A variável MagicNumber aparece na guia de entrada quando você inicia o EA, portanto, pode ser configurado sempre que o EA é executado. O valor padrão do parâmetro mágico para todas as funções OrderSend no VTS é a variável MagicNumber. Observe que a função OrderSend no VTS é chamada pela função VTS user-friendly fnOpenOrder.


Então, quando você cria uma EA simples no VTS que usa a função fnOpenOrder e você usa os valores padrão, você terá uma EA que abre negociações usando o número mágico que é mostrado na janela de entrada quando você inicia a EA. Veja este link para um exemplo da janela de entrada do EA e da janela do VTS Input Manager.


Aqui está uma imagem do parâmetro mágico na configuração da função VTS fnOpenOrder. Observe, está na guia avançada:


Parâmetro do número mágico no fnOpenOrder (OrderSened)


Uma vez que você pode definir o parâmetro mágico na função VTS fnOpenOrder para qualquer valor, não apenas a variável MagicNumber, a capacidade de utilizar um número mágico dentro do VTS é muito flexível.


Você pode ter notado o parâmetro de comentário. O parâmetro de comentário do OrderSend é usado para adicionar um comentário de texto a um comércio. (Nota: você deve ter cuidado se desejar usar o valor do comentário para identificar um comércio porque o valor pode ser alterado pelo corretor. Na verdade, ele é alterado sempre que o comércio é modificado).


De qualquer forma, pode ser extremamente útil ver o número mágico de uma troca na plataforma MetaTrader. Por padrão, o VTS define o nome da EA e o número mágico no parâmetro do comentário. Desta forma, você pode ver visualmente como seus negócios foram abertos na plataforma MT. Aqui está uma imagem de um comércio aberto na guia Comércio:


O nome da EA que abriu este comércio EURUSD é & # 8220; system3 & # 8221 ;, eo número mágico é 123456.


Aqui está uma imagem de um comércio fechado na guia Histórico da conta:


Observe que o campo de comentários foi alterado pelo corretor: eles adicionaram o texto & # 8220; [tp] & # 8221 ;.


Por sinal, se você não vê o campo Comentário na sua plataforma MetaTrader, pode clicar com o botão direito do mouse nas colunas e adicioná-lo.


Como obter o número mágico de uma negociação usando o VTS.


O fnGetOrderInfo gera todo o código MQL para o loop de seleção de pedidos e retorna o valor solicitado.


Compartilhe esta publicação.


Visit Author: Website All Posts.


3 Comentários.


Oi, se uma configuração está fazendo vários sinais do mesmo lado, como você programa esta EA Para gerar diferentes números mágicos em cada comércio?


Na lógica de sinal onde a função fnOpenOrder é chamada, defina um número mágico exclusivo na magia.


Você pode simplesmente inserir um número como: 8675309, ou você pode criar uma variável para manter o número e definir essa variável como mágica.


Por exemplo, crie 2 variáveis ​​com o nome & # 8220; mymagic1 & # 8221; e mymagic2 & # 8221; e atribua-os à magia.


valor do parâmetro. Então você pode definir essas variáveis ​​como & # 8220; extern & # 8221; e ser capaz de defini-los quando você anexar o EA a um gráfico. Você pode fazer isso para tantos números mágicos únicos que você precisa.


Você poderia usar uma variável como o MagicNumer e incrementar cada vez que uma negociação é aberta.


Número mágico do MetaTrader.


Um número mágico é usado para identificar um comércio.


Quando um comerciante é aberto por um Consultor Especialista, um número mágico pode ser associado ao comércio.


OrderSend tem muitos parâmetros, um deles é chamado de magia. Quando seu Consultor Especial usa a função OrderSend para abrir um pedido, você define o parâmetro mágico para um número exclusivo que você pode usar mais tarde para identificar o comércio.


Aqui está a definição real do OrderSend diretamente do arquivo de ajuda do MetaEditor:


Nota: veja a & # 8220; magic = 0 & # 8221; na definição da função? Isso significa que o parâmetro mágico é opcional: não precisa ser definido. Além disso, quando não está definido, ele terá o valor de 0. Por sinal, as negociações abertas manualmente (não por uma EA) sempre têm um valor de número mágico de 0. Isso é bom saber que você escreve seu Consultor Especialista.


Qual é o propósito de identificar um comércio com um número mágico?


O objetivo principal de marcar seu comércio com um número mágico é para que você possa gerenciar o comércio com base nas circunstâncias em que foi aberto. Por exemplo, suponha que você tenha essa situação:


Você está executando 2 Expert Advisors: um em um gráfico EURUSD de 1 hora e outro em um gráfico EURUSD de 15 minutos. Uma EA é uma EA de escalação e a outra é uma EA de tendência. Cada uma dessas EAs tem 1 comércio aberto.


Você provavelmente vai querer gerenciar a saída desses negócios de forma diferente. Além do padrão Stoploss e takeprofit saída, você pode querer executar um arrastar-parar em um comércio e um canal-stop no outro.


Nesse caso, não é suficiente para identificar o comércio pelo seu par de moedas, uma vez que ambos os negócios são negociações EURUSD. É aí que entra o número mágico. Se um número mágico exclusivo fosse usado quando esses negócios fossem abertos, ele agora pode ser usado para identificar o que EA abriu o comércio. Por exemplo, a EA de escalação poderia usar um número mágico de 100, e a EA de tendência pode usar um número mágico de 200.


Como obter o número mágico de um comércio aberto.


Existe uma função MQL chamada OrderMagicNumber que obterá o número mágico de uma troca. Mas não fique muito animado, não é assim tão fácil.


A função OrderMagicNumber deve ser executada em um loop de seleção de pedidos. A função MQL OrderSelect é usada para selecionar uma negociação. Depois que um comércio foi selecionado, a função OrderMagicNumber é usada para obter o número mágico. Normalmente, a função MQL OrderTotal é usada para percorrer todos os negócios abertos para a conta. Aqui está um exemplo de código MQL:


(Não se preocupe, esse código é mais fácil de trabalhar depois de você ter feito isso cerca de milhares de vezes 🙂


Aliás, esta mesma técnica é utilizada para obter qualquer informação sobre um comércio: mercado de trabalho, takeprofit, horário aberto, preço aberto, etc. (Além disso, o histórico comercial de uma conta pode ser consultado da mesma forma. Você pode obter todos da mesma informação sobre negócios fechados).


Então, agora que você pode obter o número mágico de um comércio, você pode executar uma saída comercial específica com base no número mágico. Você pode fazer isso usando a lógica if-then básica:


Usando números mágicos no VTS.


No VTS, uma variável de entrada denominada MagicNumber é criada com todos os sistemas.


A variável MagicNumber é definida e configurada no VTS Input Manager. A variável MagicNumber aparece na guia de entrada quando você inicia o EA, portanto, pode ser configurado sempre que o EA é executado. O valor padrão do parâmetro mágico para todas as funções OrderSend no VTS é a variável MagicNumber. Observe que a função OrderSend no VTS é chamada pela função VTS user-friendly fnOpenOrder.


Então, quando você cria uma EA simples no VTS que usa a função fnOpenOrder e você usa os valores padrão, você terá uma EA que abre negociações usando o número mágico que é mostrado na janela de entrada quando você inicia a EA. Veja este link para obter um exemplo da janela de entrada EA e da janela do Gerenciador de entrada do VTS.


Aqui está uma imagem do parâmetro mágico na configuração da função VTS fnOpenOrder. Observe, está na guia avançada:


Parâmetro do número mágico no fnOpenOrder (OrderSened)


Uma vez que você pode definir o parâmetro mágico na função VTS fnOpenOrder para qualquer valor, não apenas a variável MagicNumber, a capacidade de utilizar um número mágico dentro do VTS é muito flexível.


Você pode ter notado o parâmetro de comentário. O parâmetro de comentário do OrderSend é usado para adicionar um comentário de texto a um comércio. (Nota: você deve ter cuidado se desejar usar o valor do comentário para identificar um comércio porque o valor pode ser alterado pelo corretor. Na verdade, ele é alterado sempre que o comércio é modificado).


De qualquer forma, pode ser extremamente útil ver o número mágico de uma troca na plataforma MetaTrader. Por padrão, o VTS define o nome da EA e o número mágico no parâmetro do comentário. Desta forma, você pode ver visualmente como seus negócios foram abertos na plataforma MT. Aqui está uma imagem de um comércio aberto na guia Comércio:


O nome da EA que abriu este comércio EURUSD é & # 8220; system3 & # 8221 ;, eo número mágico é 123456.


Aqui está uma imagem de um comércio fechado na guia Histórico da conta:


Observe que o campo de comentários foi alterado pelo corretor: eles adicionaram o texto & # 8220; [tp] & # 8221 ;.


Por sinal, se você não vê o campo Comentário na sua plataforma MetaTrader, pode clicar com o botão direito do mouse nas colunas e adicioná-lo.


Como obter o Número Mágico de um Comércio usando VTS.


O fnGetOrderInfo gera todo o código MQL para o loop de seleção de pedidos e retorna o valor solicitado.


Compartilhe esta publicação.


Visit Author: Website All Posts.


4 Comentários.


Oi, se uma configuração está fazendo vários sinais do mesmo lado, como você programa esta EA Para gerar diferentes números mágicos em cada comércio?


Na lógica de sinal onde a função fnOpenOrder é chamada, defina um número mágico exclusivo no.


Você pode simplesmente inserir um número como: 8675309, ou você pode criar uma variável para manter o número e definir essa variável como o.


Por exemplo, crie 2 variáveis ​​com o nome & # 8220; mymagic1 & # 8221; e mymagic2 & # 8221; e atribua-os ao.


valor do parâmetro. Então você pode definir essas variáveis ​​como & # 8220; extern & # 8221; e ser capaz de defini-los quando você anexar o EA a um gráfico. Você pode fazer isso para tantos números mágicos únicos que você precisa.


Obrigado por este excelente artigo! Eu entendo o contexto do número mágico por troca / por instância de gráfico, mas como isso se relaciona com uma EA que poderia ter mais de uma ordem pendente aberta em direções diferentes. Digamos que a minha EA abre 1 x BUYSTOP e 1 x ordens SELLSTOP no mesmo gráfico. Eu precisaria de um número mágico exclusivo para gerenciar ambos, eu penso assim?


Isso é ampliado pelo número de gráficos que a mesma EA é adicionada, ou seja, se tivermos três gráficos em execução, isso precisaria de 6 números mágicos únicos? Meu pensamento é provavelmente o mais seguro para criar EA & # 8217; s que atendem a um número mágico exclusivo por tipo de ordem e por gráfico, mas acho que você provavelmente precisará construir alguma lógica que diga & # 8220; x = GBPUSD, se chart = x set Magic 11111 em ordens BUYSTOP ou 22222 em pedidos SELLSTOP & # 8221; ou & # 8221; x = EURGBP, se chart = x definir Magic 33333 em ordens BUYSTOP ou 44444 em pedidos SELLSTOP & # 8221;


Sim, você precisaria de um número exclusivo para vários pedidos pendentes, se quiser gerenciá-los separadamente.


E sim, aumenta com o número de gráficos, a menos que você possa gerenciar por Symbol e MagicNumber, então o MN pode ser o mesmo em gráficos com um símbolo diferente.


Existem poucos lugares no VTS EA-Builder, onde são abertos múltiplos negócios (Grid, Multi-Trade, etc.). Uma técnica que nós usamos é aumentar o MN em 1 cada vez que um novo comércio é aberto. Além disso, nós notamos que o MetaTrader não exibe mais o MN no terminal, mas o EA-Builder grava o MN, juntamente com o nome EA, para o campo de comentários, então você ainda pode ver as informações lá.


E BTW, negociações abertas manualmente têm MN de zero. É bom saber.

No comments:

Post a Comment