Errores, fallos, preguntas - página 1701
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Hay peces en los tikes?
Eso es lo que quiero averiguar.
Sólo tiene sentido probarlo en algunos lmax. E incluso eso es cuestionable.
¿Has probado los volúmenes, el sentimiento, el vidrio? Para mí tiene mejor sabor. Mis operaciones favoritas son las de la cinta y el cristal, pero no encuentro nada parecido en forex.
Sólo tiene sentido probarlo en algunos lmax. Y eso es dudoso.
¿Has probado los volúmenes, el sentimiento, el vidrio? Para mí tiene mejor sabor. Mi operación favorita es con Ribbon y Gauge, pero no hay nada parecido en forex.
Quiero probar el intercambio. De alguna manera, hasta ahora tengo claro lo que hay que hacer allí. Y no está claro por qué no se hace ni siquiera en forma de indicadores.
Sólo los bichos me retrasan.
Ejecuto un script como este
y obtener
DBL_MAX= 1.797693134862316e+308
IntegerToString(int(DBL_MAX) )= -2147483648
IntegerToString(uint(MathAbs(DBL_MAX) ) )= 0
------
Pregunta: ¿por qué se obtiene un número negativo al convertir un número doble positivo en int?
He rellenado una solicitud, aunque estoy harto de hacerlo tan a menudo.
El autor del indicador codificó deliberadamente el enlace hacia sí mismo.
Se puede prohibir este "hack" o dejarlo a la conciencia de quien lo utiliza.
Hasta ahora eres la primera persona a la que se le impide utilizar el terminal por esta característica desde hace varios años.
¿Cuántos indicadores pueden ejecutarse en modo inactivo y no tenemos ni idea de ellos? No hay ningún tipo de control.
No entiendo muy bien el patetismo habitual de tus posts. Está claro que no estamos hablando de un problema masivo o grave.
1) Sólo deliberadamente, conscientemente, se puede escribir un indicador con el comportamiento especificado. ¿Quién te hace escribir ese código y ejecutar ese indicador? ¿O ejecuta otros programas sin conocer su código?
2) No es más malicioso que muchos otros indicadores con errores lógicos menos evidentes.
3) Al reiniciar el terminal, el indicador se descargará y no volverá a arrancar. Si accidentalmente se inicia un indicador de este tipo - reiniciar el terminal. Y no lo vuelvas a hacer.
Debería tener la posibilidad de borrarme (el indicador) en caso de que se lance al menos una copia, aunque tenga diferentes parámetros de entrada. Para ello, tenía que averiguar el propio mango. Desgraciadamente, en ese momento aún no sabía que es imposible en MQL en el 100% de los casos. Por lo tanto, decidí probar un truco no muy inteligente.
He revisado todas las asas. Si coincide con el azar que escribí en mi indicador antes de comprobarlo, significa automáticamente que el mango me pertenece y puedo borrarme, si es necesario.
A partir de estas consideraciones se escribió un código tan inofensivo, que provocó una reacción tan ambigua, pero obviamente negativa, por parte de los desarrolladores. Verás, no puedes hacer eso. ¿Qué has hecho? Bien, leo el valor de mi buffer a través del CopyBuffer. ¿Es ilegal?
Que la comunidad sepa que se puede crear de tal manera una ejecución incontrolable en segundo plano de cualquier código incluso en la terminal sin gráficos. Aquí hay una pequeña puntilla. Considerarlo o no como un error es probablemente una cuestión de terminología. Tengo entendido que los promotores no pueden cambiar nada arquitectónico aquí. Por eso hay tanta rabia. No puedo explicar esta reacción de otra manera.
De todos modos, nadie dirá nada. Dicho rastrillo quedaría bien reflejado en la Ayuda.
O sigue siendo lo mismo.
El tipo int tiene un tamaño de 4 bytes. El tipo doble tiene un tamaño de 8 bytes. No debe hacer eso - tratar de obtener 4 bytes de 8 bytes - puede terminar con un sinsentido - especialmente en este caso, cuando el valor DBL_MAX se encuentra fuera de los valores int.
Si tomas el número double d=123456.1258 y tratas de obtener int de él - entonces el número funcionará, pero aún así, no puedes hacerlo de esa manera.
El tipo int tiene un tamaño de 4 bytes. El tipo doble tiene un tamaño de 8 bytes. No debe hacer eso - tratar de obtener 4 bytes de 8 bytes - puede terminar con un sinsentido - especialmente en este caso, cuando el valor DBL_MAX se encuentra fuera de los valores int.
Si tomas el número double d=123456.1258 y tratas de obtener int a partir de él, el número funcionará, pero todavía no puedes hacerlo.
Ok, cómo convertir correctamente double a int con preservación del signo (el número no importa, si se sale del límite entonces se limita a int)
OK, cómo convertir correctamente double a int con el signo intacto (el número no importa, si está fuera del límite entonces limítalo a int)
El tipo entero int tiene un tamaño de 4 bytes (32 bits). El valor mínimo es -2 147 483 648, el valor máximo es 2 147 483 647. Basado en esto,
ver lo que se devuelve:
Creo que el principio está claro.