Resposta

Duplique este EA com o atualizador automático de números mágicos.

5 respostas

Conde-Roy

Assinante, bbp_participante, comunidade, 69 respostas.

Perfil da visita

10 anos atrás #113370

Seria bom ter uma função que permitisse duplicar o seu EA com um simples toque no botão que dimensiona automaticamente os números mágicos.

 

Digamos que você tenha um EA com 20 números mágicos diferentes e queira ter dois ou mais EAs com o mesmo conjunto de regras sendo executados simultaneamente. Então, tudo o que você precisa fazer é pressionar o botão (duplicar/copiar) do EA e o EA Wizard reconhecerá os números mágicos atuais e replicará o EA, mas com a próxima sequência de números que normalmente ocorre; nesse caso, 21 - 40 etc.

 

saudações,

 

Roy

 

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

10 anos atrás #128940

Obrigado pela sugestão, concordo que às vezes seria útil.

Marcar
EstratégiaQuant arquiteto

0

beniko

Assinante, bbp_participante, comunidade, 31 respostas.

Perfil da visita

10 anos atrás #129607

Olá, Conde-Roy,

 

Neste momento, o que você pode fazer é criar todas as variáveis que usará para os números mágicos e, em seguida, criar uma nova regra que faça o seguinte:

 

Se

o bar está aberto

 

Depois

atribuir valores

MagicNumber2=MagicNumber1+1

MagicNumber3=MagicNumber2+1

MagicNumber4=MagicNumber3+1

etc...

 

Em outras palavras, o usuário precisa configurar o primeiro MagicNumber e todos os outros serão calculados com base nele.

 

Mark, como sugeri em meu último tópico, uma guia de inicialização seria útil. Esse é um bom exemplo para o qual alguém poderia usá-la, já que o EA não faria os cálculos acima após a criação de cada nova barra.

 

Cumprimentos

0

Conde-Roy

Assinante, bbp_participante, comunidade, 69 respostas.

Perfil da visita

10 anos atrás #129654

Ainda assim, como isso fica em um arquivo sqw? Você poderia compartilhar o modelo?

0

beniko

Assinante, bbp_participante, comunidade, 31 respostas.

Perfil da visita

10 anos atrás #129655

Aqui está. Também adicionei uma regra que escreve os números mágicos na tabela.

0

D0NKbet

Assinante, bbp_participante, comunidade, 6 respostas.

Perfil da visita

10 anos atrás #129757

Em meus EAs desenvolvidos por mim mesmo, estou usando um pouco de código que gera um número mágico exclusivo com base em...

 

- Prazo

- Símbolo

- Nome da EA

// criar número mágico uniq para par de moedas e período de tempo
   int MNSymbol,MNSymbolCalc;
   //transforma o Symbol() em uma string ASCII e adiciona cada caractere ao MNSymbol
   for(int a=0;a<StringLen(Symbol());a++){
      MNSymbolCalc=StringGetChar(Symbol(), a);
      MNSymbolCalc=((MNSymbolCalc-64)*(MathPow(10,(a))));//subtrair 64 b/c os caracteres ASCII começam em 65, multiplicar o resultado pela potência a-ésima para fins de limpeza (embora desnecessário)
      MNSymbol = MNSymbol+MNSymbolCalc;
   }
   int MNPeriod=Period();
   
   // transformar o nome do EA em uma string ASCII
   int MNExpert,MNExpertCalc;
   for(int a=0;a<StringLen(WindowExpertName());a++){
      MNExpertCalc=StringGetChar(WindowExpertName(), a);
      MNExpertCalc=((MNExpertCalc-64)*(MathPow(10,(a))));//subtrair 64 b/c os caracteres ASCII começam em 65, multiplicar o resultado pela potência a-ésima para fins de limpeza (embora desnecessário)
      MNExpert = MNExpert+MNExpertCalc;
   }
   // calcular o número mágico único
   MagicUnique=MathAbs(MNExpert + MNSymbol + MNPeriod);
   Comentário("Número mágico único: " + IntegerToString(MagicUnique));

Ele não é perfeito e deve ser modificado para criar posições diferentes para COMPRA / VENDA, mas, dessa forma, é certo que o número é único, mesmo se você anexar o mesmo EA em diferentes pares de moedas ou períodos de tempo 

 

Talvez você possa adicionar algo assim ao EA Wizard? Digamos que o código acima + a diferença entre as ordens de compra e venda + um contador em execução, dependendo de quantas regras existem para a criação de ordens. Assim, ninguém precisaria mais se preocupar com os números mágicos. 

0

Visualizando 5 respostas - 1 até 5 (de um total de 5)