Limite de Entradas por dia.

 
Estou com a seguinte situação, estou rodando um EA do metatrader 5 em conta demo da corretora XP e em conta real da corretora genial investimentos. Estou rodando exatamente o mesmo EA com o mesmo set. Ocorre que na o que roda na conta demo não respeita o número máximo de cliclo/entradas por dia. Então, ontem por exemplo, um set que era pra rodar até 2 entradas, na conta demo abriu 2 e parou, na conta real chegou a 5 entradas. Repito, o mesmo arquivo de EA, o mesmo SET, o mesmo ativo, o mesmo horário, absolutamente tudo igual. Inclusive em backtest tudo funciona perfeitamente bem nas duas contas. A única diferença é a corretora e o diretório onde o metatrader 5 foi instalado, ou seja, a primeira instância foi instalada em diretório padrão definido pelo próprio arquivo de instalação do metatrader, a segunda instância foi colocada em um diretório diferente, escolhido por mim, para não sobrepor a primeira instalação, claro. Vocês já tiveram alguma situação semelhante?
 
Thiago LopesEstou com a seguinte situação, estou rodando um EA do metatrader 5 em conta demo da corretora XP e em conta real da corretora genial investimentos. Estou rodando exatamente o mesmo EA com o mesmo set. Ocorre que na o que roda na conta demo não respeita o número máximo de cliclo/entradas por dia. Então, ontem por exemplo, um set que era pra rodar até 2 entradas, na conta demo abriu 2 e parou, na conta real chegou a 5 entradas. Repito, o mesmo arquivo de EA, o mesmo SET, o mesmo ativo, o mesmo horário, absolutamente tudo igual. Inclusive em backtest tudo funciona perfeitamente bem nas duas contas. A única diferença é a corretora e o diretório onde o metatrader 5 foi instalado, ou seja, a primeira instância foi instalada em diretório padrão definido pelo próprio arquivo de instalação do metatrader, a segunda instância foi colocada em um diretório diferente, escolhido por mim, para não sobrepor a primeira instalação, claro. Vocês já tiveram alguma situação semelhante?

Para obter ajuda útil, poste trecho do código que controla o número de posições diárias.

Regras e recomendações do fórum:

  • Você deve compartilhar o código usando o botão "Código".

 

Estou utilizando esse código:


void SalvarCiclosDoDia()
{
   string chave = "Ciclos_" + IntegerToString(MagicNumber) + "_" + IntegerToString(AccountNumber());
   GlobalVariableSet(chave + "_Data", (double)dataAtual);
   GlobalVariableSet(chave + "_Ciclos", (double)ciclosHoje);
   GlobalVariableSet(chave + "_Ativo", _Symbol);
}

void CarregarCiclosDoDia()
{
   string chave = "Ciclos_" + IntegerToString(MagicNumber) + "_" + IntegerToString(AccountNumber());
   
   if(GlobalVariableCheck(chave + "_Data") && GlobalVariableCheck(chave + "_Ciclos"))
   {
      datetime dataSalva = (datetime)GlobalVariableGet(chave + "_Data");
      int ciclosSalvos = (int)GlobalVariableGet(chave + "_Ciclos");
      
      datetime hoje = TimeCurrent();
      datetime diaHoje = hoje - (hoje % 86400);
      datetime diaSalvo = dataSalva - (dataSalva % 86400);
      
      if(diaHoje == diaSalvo)
      {
         ciclosHoje = ciclosSalvos;
         dataAtual = dataSalva;
         Print("Ciclos carregados de variável global: ", ciclosHoje);
      }
      else
      {
         ciclosHoje = 0;
         dataAtual = hoje;
      }
   }
   else
   {
      ciclosHoje = 0;
      dataAtual = TimeCurrent();
   }
}


Em uma conta funciona normalmente e na outra não.

 
Thiago Lopes #Estou utilizando esse código: [ . . . ] Em uma conta funciona normalmente e na outra não.
Não houve queda na conexão/reinicialização do terminal da conta real? Uma forma mais segura para fazer essa verificação seria a partir das posições atualmente abertas e do histórico de negociações.