Friday, 13 April 2018

Forex e um número mágico


Número mágico no MetaTrader.


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


Cada carro usa uma placa de licença. 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 polícia pode usar 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 ticket for idêntico ao número que o Expert Advisor espera, ele saberá gerenciar a posição.


Números mágicos são úteis, especialmente quando você deseja negociar vários prazos do mesmo par forex. Os comerciantes geralmente usam configurações que diferem daquelas dos preços M1 em relação àquelas que eles usariam no gráfico diário. Se eles usassem o consultor Especialista com o mesmo número mágico em todos os diferentes prazos, o resultado seria o caos. O consultor especialista abriria e fecharia posições sem rima ou razão. Definir cada consultor especialista para estabelecer um número mágico exclusivo não permite que os robôs interfiram com os outros.


Factores mágicos do número.


O número mágico de uma negociação aberta manualmente é 0.


O número que você usa para um número mágico deve ser um número que varia 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.


Número mágico.


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


Todo carro tem uma placa de licença. Quando você vê um carro em um estado diferente ou até mesmo um país diferente, você sabe que cada prato que você vê é único. 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 negócio aberto, chamado ticket, ele geralmente solicita seu número mágico. Se o número mágico do ticket corresponder ao número que o consultor especialista espera, ele saberá gerenciar o negócio.


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 geralmente usam configurações que diferem nos gráficos M1 em comparação àquelas que seriam usadas 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 as negociações aleatoriamente. Definir cada EA para usar um número mágico diferente impede que os robôs interfiram nos outros.


Fatos do número mágico.


O número mágico de uma negociação aberta manualmente é 0.


O valor de um número máximo deve estar entre 0 e 2147483647. A linguagem de programação MQL chama o ú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?


Número mágico destina-se a ser utilizado 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 negociando EURUSD.


Para permitir que cada EA reconheça negociações que "pertençam a ele" defina um número mágico diferente (ID) com cada EA.


Eu estava claro? desculpe o inglês pobre.


& quot; Mas se eu tiver apenas um EA, dois gráficos EURUSD em diferentes intervalos de tempo? Eu tenho que mudar o número mágico? Qual o número a 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 moedas diferentes (um gráfico por moeda).


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


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 moedas diferentes (um gráfico por moeda).


Eu aplico o mesmo EA para todos os cinco gráficos (o 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 moedas diferentes (um gráfico por moeda).


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


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


Resposta curta é não. Resposta correta é - depende. Seu EA deve ser inteligente o suficiente para determinar em que momento está operando se houver qualquer modificação ou exclusão de pedidos. O número mágico é uma maneira de fazer isso, embora um bom EA use outros métodos, como a verificação de 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.


Qual é o propósito do número mágico nos códigos EA, e quais são os números mágicos para todos os pares.


Qual é o propósito do número mágico nos códigos EA, e quais são os números mágicos para todos os pares ??


Número mágico é o número que você escolhe. Pode ser qualquer número que você queira, por exemplo, 12345 ou 432121 ou 929292, exatamente como você deseja. Ele é usado para marcar a ordem enviada pelo EA para encontrá-lo mais tarde, por exemplo. mover stop loss ou change take profit ou fechar esse pedido. Com o número mágico, você pode gerenciar muitos pedidos com muitos eae cada um deles saberá quais pedidos estão assinados. O número mágico é independente da moeda ou período de tempo.


Estou interessado em saber também ..


como você usa isso? e sabe o número mágico para colocar? desculpe novato.


Estou interessado em saber também ... como você usa? e sabe o número mágico para colocar? desculpe novato.


EA deve tê-lo nas configurações. Por exemplo:


Número Mágico = 1000;


Se você usar muitos EAs em um Metatrader, defina o valor do número mágico para os números diferentes para pares diferentes.


Existem casos excepcionais com alguns EAs, mas geralmente os codificadores estão informando sobre isso.


EA deve tê-lo nas configurações. Por exemplo:


Número Mágico = 1000;


Se você usar muitos EAs em um Metatrader, defina o valor do número mágico para os números diferentes para pares diferentes.


Existem casos excepcionais com alguns EAs, mas geralmente os codificadores estão informando sobre isso.


Então, como você define o número mágico no comércio? é o número do pedido?


Eu sei como colocar no EA, como sobre como colocá-lo no oreder?


Então, como você define o número mágico no comércio? é o número do pedido? Eu sei como colocar no EA, como sobre como colocá-lo no oreder?


int OrderSend (símbolo da string, int cmd, volume duplo, preço duplo, slippage int, double stoploss, takeprofit duplo, string comment = NULL, int magic = 0, expiração datetime = 0, cor arrow_color = CLR_NONE)


int OrderSend (símbolo da string, int cmd, volume duplo, preço duplo, slippage int, double stoploss, takeprofit duplo, string comment = NULL, int magic = 0, expiração datetime = 0, cor arrow_color = CLR_NONE)


não que .. como eu faço o pedido o mesmo número mágico que o que eu coloco no meu EA? está no comentário?


não que .. como eu faço o pedido o mesmo número mágico que o que eu coloco no meu EA? está no comentário?


Você quer dizer - você tem um controle que controla ordens, por exemplo, pelo número mágico 11111 e você quer abrir manualmente outro negócio e definir a mágica para aquele pedido manual para 11111 para que o possa controlá-lo?


E se eu escolher um número que alguém esteja usando, nossos negócios serão misturados?


E se eu escolher um número que alguém esteja usando, nossos negócios serão misturados?


LOL, não, o número mágico é separado para cada plataforma (cada instalação do metatrader).


Então, se eu usar 1111 e você usar 1111, ainda estamos ok? e estamos na mesma plataforma. Desculpe, apenas confuso um pouco.


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 mágica. Quando o Expert Advisor usa a função OrderSend para abrir um pedido, você define o parâmetro magic como um número exclusivo que pode ser usado posteriormente para identificar o comércio.


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


Nota: Veja o & # 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 de 1 hora do EURUSD e outro em um gráfico de 15 minutos do EURUSD. Um EA é um EA escalpelador e o outro é um EA que segue as tendências. Cada um desses EAs tem 1 negociação aberta.


Você provavelmente vai querer gerenciar a saída desses negócios de forma diferente. Além do stoploss padrão e da saída do takeprofit, você pode querer executar um trailing-stop em um trade e um channel-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 único fosse usado quando esses negócios fossem abertos, agora ele pode ser usado para identificar o que a EA abriu o negócio. 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 é tão fácil assim.


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 OrdersTotal é usada para percorrer todas as negociações abertas da conta. Aqui está um exemplo de código MQL:


(Não se preocupe, este código fica mais fácil de trabalhar depois que você fez isso milhares de vezes 🙂


Incidentalmente, essa mesma técnica é usada para obter praticamente qualquer informação sobre uma negociação: stop loss, takeprofit, open time, preço aberto, etc. (Além disso, o histórico de uma conta pode ser consultado da mesma maneira. das mesmas informações 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 um EA simples no VTS que usa a função fnOpenOrder e usa os valores padrão, você terá um EA que abre negociações usando o número mágico que é mostrado na janela de entrada quando você inicia o 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 em 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 uma negociação. (Nota: você tem que ter cuidado se quiser usar o valor do comentário para identificar um negócio porque o valor pode ser alterado pelo corretor. Na verdade, ele é alterado a qualquer momento em que o negócio é modificado).


De qualquer forma, pode ser extremamente útil ver o número mágico de uma negociação na plataforma MetaTrader. Então, por padrão, o VTS define o nome do EA e o número mágico no parâmetro de comentário. Dessa 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 do EA que abriu este comércio EURUSD é "system3", e o 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ário foi alterado pelo intermediário: 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.


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 mágica. Quando o Expert Advisor usa a função OrderSend para abrir um pedido, você define o parâmetro magic como um número exclusivo que pode ser usado posteriormente para identificar o comércio.


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


Nota: Veja o & # 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 de 1 hora do EURUSD e outro em um gráfico de 15 minutos do EURUSD. Um EA é um EA escalpelador e o outro é um EA que segue as tendências. Cada um desses EAs tem 1 negociação aberta.


Você provavelmente vai querer gerenciar a saída desses negócios de forma diferente. Além do stoploss padrão e da saída do takeprofit, você pode querer executar um trailing-stop em um trade e um channel-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 único fosse usado quando esses negócios fossem abertos, agora ele pode ser usado para identificar o que a EA abriu o negócio. 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 é tão fácil assim.


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 OrdersTotal é usada para percorrer todas as negociações abertas da conta. Aqui está um exemplo de código MQL:


(Não se preocupe, este código fica mais fácil de trabalhar depois que você fez isso milhares de vezes 🙂


Incidentalmente, essa mesma técnica é usada para obter praticamente qualquer informação sobre uma negociação: stop loss, takeprofit, open time, preço aberto, etc. (Além disso, o histórico de uma conta pode ser consultado da mesma maneira. das mesmas informações 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 um EA simples no VTS que usa a função fnOpenOrder e usa os valores padrão, você terá um EA que abre negociações usando o número mágico que é mostrado na janela de entrada quando você inicia o 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 em 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 uma negociação. (Nota: você tem que ter cuidado se quiser usar o valor do comentário para identificar um negócio porque o valor pode ser alterado pelo corretor. Na verdade, ele é alterado a qualquer momento em que o negócio é modificado).


De qualquer forma, pode ser extremamente útil ver o número mágico de uma negociação na plataforma MetaTrader. Então, por padrão, o VTS define o nome do EA e o número mágico no parâmetro de comentário. Dessa 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 do EA que abriu este comércio EURUSD é "system3", e o 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ário foi alterado pelo intermediário: 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.

No comments:

Post a Comment