Erros, bugs, perguntas - página 1304

 
ns_k:
Build 1100 de 20.03.2015. O código compila multa, queria ver-se livre dos avisos. Basicamente, os avisos em si não me incomodam, mas fiquei confuso com o facto de não existir a DoubleToInt, que o compilador parece estar a sugerir ao gerar"possível perda de dados devido à conversão do tipo" :)

Nesta situação é desnecessário normalizar o valor do tipo real até 0 casas decimais, porque é normalizado^

1. Um valor do tipo real até 0 casas decimais, cujo resultado será, de qualquer forma, fundido ao tipo int, explícita ou implicitamente, e tudo o que se seguir ao ponto decimal será ignorado em qualquer caso.

2) Esta é uma operação desnecessária para o processador, é suficiente utilizar conversão de tipo explícito:

lSign = (int)(MathAbs(xPosition.Profit())/xPosition.Profit());

E para o futuro, para compreender o tema, consulte a secção de referência sobre conversões de tipo. Se não for suficiente, a Internet está cheia de informação sobre conversões de tipo em C e C++ :)

PS. sobre xPosition.Profit() Entendo que isto é uma chamada a um método de um objecto de classe, se não houver avisos sobre ele.

 

A tarefa é apagar o ficheiro se este for maior do que o necessário

   if(FileSize(file_handle)>1024) // 1 megabyte [MB] = 1048576 byte // 2 megabyte [MB] = 2097152 byte
      FileDelete(InpFileName);

Mas o ficheiro continua a crescer ... E não é apagado ...

 
VOLDEMAR:

A tarefa é apagar o ficheiro se este for maior do que o necessário

Mas o ficheiro continua a crescer ... E não é apagado ...

O ficheiro tem de ser encerrado primeiro. E depois apagar ...
 
stringo:
O ficheiro tem de ser encerrado primeiro. E depois apagá-lo.
Triado, file_handle então -1 e nenhum tamanho de ficheiro de retorno...
 
stringo:
O ficheiro tem de ser encerrado primeiro. E depois apagá-lo.
Todos perceberam, no momento da leitura do disco lembraram-se do tamanho, depois, depois de tudo, se o tamanho cresceu, então apagar ...
 
_Konstantin_:

Nesta situação é desnecessário normalizar o valor do tipo real até 0 casas decimais, porque é normalizado^

1. Um valor do tipo real com 0 casas decimais, cujo resultado será, de qualquer forma, colocado para int, explícita ou implicitamente, e tudo após o ponto decimal será ignorado em qualquer caso.

2) Esta é uma operação desnecessária para o processador, é suficiente utilizar conversão de tipo explícito:

E para o futuro, para compreender o tema, consulte a secção de referência sobre conversões de tipo. Se não for suficiente, a Internet está cheia de informação sobre conversões de tipo em C e C++ :)

PS. sobre xPosition.Profit() Entendo que é uma chamada ao método de objecto de classe, se não houver nenhum aviso sobre ele.

Obrigado!

(int) é exactamente o que o médico ordenou :)

 

Cavalheiros desenvolvedores!

A substituição de nomes de métodos e propriedades é insensível a casos, e isso é bom, mas porque é que a substituição dos nomes das próprias variáveis deve funcionar de forma diferente?

Por favor, faça tudo da mesma maneira!

Obrigado!

ps. A propósito, os nomes das funções também o são. Em geral, parece que tudo depois do ponto é insensível ao caso, e tudo primeiro não é. Por exemplo, comece a digitar Arrays - ArraySize não aparecerá na lista

 

Gostaria de saber com certeza qual é a diferença entre um Consultor Especialista e um Consultor Especialista. Anteriormente, estava convencido de que a EA está envolvida em auto-comercialização, enquanto que a EA apenas emite sinais para entrar no mercado na altura certa (daí a estrutura diferente dos blocos principais do código do programa). Então, o que está nesta linha:

\MQL5Experts\\Exemplos\MACD\MACD Amostra.mq5,

\MQL5Experts\\ExpertMACD.mq5?

Ambos transaccionam automaticamente como EAs, mas o segundo está na pasta de Consultores, ou seja, EAs.

 

Também, para as pontas dos instrumentos. A seta para cima deve mover o cursor da linha superior para a linha inferior ;)

 

Pode explicar como isto pode acontecer?

O cabeçalho mostra um período de 15 minutos, mas o gráfico mostra realmente uma hora