Erros, bugs, perguntas - página 573

 

Se escrever na data-17.11.2011, o comentário deve estar no topo. :)

 

Ou deveria o comentário de 16 estar no topo?

A resposta é não - o testador é a resposta?

 
Konstantin83:

Quero descarregar os dados para Janeiro de 2009. Descarreguei dados durante 15 minutos e hora, mas não consigo descarregar os dados durante 5 minutos, diz que não há histórico. Porque não é descarregado um histórico de 5 minutos?

Acho que descobri. O testador carrega os dados automaticamente, e eu próprio tenho de descarregar o histórico para o terminal.
 
mario065:

Olá,

Eu, depois de testar e permitir a optimização, obtenho isto:

Passe genético Core 1 (127, 1195) testado com erro "critical runtime error

O teste é normal.

Veja os registos completos do agente em que este passe foi executado.

 
alexvd:

Veja os registos completos do agente em que este passe foi realizado.

Procurei-o justificadamente. Não há problema.
 


O agente está a dormir...

Descobri no meu perfil que um dos agentes não tem estado activo desde 12 de Novembro. Dados os problemas com a construção dos 540, nada parece estranho. Já é habitual que os agentes estejam constantemente em contacto com os servidores, mas não recebem tarefas.

Pasta de registo de verificação: o último registo foi datado de 13 de Novembro. Ao mesmo tempo, o gestor do agente mostra o estatuto de "em execução". O agente vizinho está activo.

A máquina (netbook) já não reinicia há bastante tempo. Das situações suspeitas foram hibernação com bateria quase vazia e, claro, interrupções de ligação de natureza diferente (desligar o modem, mudar para outro fornecedor e voltar)...

 
A função MathCeil retorna um valor duplo, embora fosse mais lógico utilizar int.
Документация по MQL5: Математические функции / MathCeil
Документация по MQL5: Математические функции / MathCeil
  • www.mql5.com
Математические функции / MathCeil - Документация по MQL5
 

Diz-me como escrever em várias moedas, a minha moeda mostra resultados diferentes, dependendo do par em que se coloca no testador.

Tal problema no onTick, e na função onTimer, e também têm diferenças

significa que ao testar apenas 1 par recebo muitas variantes, e não consigo optimizar

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Lazarev:

Diz-me como escrever em várias moedas, a minha moeda mostra resultados diferentes, dependendo do par em que se coloca no testador.

Tal problema no onTick, e na função onTimer, e também têm diferenças

Isto é, ao testar apenas 1 par, recebo muitas variantes - não consigo optimizar

A diferença está na introdução da informação.

https://www.mql5.com/ru/articles/234

Реализация мультивалютного режима в MetaTrader 5
Реализация мультивалютного режима в MetaTrader 5
  • 2011.01.10
  • Konstantin Gruzdev
  • www.mql5.com
Интерес к мультивалютному анализу и мультивалютной торговле существует давно. Но только с выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность реализации полноценного мультивалютного режима. В данной статье предложен способ, позволяющий проводить анализ и обработку всех поступающих тиков по множеству финансовых инструментов. В качестве иллюстрации рассмотрен мультивалютный индикатор RSI для индекса доллара USDx.
 

Começo a optimização de um Expert Advisor de moeda única, recebo erros

2011.11.20 10:11:56 Core 1 genetic pass (5, 16006708415) testado com erro "critical runtime error"
2011.11.20 10:11:55 Core 1 genetic pass (0, 47086630498) testado com erro "critical runtime error"
2011.11.20 10:11:52 Core 2 genetic pass (3, 63311127073) testado com erro "critical runtime error"
2011.11.20 10:11:48 Core 2 genetic pass (2, 619331615303030) testado com erro "critical runtime error" 20 10:11:48 Passe genético do núcleo 2 (2, 61933161530) testado com erro "critical runtime error"
2011.11.20 10:11:43 Passe genético do núcleo 2 (1, 15907465424) testado com erro "critical runtime error"
2011.11.11.20 10:11:42 Sincronização comum do Core 2 concluída
2011.11.20 10:11:42 Core 2 autorizado (agent build 540)

O separador resultados da optimização não mostra os parâmetros que causaram o erro, os registos do testador mostram o seguinte

LF 0 Night_v3_27 (USDCHF,M5) 10:44:47 2011.01 00:00:00 Código de erro: 0; Descrição: Operação bem sucedida
FK
0 Night_v3_27 (USDCHF,M5) 10:44:47 2011.01 00:0101 00:00:00 Teste 1
HN 2 Símbolos 10:44:47 sem preços para o símbolo USDCHF
NH 2 Símbolos 10:44:47 sem preços para o símbolo USDCHF
DQ 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
JK 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
PE 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
FN 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
LK 0 Night_v3_27 (USDCHF,M5) 10:44:47 2011.01.01 00:00:00 Código de erro: 0; Descrição: Operação bem sucedida
DE 0 Night_v3_27 (USDCHF,M5) 10:44:47 2011.01.01 00:00:00 Teste 2
FQ 2 Símbolos 10:44:47 sem preços para o símbolo USDCHF
LK 2 Símbolos 10:44:47 sem preços para o símbolo USDCHF
RE 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
HN 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
NH 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
DQ 2 Symbols 10:44:47 sem preços para o símbolo USDCHF
JH 0 Night_v3_27 (USDCHF,M5) 10:44:47 201101.01 00:00:00 Código de erro: 0; Descrição: Operação bem sucedida
ER 0 Night_v3_27 (USDCHF,M5) 10:44:47 2011.01.01.01 00:00:00 Teste 3

Onde o comentário do Teste sai no bloco seguinte

CSymbolInfo       Exp_Symbol_Info;           // symbol info object  

if(!SymbolInfoInteger(Exp_Symbol,SYMBOL_SELECT))
     {
      if(GetLastError()==ERR_MARKET_UNKNOWN_SYMBOL) return(false);
      ResetLastError();
      if (SymbolSelect(Exp_Symbol, true))
       {
        Print("Символ " + Exp_Symbol + " выбран в окне MarketWatch.");
       }
      else
       {
        Print("Произошла ошибка при выборе символа " + Exp_Symbol);
        GetMyLastError(GetLastError());
       }
     }
   ResetLastError();
   GetMyLastError(GetLastError());
   Print("Test 1");

   if (!Exp_Symbol_Info.Name(Exp_Symbol))
    {
     return(false);
    }

   ResetLastError();
   GetMyLastError(GetLastError());
   Print("Test 2");

   Exp_Symbol_Info.Refresh();
   Exp_Symbol_Info.RefreshRates();
   ResetLastError();
   GetMyLastError(GetLastError());
   Print("Test 3");

Acontece que o erro é emitido quando uma classe de comércioCSymbolInfo padrão é inicializada?