Errores, fallos, preguntas - página 1760

 
Alexandr Bryzgalov:

¿por qué mql5 hizo que majik sólo fuera positivo?

me encantan los majiks negativos, hombre (((

Dennis Kirichenko:
Es un verdadero fastidio con los que no son transparentes... No sé quién se guió por qué cuando los creó. Parece que diferentes personas de diferentes organizaciones...

@Dennis Kirichenko, @Alexander Bryzgalov

no hay ambigüedad.

INT(LONG) sólo toma la mitad del rango de UINT(ULONG)

Laconversión de tipos funciona sin ninguna limitación.

---

Puede comprobarlo usted mismo.

long  a=-100

ulong ua=(ulong)a;

long b=(long)ua;

Print(a, " - ", ua, " - ", b);


Todo funciona como debería.

Se pueden utilizar magos negativos.

 
Vladimir Karputov:

Tomado de la claseCPositionInfo:

bool CPositionInfo::SelectByIndex(const int index)

casi en medio de la nada )

este ejemplo es muy esperado en la sección de ayuda:"información de la cuenta"

 
Alexandr Bryzgalov:
casi en medio de la nada )
Todo es relativo: si trabajas con la biblioteca estándar cien veces al día, todo resulta muy parecido :)
 
Vladimir Karputov:
Todo es relativo: si trabajas con la biblioteca estándar cien veces al día, todo resulta muy parecido :)
trabajar con la referencia
 
o_O:

@Dennis Kirichenko, @Alexander Bryzgalov

no hay ambigüedad.

INT(LONG) sólo toma la mitad del rango de UINT(ULONG).

laconversión de tipos funciona sin restricciones

---

Puede comprobarlo usted mismo.

long  a=-100

ulong ua=(ulong)a;

long b=(long)ua;

Print(a, " - ", ua, " - ", b);


Todo funciona como debería

se puede utilizar la magia negativa

Verás, en la magia -1 compila y se ejecuta bien y lo encuentra usando esta magia.

Estaba empezando a frustrarme.

incluso así es silencioso:

uint Magik=(-1);
pero sigue sin ser negativo, sino muy jodidamente positivo).
 

Alexandr Bryzgalov:

sólo que todavía no es negativo, sino jodidamente positivo).

no cambia nada. para int es -1
 
o_O:
no cambia nada. para int es -1

El caso es que si pongo magik -1 y luego lo comparo con cero, será mayor que cero.

ese es el punto, tendremos que compararlo con medio uint o convertirlo a int

es una cuestión de técnica, pero aún así...
 
Alexandr Bryzgalov:

la cosa es que si pongo magik -1 y luego lo comparo con null, será mayor que null.

aquí está la cosa, tendrás que compararlo con medio uint o convertirlo a int

es una cuestión de técnica, pero aún así...

Si quieres comparar int con uint, el compilador debería advertirte de que esa comparación no es válida.

en cualquier caso debe realizar la conversión al mismo tipo. sin peros

 

Parece que tengo un error específico relacionado con el optimizador del compilador.

El código grande no funciona como debería - se retrasa sólo en Release (Debug - normal).

Después de un día de baile descubrí que si comento ObjectFind en un lugar los lags desaparecen.

Sin embargo, no he podido crear una muestra de pequeño tamaño con el mismo problema.

Intenté dejar ObjectFind en el código original pero añadir un Print trivial antes/después de él. Y no hubo retrasos. Cuando le quito la impresión, ¡vuelve a ralentizarse!

Parece que el optimizador del compilador ha ido demasiado lejos. No tengo ni idea de cómo escribirlo en CD, ya que no puedo crear un pequeño código de reproducción. Y si escribo una grande, será un infierno para pagar.

¿Qué se puede hacer en esta situación? Supongo que trocear un código grande siempre que sea reproducible es una opción. Pero el proyecto consta de muchas bibliotecas. Ya me ha llevado un día entero y no quiero hacerlo más.

 

Queridos desarrolladores

Por favor, haz que el depurador tenga información sobre las variables como en el asistente.

Así, paso el ratón por encima de una variable y aparece un tooltip con el valor actual de esa variable. Sería muy conveniente.