Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 147
![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
Por favor, ayuda - No puedo entender por qué obtengo cero al calcular la matriz VesMass en valores i>0 ?
Resulta que no hay que escribir 4 y 5, sino 4.0 y 5.0 - cuál es la lógica - no me queda claro...
Lea la documentación y se aclarará. Es bueno que lo hayas hecho tú mismo.
Ya había leído sobre algo así, así que decidí probarlo, pero no está clara la lógica que hay detrás... Y no he podido encontrar la respuesta en la documentación, por cierto.
Puedes escribir 4,0/5 o (doble)4/5 - entonces el resultado es un número real.Esta es una peculiaridad no sólo en MCL, en C++ y otros lenguajes de programación también - la división de dos enteros o variables de tipo (int) dará un resultado truncado a un entero. En tu caso 4/5=0.
Puedes escribir 4,0/5 o (doble)4/5 - entonces el resultado es un número real.Esto no es sólo una característica de ICL, en C++ y otros lenguajes de programación es lo mismo - dividir dos enteros o variables de tipo (int) dará un resultado truncado a un entero. En tu caso 4/5=0.
Lo entiendo, pero no entiendo la lógica de la solución, es decir, la necesidad.
Lo entiendo, pero no comprendo la lógica de la solución, es decir, la necesidad.
Pues no argumentas "por qué 2*2=4 en aritmética, cuál es la lógica de la solución". Lo tomas como un axioma y lo utilizas. Así ocurre con la división de dos enteros.
Pues no se argumenta "por qué 2*2=4 en aritmética, cuál es la lógica de la solución". Lo tomas como un axioma y lo utilizas. Lo mismo ocurre con la división de dos números enteros.
Lo comprobaré con la adición...
La línea es una línea de tendencia. He cambiado las propiedades por un rayo. No sirvió de nada. Si quisiera que saliera el precio independientemente de la posición de la barra cero (arriba, abajo).
Este código tampoco funciona.
int inicio() {
double pr=ObjectGetValueByShift("línea",0);
Si (Oferta==pr){
Alerta (pr);}
return(0);}
¿Está bien escrito el nombre de la línea?
Prueba este script, y muestra lo que dice en los registros.
}
El script detecta el objeto y escribe el nombre correctamente. Pero el precio es absolutamente de izquierdas. Está marcado en la foto con una línea horizontal. Da estos precios independientemente de que las barras hayan cruzado la línea o no.
La línea tiene tendencia. Se han cambiado las propiedades a rayo. No ayudó. Lo ideal es que el precio se muestre independientemente de la posición de la barra cero (arriba, abajo).
Este código tampoco funciona.
int inicio() {
double pr=ObjectGetValueByShift("línea",0);
Si (Oferta==pr){
Alerta (pr);}
return(0);}
La oferta puede saltar fácilmente su línea, no está obligada a detenerse en cada punto (es decir, no obtendrá la igualdad exacta).
cambiar la condición a por ejemplo si ((MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr)) o similar...
La oferta puede saltar fácilmente su línea, no está obligada a detenerse en cada punto (es decir, no se producirá la igualdad exacta)
cambiar la condición a por ejemplo si ((MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr)) o similar...
¡Gracias! He captado la idea.
¿Y si la situación es diferente? Hay líneas horizontales con diferentes nombres en el gráfico. Es necesario que el script calcule qué línea corresponde a qué precio.