Erros, bugs, perguntas - página 1591

 
Sergey Kruglov:
O problema é que quando descarrego uma versão experimental de alguma EA no mt4, abre-se um terminal não funcional, e depois apaguei-o e agora não abre nenhum terminal, embora tenha mais três deles instalados. Há alguma forma de especificar que os programas são descarregados para um determinado terminal?
Pesquisa directamente do terminal desejado - existe um campo de pesquisa no canto superior direito do MetaTrader 5.
 

Pergunta para os conhecedores.

Preciso de descobrir quanta memória posso usar para a consulta do CopyTicks para não ficar 'fora da memória'.

Infelizmente não consigo descobrir através do terminal quanta memória disponível tenho actualmente.

Estou a usar um guião simples para obter a informação:

void OnStart()
  {
   int memory_physical=TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL);
   printf("Physical memory in the system: %d MB",memory_physical);

   int memory_total=TerminalInfoInteger(TERMINAL_MEMORY_TOTAL);
   printf("Memory available to the process of the terminal (agent): %d MB",memory_total);

   int memory_available=TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE);
   printf("Free memory of the terminal (agent) process: %d MB",memory_available);

   int memory_used=TerminalInfoInteger(TERMINAL_MEMORY_USED);
   printf("Memory used by the terminal (agent): %d MB",memory_used);
  }

2016.05.29 09:50:50.642    MemoryTest (EURUSD,H1)    Memory used by the terminal (agent): 319 MB
2016.05.29 09:50:50.632    MemoryTest (EURUSD,H1)    Free memory of the terminal (agent) process: 23963 MB
2016.05.29 09:50:50.621    MemoryTest (EURUSD,H1)    Memory available to the process of the terminal (agent): 24282 MB
2016.05.29 09:50:50.611    MemoryTest (EURUSD,H1)    Physical memory in the system: 12141 MB

Por alguma razão, a memória disponível é duas vezes maior do que a memória física. Não é a troca, é pequena (400 MB). Estava à espera que o valor fosse como no gestor de tarefas, a memória disponível é de cerca de 7000 MB.

Quem me pode dizer quais são estes números estranhos?

 

Boa noite, por favor aconselhar como se livrar do erro 4059 no testador. Quero realmente obter preços para outro instrumento, por exemplo LTCUSD, de um consultor especializado que trabalhe com um instrumento, por exemplo LTCBTC.

void OnTick()
  {
//---
   {if(One)
   { 
      ResetLastError();
      Print("1. LTCBTC >>",MarketInfo("LTCBTC",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("2. LTCUSD >>",MarketInfo("LTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("3. BTCUSD >>",MarketInfo("BTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      One=false;
   }}

  }
 
Natalja Romancheva:

Boa noite, por favor aconselhar como se livrar do erro 4059 no testador. Quero realmente obter preços para outro instrumento, por exemplo LTCUSD, de um consultor especializado que trabalhe com um instrumento, por exemplo LTCBTC.

Não no MT4.
 
Andrey Voytenko:

Pergunta para os conhecedores.

Preciso de descobrir quanta memória posso usar para a consulta do CopyTicks para não ficar 'fora da memória'.

Infelizmente, não consigo descobrir através do terminal quanta memória disponível tenho actualmente.

Estou a usar um guião simples para obter a informação:


Por alguma razão, a memória disponível é duas vezes maior do que a memória física. Não é a troca, é pequena (400 MB). Estava à espera que o valor fosse como no gestor de tarefas, a memória disponível é de cerca de 7000 MB.

Quem me pode dizer quais são estes números estranhos?

É uma memória virtual. O Windows pode aumentar o tamanho do ficheiro swap, se necessário.
 
admoon:
Na minha opinião, se()deve funcionar apenas uma vez, quando a condição entre parênteses é verdadeira. Mas na realidade, é accionada em cada verificação e todas as expressões em {} são executadas em cada passo e mastigam o tempo da máquina. O que é que isto tem a ver com a globalidade da W? É mais fácil mudar o passo a partir do terminal do que a partir do editor.

Parece que tem uma impressão errada no seu código e queria escrevê-lo desta forma:

int i;
//---
   int co=0;
   for(i=0;i<=w;i++)
     {
      if(i==10)
        {
         co++; 
         Alert(co);
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
 
Natalja Romancheva:

iClose + iBarShift. O testador em MT4 controla a correcção do preço actual do instrumento a ser testado, a correcção dos dados de outros instrumentos deve assegurar-se

E é pouco provável que efectue uma arbitragem eficaz em MT4

 
Evgeniy Ilin:
Há alguns moderadores por perto? Enviei um pedido ao vendedor, está pendurado há 3-4 dias. Quanto tempo tenho de esperar?
Bem? Tenho uma resposta. O meu também fica pendurado, embora por um período de tempo mais curto.
 
Alexey Navoykov:

Deveria ter sido assim:

As classes modelo podem ser divididas numa declaração e numa implementação? MetaQuotes, quando introduziram as classes modelo, explicaram esta limitação.
 

Insecto variável

Construir 1340 MT5.

Se colocar em variáveis:

input bool test=false;

extern bool test=false;

então o compilador não dará um erro, mas nos parâmetros da EA no gráfico - estes parâmetros desaparecerão.


Por isso é como se fossem duas variáveis diferentes, embora sejam a mesma coisa.