Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 96

 

Olá, quero obter uma data de vencimentopara os futuros

EXPIRATION=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_EXPIRATION_TIME);

Dá 1970 01 01 00 00

 

Olá,


Favor avisar, a autovalidação mostra um erro de"divisão por zero" na seguinte expressão:


NormalizeDouble(STOP/MarketInfo( Symbol(),MODE_TICKVALUE)*10,0)*Point

A impressão de todos os componentes NÃO mostra valores zero.

Qual poderia ser a razão do erro?

 

MT4

Onde posso obter a lista atual e abrangente de valores int OrderType() ?

A ajuda, presumo, não foi atualizada.


AccountProfit() conta depósitos e saques?

A ajuda não diz realmente nada sobre como é contada, o que é levado em conta...

Mesmo uma definição precisa do termo ajudaria a entender o que os desenvolvedores queriam dizer e como deveria ser contado.

Talvez haja uma visão geral de funções similares dos desenvolvedores , cujo resultado é derivado? Tenho que recolher por pedaços...

 
Viatcheslav Pashkov:

Olá,


Favor avisar, a autovalidação mostra um erro de"divisão por zero" na seguinte expressão:


A impressão de todos os componentes NÃO mostra valores zero.

Qual pode ser a razão do erro?


Por favor, me dê um código mais completo. Tipos de variáveis. Qual personagem. Que valores são tomados antes da substituição na expressão. Onde é o resultado do cálculo desta expressão usada a seguir.

 
Kirill Belousov:

Dê um código mais completo. Tipos de variáveis. Que caráter. Que valores são tomados antes da substituição em uma expressão. Onde o resultado do cálculo desta expressão é utilizado mais adiante.

Havia apenas variáveis predefinidasSymbol() eMODE_TICKVALUE)

Não sei o que é, mas resolvi o problema desta maneira:

Introduzi uma verificação para zero, como: se a expressão não for igual a zero, então execute.


E tudo correu bem.

Não sei o que significa...mas terei em mente...que o autovalidador indica uma divisão POSSÍVEL por zero no bloco INI, não uma divisão explícita.

 
Viatcheslav Pashkov:

Olá,


Favor avisar, a autovalidação mostra um erro de"divisão por zero" na seguinte expressão:


A impressão de todos os componentes NÃO mostra valores zero.

Qual poderia ser a razão do erro?

double TICK_VALUE = MarketInfo( Symbol(),MODE_TICKVALUE);
if(TICK_VALUE ==0) return;
NormalizeDouble(STOP/TICK_VALUE *10.0)*Point
 
Vitaly Muzichenko:

Como oTICK_VALUE podeser igual a zero ?

 
Viatcheslav Pashkov:

Como oTICK_VALUE pode ser igual a zero ?


até que o terminal seja conectado à conta, a maioria das variáveis são zero

 
Taras Slobodyanik:

até que o terminal seja conectado à conta, a maioria das variáveis são zero


Obrigado, vou manter isso em mente!

 
Viatcheslav Pashkov:

Havia apenas variáveis predefinidasSymbol() eMODE_TICKVALUE)

Eu não sei o que está errado, mas resolvi o problema desta maneira:

Introduzi uma verificação para zero, como por exemplo: se a expressão não for igual a zero, então execute.


E tudo correu bem.

Não sei o que significa ... mas terei em mente ... que o autovalidador indica uma divisão POSSÍVEL por zero no bloco INI, não uma divisão explícita.

Informar uma divisão por zero não é o problema, é a conseqüência.

Mas agora será difícil encontrar o problema, pois você simplesmente removeu a mensagem inconveniente sobre a divisão por 0.

O que exatamente você está normalizando? Onde você está substituindo o resultado?

Por favor, forneça seu código onde você ainda usa o resultado da expressão que você deu. Acho que o problema surge aí.

Razão: