[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 103
10 - 20 ppts (en 5 dígitos) no juega un gran papel, hay que ponerlo en el programa
al parecer, primero escribiste tu post anterior y luego sólo te preguntaste lo que querías oír en respuesta....
realmente, 10-20pts en 5 dígitos no importa mucho, mostré como comparar correctamente variables como double, sospecho que tu problema no está en hacer la condición correcta. Intente formular primero una pregunta clara e inequívoca para obtener una respuesta inequívoca
aparentemente escribiste primero tu post anterior y luego sólo te preguntaste lo que querías escuchar en respuesta....
realmente, 10-20 pp en 5 dígitos no es gran cosa, mostré como comparar correctamente variables de tipo double, sospecho que tu problema no está en hacer la condición correcta. Intente formular primero una pregunta clara e inequívoca para obtener una respuesta inequívoca
Excepto que, en mi opinión, es un error comparar los dobles de esa manera. Por ejemplo, cuatro dígitos, los precios 1,00014 y 1,00016 son equivalentes a 1,0001 y 1,0002, pero 1,00016 a 1,00014 < Punto
220Volt: Excepto que, en mi opinión, es un error comparar los dobles de esa manera. Por ejemplo, cuatro dígitos, los precios 1,00014 y 1,00016, equivalen a 1,0001 y 1,0002, pero 1,00016 - 1,00014 < Punto
Mezclas la comparación de dobles y el redondeo, necesitas un enunciado claro de la pregunta: o redondeas un dígito de 5 en uno de 4 y luego haces el análisis en el de 4, o simplemente comparas correctamente dos dobles.
Si comparas dos dobles entonces esa parte del código que he citado funcionará correctamente tanto para 4 como para 5 dígitos:
switch(Digits){
case5: if(1.00014-1.00016>=10*Point); условие= false, -0.00002 меньше 0.00001*10// цена больше на 10 пп в 5-ти знакеcase4: if(1.0001-1.0002>=Point);условие= false, -0.0001 меньше 0.0001 // цена больше на 1 пп в 4-х знаке
}
SZZ: He cometido un error en mi código: el caso debería cerrarse con break, es decir, así:
switch(Digits){
case5: if(Close[2]-Open[1]>=10*Point);// цена больше на 10 пп в 5-ти знакеbreak;
case4: if(Close[2]-Open[1]>=Point);// цена больше на 1 пп в 4-х знакеbreak;
}
Mezclas la comparación y el redondeo del doble, necesitas un enunciado claro de la pregunta: o redondeas 5 dígitos a 4 dígitos y luego haces el análisis en 4 dígitos o simplemente comparas correctamente dos dobles.
Si comparas dos dobles entonces esa parte del código que cité funcionará correctamente tanto para 4 como para 5 dígitos:
ZS: He cometido un error en mi código: el caso debería cerrarse con break, es decir, así:
Aunque probablemente tengas razón, probablemente no le importe al autor. Cuento cada pip, así que miro estas situaciones desde mi propio punto de vista.
Quiero dibujar lo siguiente. necesito encontrar el punto mínimo de las últimas 3 velas. compararlo con el precio mínimo de las últimas 20 velas. si las últimas 3 velas son más bajas y la vela es negra ( Open[2]>Close[2] ) entonces busca más.
Necesito encontrar una toma bajista ( Open[1]<=Close[2] && Open[2]<Close[1] ).
Y abrir una posición de compra.
Parece ser correcto, pero siento que algo está mal.
He movido el indicador que dibuja los canales al EA.
El desequilibrio de los paréntesis es un error constante, aunque he comprobado dos veces todos los paréntesis.
Pero mi pregunta es diferente: necesito utilizar estos mismos canales para abrir operaciones en la condición, pero no sé cómo marcarlos. He probado a escribir sólo el nombre de un objeto, pero aún no he conseguido comprobar la corrección de esta solución.
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.
Inténtalo de esta manera:
O no entiendo nada, o has entendido mal el problema.
hay un precio de Cierre[2] de 1,34529 y un precio de Apertura[1] de 1,34530
Tengo una condición para abrir la posición.
Dado que 10 - 20 pips (en 5 dígitos) no juegan un gran papel, tengo que ponerlo en el programa,
Si el precio de cierre es 1,34529 y el precio de apertura es 1,34530, la posición aún puede abrirse.
la posición no se abre.
???
entonces, ¿qué tiene que ver la condición del precio?
Mira el código siguiente. Hay otro error.
O no lo entiendo, o has entendido mal la tarea.
......
10 - 20 ppts (en 5 dígitos) no juega un gran papel, hay que ponerlo en el programa
al parecer, primero escribiste tu post anterior y luego sólo te preguntaste lo que querías oír en respuesta....
realmente, 10-20pts en 5 dígitos no importa mucho, mostré como comparar correctamente variables como double, sospecho que tu problema no está en hacer la condición correcta. Intente formular primero una pregunta clara e inequívoca para obtener una respuesta inequívoca
aparentemente escribiste primero tu post anterior y luego sólo te preguntaste lo que querías escuchar en respuesta....
realmente, 10-20 pp en 5 dígitos no es gran cosa, mostré como comparar correctamente variables de tipo double, sospecho que tu problema no está en hacer la condición correcta. Intente formular primero una pregunta clara e inequívoca para obtener una respuesta inequívoca
Excepto que, en mi opinión, es un error comparar los dobles de esa manera. Por ejemplo, cuatro dígitos, los precios 1,00014 y 1,00016 son equivalentes a 1,0001 y 1,0002, pero 1,00016 a 1,00014 < Punto
Mezclas la comparación de dobles y el redondeo, necesitas un enunciado claro de la pregunta: o redondeas un dígito de 5 en uno de 4 y luego haces el análisis en el de 4, o simplemente comparas correctamente dos dobles.
Si comparas dos dobles entonces esa parte del código que he citado funcionará correctamente tanto para 4 como para 5 dígitos:
compruébelo: https://www.mql5.com/ru/articles/1561 y https://www.mql5.com/ru/forum/101433
SZZ: He cometido un error en mi código: el caso debería cerrarse con break, es decir, así:
Mezclas la comparación y el redondeo del doble, necesitas un enunciado claro de la pregunta: o redondeas 5 dígitos a 4 dígitos y luego haces el análisis en 4 dígitos o simplemente comparas correctamente dos dobles.
Si comparas dos dobles entonces esa parte del código que cité funcionará correctamente tanto para 4 como para 5 dígitos:
compruébelo: https://www.mql5.com/ru/articles/1561 y https://www.mql5.com/ru/forum/101433
ZS: He cometido un error en mi código: el caso debería cerrarse con break, es decir, así:
Aunque probablemente tengas razón, probablemente no le importe al autor. Cuento cada pip, así que miro estas situaciones desde mi propio punto de vista.
Eso es todo. Estoy hecho un lío y mi cabeza ya no funciona.
aquí está el código
Quiero dibujar lo siguiente. necesito encontrar el punto mínimo de las últimas 3 velas. compararlo con el precio mínimo de las últimas 20 velas. si las últimas 3 velas son más bajas y la vela es negra ( Open[2]>Close[2] ) entonces busca más.
Necesito encontrar una toma bajista ( Open[1]<=Close[2] && Open[2]<Close[1] ).
Y abrir una posición de compra.
Parece ser correcto, pero siento que algo está mal.
Estaré muy agradecido si me pueden ayudar.