2. ¿Cómo se ponen los datos en mql5 en arrays y se asignan, en qué dirección?
La dirección es siempre la misma - desde el principio (el índice es cero) hasta el final, PERO si no se especifica la indexación con la función ArraySetAsSeries. Si la pregunta es sobre la indexación.
Es una estupidez por supuesto, que haya que añadir algo para cambiar algo, alguna calculadora sin puntos está bien y no necesita especificar qué tipo de datos, pero bueno, la segunda forma es añadir ".0" al final del entero
por lo que la expresión correcta sería así.
double res =8000.0/16000.0*100;
Print(res);
Por cierto, en algún lenguaje de programación vio una variable para que el terminal selecciona su tipo, tal vez fue sólo para los datos numéricos, pero todavía cómodo, no está implementado aquí, he tratado de encontrar en la documentación - no pudo encontrar?
Lo comprobé con Print() y obtuve resultados de cálculo normales "Ejemplo: (GBPUSD,H1) 0.0152 i 1.5911 i 1.59682 i 2013.01.20 22:00:00 i 2013.01.22 09:46:40" pero no dibuja estos niveles. Comprobando en el terminal a través de la"Lista de objetos", no están ahí. Por favor, indíqueme cuál es el problema. ¿En qué me equivoco?
Lo comprobé con Print() y obtuve resultados de cálculo normales "Ejemplo: (GBPUSD,H1) 0.0152 i 1.5911 i 1.59682 i 2013.01.20 22:00:00 i 2013.01.22 09:46:40" pero no dibuja estos niveles. Comprobando en el terminal a través de la"Lista de objetos", no están ahí. Por favor, indíqueme cuál es el problema. ¿En qué me equivoco?
Imprime los resultados de ObjectCreate, tal vez haya un error allí.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
En el camino surgieron un par de preguntas más:
1. hay una cadena:
datetime ProvTimeX1=ObjectGetInteger(0, "Y="+IntegerToString(y,0,''),OBJPROP_TIME);
El compilador lo desaprueba, escribiendo"posible pérdida de datos debido a la conversión de tipos". ¿Qué ocurre aquí?
2. ¿Cómo pone mql5 los datos en arrays y los distribuye, en qué dirección?
En el camino surgieron un par de preguntas más:
1. hay una cadena:
datetime ProvTimeX1=ObjectGetInteger(0, "Y="+IntegerToString(y,0,''),OBJPROP_TIME);
El compilador lo desaprueba, escribiendo"posible pérdida de datos debido a la conversión de tipos". ¿Qué ocurre aquí?
Bien, es correcto, estás intentando escribir en la variable datetime un valor largo devuelto por ObjectGetInteger. Haz la conversión de tipo.
La dirección es siempre la misma - desde el principio (el índice es cero) hasta el final, PERO si no se especifica la indexación con la función ArraySetAsSeries. Si la pregunta es sobre la indexación.
Buenas tardes, no puedo dividir los números, el resultado es 0.0
¿Por qué?
Buenas tardes, no puedo dividir los números, el resultado es 0.0
¿Por qué?
Documentación >>> Conversión de tipos
>>Documentación >>> Conversión de tipos
Es una estupidez por supuesto, que haya que añadir algo para cambiar algo, alguna calculadora sin puntos está bien y no necesita especificar qué tipo de datos, pero bueno, la segunda forma es añadir ".0" al final del entero
por lo que la expresión correcta sería así.
Por cierto, en algún lenguaje de programación vio una variable para que el terminal selecciona su tipo, tal vez fue sólo para los datos numéricos, pero todavía cómodo, no está implementado aquí, he tratado de encontrar en la documentación - no pudo encontrar?En la versión 4: datetime TimeX2=Time[0]+18000; - se aumenta el valor del tiempo en 5 velas hacia adelante
Ahora en 5 al escribir:
Al depurar da error de desbordamiento de array y apunta a la línea dedatetime TimeX2=Topen[0]+18000;
Por favor, indíqueme cómo conseguir el mismo resultado en el 5 que en el 4.
Adenda: Está escrito correctamente, sólo cometí un error - en OnInit el array estaba vacío.
En la versión 4: datetime TimeX2=Time[0]+18000; - se aumenta el valor del tiempo en 5 velas hacia adelante
Ahora en 5 al escribir:
Al depurar da error de desbordamiento de array y apunta a la línea dedatetime TimeX2=Topen[0]+18000;
Por favor, indíqueme cómo conseguir el mismo resultado en el 5 que en el 4.
He encontrado un problema con el dibujo de los niveles.
Lo comprobé con Print() y obtuve resultados de cálculo normales "Ejemplo: (GBPUSD,H1) 0.0152 i 1.5911 i 1.59682 i 2013.01.20 22:00:00 i 2013.01.22 09:46:40" pero no dibuja estos niveles. Comprobando en el terminal a través de la"Lista de objetos", no están ahí. Por favor, indíqueme cuál es el problema. ¿En qué me equivoco?Tengo problemas para dibujar los niveles.
Lo comprobé con Print() y obtuve resultados de cálculo normales "Ejemplo: (GBPUSD,H1) 0.0152 i 1.5911 i 1.59682 i 2013.01.20 22:00:00 i 2013.01.22 09:46:40" pero no dibuja estos niveles. Comprobando en el terminal a través de la"Lista de objetos", no están ahí. Por favor, indíqueme cuál es el problema. ¿En qué me equivoco?