Erros, bugs, perguntas - página 97

 
EvgeTrofi:

Se o retorno tem muitos parênteses - começa a ficar confuso!?

Aqui, por exemplo, é uma função que devolve um número de uma cadeia como "klsfd Passo 2":

Qual é a sua diferença em relação a este?

O segundo causará problemas de tempo de compilação, enquanto o primeiro não.

Experimente isto

int GetStep(string text){
   string Right;
   int U = StringFind(text, "Step ");
   int End;
   if(U>=0){
      U=U+5;
      Right = StringSubstr(text, U);
      End = StringFind(Right, ".");
      return((int)(MathRound(StringToDouble(StringSubstr(text, U, End-U)))));
   }
   return(0);
}
 
Interesting:

É necessário converter explicitamente o resultado para o tipo int.

PS

Mas como entendo este aviso pode ser ignorado em princípio...

Bem, é claro, mas logicamente não é correcto! Uma expressão à direita do sinal de igualdade deve devolver o tipo int!

 
EvgeTrofi:

Bem, é compreensível, mas logicamente não é correcto! A expressão à direita do sinal de igual deve retornar ao tipo int ?!

É int para SYMBOL_TRADE_STOPS_LEVEL mas a função pode devolver outros tipos também...

Identificador

Descrição

Tipo de propriedade

SYMBOL_SELECT

Indica que o símbolo é seleccionado no Market Watch

bool

SYMBOL_VOLUME

Volume - Volume do último comércio

longo

SYMBOL_VOLUMEHIGH

Volume máximo para o dia

longo

SYMBOL_VOLUMELOW

O volume mais baixo do dia

longo

SYMBOL_VOLUMEBID

Volume em licitação actual

longo

SÍMBOLO_VOLUMEASK

Volume em Ask actual

longo

SÍMBOLO_TIME

Tempo da última citação

data/hora

SÍMBOLO_DIGITOS

Número de casas decimais

int

SYMBOL_SPREAD

Tamanho de espalhamento em pips

int

SYMBOL_SPREAD_FLOAT

Sinal de um espalhamento flutuante

bool


PS

Além disso, como já escrevi acima, este aviso pode ser "ignorado" se puder ter a certeza de que o código está correcto...

 
Pode por favor dizer-me como desligar a actualização automática? O meu local de trabalho dá-me apenas 200 MB por um mês. Mais uma actualização e o trânsito vai abaixo :(
 
EvgeTrofi:
Pode por favor dizer-me como desligar a actualização automática? O meu local de trabalho dá-me apenas 200 MB por um mês. Mais uma actualização e o tráfego será arruinado :(
Não são possíveis formas padrão, pelo menos ainda não...
 

"actualizado" para a última construção - como resultado, cada vez que se liga à Internet, o cliente inicialmente consome 60 mb, depois não responde, forçado a fechar o

cliente através do gestor de tarefas, abriu o programa "disco de desfragmentação Esta secção da unidade (onde o cliente está instalado) é muito fragmentada, desfragmentação

ainda não ajuda, os ficheiros no directório (onde o terminal MQL-5 está instalado) ainda estão fragmentados.

 
Reescrevi a minha EA de MQL4 para MQL5. Ao compilar - não comete um único erro ou comentário. Durante os testes - nem uma única transacção. Onde posso encontrar a razão para este resultado? O que devo procurar primeiro?
 
EvgeTrofi:
Reescrevi a minha EA de MQL4 para MQL5. Ao compilar - não comete um único erro ou comentário. Durante os testes - nem uma única transacção. Onde posso encontrar a razão para este resultado? Qual deve ser a primeira coisa a procurar?
Posso ver o registo do consultor especializado no Testador de Estratégia (de preferência como um ficheiro)?
 
O registo está, poder-se-ia dizer, em branco. Estou habituado a que a MQL4 escreva como um lote errado ou uma paragem errada....
 
EvgeTrofi:
O registo está, poder-se-ia dizer, em branco. Estou habituado a que a MQL4 escreva como um lote errado ou uma paragem errada....

Este é o diário de bordo do testador, com indicação de onde olhar para o diário de bordo do agente

MN      0       Tester  13:42:54        log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100817.log" written