Friday 24 November 2017

Forex Ea Magic Number


MetaTrader 4 - Exemplos MagicNumber: quotMagicquot Identificador da Ordem 1. Preâmbulo Em 3, o gerenciamento de posições abertas foi bastante demorado. Os comerciantes tinham à sua disposição um conjunto de ferramentas bastante limitado para trabalhar com a lista de posições abertas e fechadas. O problema de distinguir entre posições próprias e outras foi resolvido de maneiras bastante complicadas. Em 4, a situação mudou cardinalmente. Agora, o comerciante pode usar uma grande variedade de funções e gerenciar completamente todas as posições abertas e encomendar ordens e obter acesso a informações sobre quaisquer posições fechadas. Um parâmetro especial chamado MagicNumber foi adicionado para identificar pedidos. Este é o parâmetro com o qual nosso artigo tratará. 2. O que é MagicNumber int OrderSend (símbolo de seqüência, int cmd, duplo volume, preço duplo, deslizamento int, double stoploss, double takeprofit, string commentNULL, int magic0. Datetime expiration0, color arrowcolorCLRNONE) magic - Order magic number. Pode ser usado como identificador definido pelo usuário, isto é, Quando uma ordem está sendo colocada (uma posição está sendo aberta), pode-se atribuir um número exclusivo a ela. Esse número, portanto, será usado para distinguir a ordem acima dos outros. Não há uso (ou mesmo possibilidade) aplicando esse recurso ao negociar manualmente, mas é realmente inexplicável ao negociar usando um especialista (negociação automatizada). Exemplo 1: Um comerciante humano e um especialista estão negociando no terminal do cliente ao mesmo tempo. Tarefa: o especialista deve negociar de acordo com seu algoritmo e pode não fazer nada com as posições abertas manualmente. Solução: o especialista deve atribuir um MagicNumber único e não nulo à posição que está sendo aberta. No futuro, ele deve gerenciar apenas posições, cujo MagicNumber é igual ao predefinido. Exemplo 2: Dois especialistas com algoritmos diferentes estão negociando no terminal do cliente ao mesmo tempo. Tarefa: o especialista deve gerenciar apenas suas ordens. Solução: Cada especialista deve usar seu MagicNumber exclusivo não-zero ao abrir posições. No futuro, eles devem gerenciar apenas posições, cujo MagicNumber é igual ao predefinido. Exemplo 3: Vários especialistas, um comerciante humano e um especialista auxiliar que percebem um Trailing Stop não padrão estão operando no terminal do cliente simultaneamente. Tarefa: os especialistas em negociação devem funcionar de acordo com seus algoritmos e podem não fazer nada com as posições abertas manualmente. O especialista assistente que realiza o Trailing Stop pode modificar apenas as posições abertas manualmente, mas não as abertas por outros especialistas. Solução: os especialistas em negociação devem usar MagicNumbers únicos e gerenciar apenas suas posições. O especialista assistente deve modificar apenas as posições com o MagicNumber igual a 0. Todos os três exemplos são bastante realistas, e os usuários provavelmente poderiam ter definido esses problemas para si mesmos. Em todos os três casos, o MagicNumber é usado para resolvê-lo. Desta forma, não é o único, mas o mais fácil. 3. Realização Agora, deixe-nos resolver a tarefa específica: crie um especialista que possa trabalhar apenas com suas próprias posições sem prestar atenção às posições abertas manualmente ou por outros especialistas. Digamos primeiro um especialista simples, para o qual o sinal para abrir uma posição será quando o indicador MACD atende a linha zero. O especialista ficará assim: Vamos anexá-lo ao gráfico e ver como ele funciona: tudo está bem, mas há um problema aqui. Se abrimos uma posição durante a operação de especialistas, considerará esta posição como sua própria e agirá em conformidade. Isto não é o que queremos. Vamos modificar o nosso especialista de forma a gerenciar apenas suas próprias posições: adicione a variável externa denominada ExpertID para ser usada para alterar os valores de MagicNumber para posições abertas pelo especialista. Após a seleção da posição OrderSelect () Adicione verificar se o MagicNumber da ordem selecionada está em conformidade com a da variável ExpertID. Escreveremos o valor do ExpertID em vez de 0 no campo MagicNumber durante a abertura da posição Considerando as alterações acima, o código aparecerá da seguinte forma: Agora, quando O especialista está funcionando, o usuário pode abrir posições manualmente. O especialista não os tocará. 4. Múltiplos especialistas idênticos em gráficos diferentes de um símbolo Existem casos em que o mesmo EA deve negociar nos gráficos do mesmo símbolo, mas com diferentes prazos, por exemplo. Se tentarmos juntar nosso especialista ao gráfico EURUSD, H1 e ao EURUSD, M30, simultaneamente, eles interferirão mutuamente: cada um considerará a posição aberta para ser sua posição e modificá-la a seu critério. Esse problema pode ser resolvido ao atribuir outro ID do Expert ao outro especialista. Mas isso não é muito conveniente. Se houver muitos especialistas usados, pode-se ficar emaranhado entre seus IDs. Podemos resolver este problema usando o período do gráfico como MagicNumber. Como devemos fazê-lo Se nós apenas adicionar o período do gráfico ao ExpertID, é possível que 2 especialistas diferentes em 2 gráficos diferentes gerem o mesmo MagicNumber. Então, vamos multiplicar o ExpertID em 10 e colocar o período do gráfico (seu código de 1 a 9, para ser exato) no final. Isso parecerá algo assim: agora adicione este código à função init () dos especialistas e substitua o ExpertID por MagicNumber em todos os lugares. A versão final da EA parece assim: em tal aparência, o especialista pode ser usado em vários gráficos com diferentes períodos. O valor da variável ExpertID será apenas alterado se houver necessidade de iniciar dois especialistas em gráficos do mesmo símbolo e período (por exemplo, EURUSD H1 e EURUSD H4), mas isso acontece extremamente raramente. Da mesma forma, usando o código acima, o usuário pode melhorar suas EAs e ensinar-lhes a distinguir suas posições dos estrangeiros. Aviso: todos os direitos sobre esses materiais são reservados pela MQL5 Ltd. É proibida a cópia ou reimpressão desses materiais, no todo ou em parte. Número de massa 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 é o dono do carro. Os números mágicos funcionam como placas de licença para consultores especializados. Quando um consultor especialista detecta um comércio aberto, chamado de ticket, ele 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 ele sabe gerenciar 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 das dos preços M1 versus as que eles usariam no gráfico diário. Se eles usassem 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 EMPTYVALUE e protege o nome como um valor inteiro . OneStepRemoved é uma empresa especializada em programar um consultor especialista para comerciantes. Shaun Overton é o proprietário da empresa. Estratégias de negociação GRATUITAS por e-mail Tradução Inglês () Deutsch Bahasa Melayu Portugus Espaol Free Free Trading Strategies Copyright copy 2017 OneStepRemoved, Inc. Todos os direitos reservados.

No comments:

Post a Comment