Dinâmico (Número Mágico) - Randomizing
Página 1 de 745 1 2 3 ... ÚltimaÚltima
Results 1 to 10 of 41

Thread: Dinâmico (Número Mágico) - Randomizing

  1. #1
    Olá a todos,

    Eu não sou um programador MQL e curioso se faria algum sentido e se é possível programar em um número mágico dinâmico no EA?

    Eu costumava fazer alguma programação em linguagens de tipo de script e costumávamos usar funções aleatórias () ou rand ().

    Além disso, faria alguma diferença para os Criminais, como S Hopwood menciona ao determinar se este EA é um EA ou não ...

    Eu também estava pensando em combinar vários EAs em uma conta para jogá-los fora. Alguma ideia?

  2. #2

    Tudo muito obrigado! RR, esse script vai ser ótimo, vai ter que testá-lo.
    Eu acredito que Kennyhubbard merece o crédito não eu.

  3. #3
    O objetivo do MagicNumber é permitir que um EA saiba quais transações ele deve gerenciar. O MagicNumbers impede que um EA interfira com as negociações de outros EA.

  4. #4
    Oi Ronald, obrigado pela explicação. Eu acho que isso faz sentido. Eu acho que a preocupação é que eles supostamente são ”rastreados” pelo corretor e se há uma maneira de fazer um rastreamento do lado do cliente ou alguma maneira de escondê-lo do corretor. Tenho certeza que você já pensou em tudo isso, mas tentando descobrir uma maneira de esconder minha EA ao vivo.
    Qualquer idéia sobre como fazer isso é apreciada ... --- Estou ficando paranóico com algumas das postagens que estou lendo neste fórum ...

  5. #5
    Eu duvido que os corretores possam ver MagicNumber, mas se você estiver realmente preocupado, defina o número mágico para 0 (o mesmo número mágico se aplica a negociações abertas usando a tecla F9.

  6. #6
    Interessante você diz isso! Obrigado ... Eu acredito que algumas pessoas são ”vítimas” e culpam suas perdas com os corretores para conseguir você enquanto você dorme. Corretores de Freddy Krueger ... Bom nome para uma startup ... hmmmm ...

  7. #7
    Não acho prático fazer números mágicos aleatórios. Se houver algum número mágico além de 0, então o corretor saberá que é um EA, então um número mágico diferente não ajudará. Eu duvido que o corretor está sentado lá dizendo Oh não o temido mn 12345, vamos transar com ele. Eu uso o número mágico para analisar meus negócios, além do EA usá-lo para identificar negociações, portanto, ter 10 números mágicos diferentes para o mesmo EA não é útil. Eu criei uma rotina que gera um número mágico que é exclusivo para cada EA que eu executo, o que é especialmente importante quando eu executo múltiplos EA's em uma conta ...... Eu fiz o mn clash em uma conta ativa e não é bonito. Finalmente, mesmo que os corretores possam ver seu número mágico, como aparece quando você passa o ponteiro do mouse sobre a coluna de comentários. Eu não acho que eles possam dizer a diferença entre um script e um EA. Eu também não me importo se o corretor pode ver o meu EA ...... quando se trata desses crims, ou você começa a execução que você pede, ou você não ... é tão simples quanto isso . Se você não obtiver a execução, então siga em frente ...... você está perdendo seu tempo tentando enganar 'a casa'. Você apostaria em um cassino manipulado? Um bom EA monitora o desempenho do broker fornecendo detalhes de slippage ou requotes (eu não recebo requisições porque não uso bucketshops de execução instantânea, mas a sua escolha é se você quiser usá-los).

  8. #8

    Eu criei uma rotina que gera um número mágico que é exclusivo para cada EA que eu executo.
    Você seria gentil em postar o código ou explicar como funciona? Obrigado, --RR

  9. #9
    Eu me pergunto .... Número mágico é do tipo de dados int, talvez usando um valor negativo pode produzir algum efeito incomum?

  10. #10
    Oi Ronald, Aqui está a essência do código ...... obviamente, ele precisa ser apropriadamente incorporado a um EA ........ Código inserido int AutoMagic () {string Cur1 = StringSubstr (Symbol (), 0,3), Cur2 = StringSubstr (símbolo (), 3,3), magic1 = 0, magic2 = 0; int Period_ID = 0; if (Cur1 == EUR) magic1 = 1; if (Cur1 == GBP) magic1 = 2; if (Cur1 == USD) magic1 = 3; if (Cur1 == AUD) magic1 = 4; if (Cur1 == CHF) magic1 = 5; if (Cur1 == CAD) magic1 = 6; if (Cur1 == JPY) magic1 = 7; if (Cur1 == NZD) magic1 = 8; if (Cur2 == EUR) magic2 = 1; if (Cur2 == GBP) magic2 = 2; if (Cur2 == USD) magic2 = 3; if (Cur2 == AUD) magic2 = 4; if (Cur2 == CHF) magic2 = 5; if (Cur2 == CAD) magic2 = 6; if (Cur2 == JPY) magic2 = 7; if (Cur2 == NZD) magic2 = 8; switch (Period ()) {case PERIOD_MN1: Period_ID = 9; pausa; case PERIOD_W1: Period_ID = 8; pausa; case PERIOD_D1: Period_ID = 7; pausa; case PERIOD_H4: Period_ID = 6; pausa; case PERIOD_H1: Period_ID = 5; pausa; case PERIOD_M30: Period_ID = 4; pausa; case PERIOD_M15: Period_ID = 3; pausa; case PERIOD_M5: Period_ID = 2; pausa; case PERIOD_M1: Period_ID = 1; pausa; } AutoMagic = StringConenate (EA_Number, EA_Instance_UID, magic1, magic2, Period_ID, 0); while (GlobalVariableCheck (AutoMagic)) {//se MagicNumber já existir, em seguida, incrementa Instance_UID EA_Instance_UID ; AutoMagic = StringConenate (EA_Number, EA_Instance_UID, magic1, magic2, Period_ID, 0); } if (! GlobalVariableCheck (AutoMagic)) GlobalVariableSet (AutoMagic, StrToDouble (AutoMagic));/MagicNumber não existe, então escreva-o como um Gvar se (EA_Instance_UID gt; 1) {Print (Observe que este é o número da instância EA_Instance_UID deste EA neste par de moedas!);/alertar o usuário para o conflito Alert (Múltiplas instâncias do mesmo par de moedas da EA. Verifique suas configurações de risco. EA_Instance_UID reatribuído!); } return (StrToInteger (AutoMagic)); } Essencialmente, o que ele faz é atribuir um número mágico baseado no par de moedas, no timeframe e no identificador de número EA, bem como em um identificador único de instância do EA (ou seja, o mesmo EA sendo executado na mesma moeda e no mesmo período de tempo). Ele atribui o número mágico a uma Variável Global, para que outros EAs possam verificar se o número existe. Se o número existir, ele só poderá ser o mesmo EA, o mesmo par de moedas e o mesmo período de tempo, de modo que aumentará o EA_Instance_UID por um até encontrar um que não seja usado. Em seguida, ele salva esse número mágico como uma string com o mesmo nome. Lembre-se de excluir a variável global na função uninit (), caso contrário, isso pode causar problemas. EA_Instance_UID EA_Number são declarados antes de qualquer uma das funções, então elas podem ser vistas pela função que é chamada dofunção init (). Eu acho que você também pode declará-los na função init e passá-los como parâmetros.

Permissões de Publicação

  • Não pode publicar novos tópicos
  • Não pode publicar respostas
  • Não pode publicar anexos
  • Não pode editar as suas publicações
  •  
  • Código BB está Ativo
  • Smilies estão Ativos
  • Código [IMG] está Ativo
  • Código [VIDEO] está Ativo
  • Código HTML está Desligado
O site da tradingintuitivo utiliza cookies
O site da tradingintuitivo utiliza cookies, alguns já foram definidos. Pode ler sobre a nossa utilização de cookies aqui. Por favor, clique no botão à direita para aceitar os nossos cookies. Se continuar a usar o site da tradingintuitivo, vamos supor que aceita os nossos cookies.