Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 96

 

Hola, quiero obtener la fecha de vencimientode los futuros

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

Da 1970 01 01 00 00

 

Hola,


Por favor, avise, la autovalidación muestra un error de"división por cero" en la siguiente expresión:


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

La impresión de todos los componentes muestra valores NO nulos.

¿A qué puede deberse el error?

 

MT4

¿Dónde puedo obtener la lista actual y completa de valores de int OrderType()?

La ayuda, supongo, no se ha actualizado.


¿Cuenta AccountProfit() los depósitos y las retiradas?

La ayuda no dice realmente nada sobre cómo se cuenta, qué se tiene en cuenta...

Incluso una definición precisa del término ayudaría a entender qué quieren decir los promotores y cómo debe contarse.

¿Tal vez haya una visión general de funciones similares de los desarrolladores , cuyo resultado se deriva? Tengo que recogerlo por partes...

 
Viatcheslav Pashkov:

Hola,


Por favor, avise, la autovalidación muestra un error de"división por cero" en la siguiente expresión:


La impresión de todos los componentes muestra valores NO nulos.

¿A qué puede deberse el error?


Por favor, dame un código más completo. Tipos de variables. Qué personaje. Qué valores se toman antes de la sustitución en la expresión. El resultado del cálculo de esta expresión se utiliza a continuación.

 
Kirill Belousov:

Dar un código más completo. Tipos de variables. Qué personaje. Qué valores se toman antes de la sustitución en una expresión. Donde el resultado del cálculo de esta expresión se utiliza posteriormente.

Sólo había variables predefinidasSymbol() yMODE_TICKVALUE)

No sé lo que es, pero he solucionado el tema de esta manera:

He introducido una comprobación de cero como: si la expresión no es igual a cero, entonces ejecuta.


Y todo fue bien.

No sé qué significa... pero tendré en cuenta... que el autovalidador indica una POSIBLE división por cero en el bloque INI, no una explícita.

 
Viatcheslav Pashkov:

Hola,


Por favor, avise, la autovalidación muestra un error de"división por cero" en la siguiente expresión:


La impresión de todos los componentes muestra valores NO nulos.

¿A qué puede deberse el error?

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

¿Cómo puedeser TICK_VALUE igual a cero ?

 
Viatcheslav Pashkov:

¿Cómopuede ser TICK_VALUE igual a cero ?


hasta que el terminal se conecta a la cuenta, la mayoría de las variables son cero

 
Taras Slobodyanik:

hasta que el terminal se conecta a la cuenta, la mayoría de las variables son cero


Gracias, lo tendré en cuenta.

 
Viatcheslav Pashkov:

Sólo había variables predefinidasSymbol() yMODE_TICKVALUE)

No sé qué pasa, pero he resuelto el problema de esta manera:

He introducido una comprobación de cero como : si la expresión no es igual a cero, entonces ejecuta.


Y todo fue bien.

No sé qué significa... pero tendré en cuenta... que el autovalidador indica una POSIBLE división por cero en el bloque INI, no una explícita.

Informar de una división por cero no es el problema, es la consecuencia.

Pero ahora será difícil encontrar el problema, ya que simplemente ha eliminado el inconveniente mensaje sobre la división por 0.

¿Qué está normalizando exactamente? ¿Dónde se sustituye el resultado?

Por favor, da tu código donde utilizas además el resultado de la expresión que has dado. Creo que el problema surge ahí.