Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 250
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
Ja, ja... Aquí hay una mentira...
El problema resultó estar en la función OpenOrders(). Me he olvidado completamente de quitar el control de la apertura de la orden en la ruptura de una vela (barra):
if (Volume[0] > 1) return;
Entonces, en qué TF el Asesor Experto estaba probando, estaba abriendo órdenes en esos minutos...
Estúpido en general, en un duro...
Gracias...
if (Volume[0] > 1) return;
No utilice este tipo de comprobación para detectar la apertura de una nueva barra, no funcionará bien en la cuenta, sólo en el probador. Es necesario comprobar por tiempo de barra o por el número de barras en el gráfico
Ja, ja... Aquí hay una mentira...
El problema resultó estar en la función OpenOrders(). Me he olvidado completamente de quitar el control de la apertura de la orden en la ruptura de una vela (barra):
if (Volume[0] > 1) return;
Entonces, en qué TF el Asesor Experto estaba probando, estaba abriendo órdenes en esos minutos...
Estúpido en general, en un duro...
Gracias...
Mejor así(https://www.mql5.com/ru/forum/138609/page482):
Mejor aún, pase el nombre del TF deseado a la función
Mejor así(https://www.mql5.com/ru/forum/138609/page482):
Ya sabes, con / PrevTime / intenté algo una vez, pero nunca funcionó. Creo que no pude poner el código en el lugar correcto.
Con / if (Volume[0] > 1) return; / todo es mucho más sencillo. Aquí, como creo, todo funciona para la TF seleccionada. No sé si funciona en una demo pero no he notado errores, fallos y demás detalles a la hora de abrir órdenes.
Pero hace tiempo que no utilizo el control de apertura de órdenes en una barra nueva. Hemos conseguido construir la función de control de posiciones abiertas. Junto con las órdenes de apertura en un momento dado, no necesitamos un control de barras como tal.
El código es simplemente viejo. Al parecer, me olvidé de las limitaciones y lo introduje sin más y seguí usándolo...
¿Puede decirme cómo obtener el valor del precio de los niveles de Fibonacci?
Según la condición, una vez que el precio ha cruzado los niveles de Fibonacci especificados, se abre una operación de compra o venta.
Un objeto Fibonacci es dibujado por un Asesor Experto utilizando la función de Kim: https://www.mql5.com/ru/forum/107476/page107#606564
Se dibuja sin problemas. Pero entonces, ¿cómo sabemos el valor del precio del nivel especificado?
Esta función no parece funcionar:
¿Es posible? ¿O debemos calcular los precios de cada nivel por separado a partir de OBJPROP_PRICE1 y OBJPROP_PRICE2?
Esto es una tontería. Estuve despierto la mitad de la noche devanándome los sesos... Por supuesto, la noche no es probablemente el mejor momento para buscar soluciones.
Ayuda, por favor, buena gente.
¿Puede decirme cómo obtener el valor del precio de los niveles de Fibonacci?
Según la condición, una vez que el precio ha cruzado los niveles de Fibonacci especificados, se abre una operación de compra o venta.
Un objeto Fibonacci es dibujado por un Asesor Experto utilizando la función de Kim: https://www.mql5.com/ru/forum/107476/page107#606564
Se dibuja sin problemas. Pero entonces, ¿cómo sabemos el valor del precio del nivel especificado?
Esta función no parece encajar:
¿Es posible? ¿O debemos calcular los precios de cada nivel por separado a partir de OBJPROP_PRICE1 y OBJPROP_PRICE2?
Esto es una tontería. Estuve despierto la mitad de la noche devanándome los sesos... Por supuesto, la noche no es probablemente el mejor momento para buscar soluciones.
¡Ayuda, buena gente!
Ya había una pregunta similar:
Quiero obtener el precio en el nivel Fibo de 23.6%
double flevel236 = ObjectGetDouble(0, "Fibo",OBJPROP_LEVELVALUE,1); Este da 0,236, es decir, no el precio, sino el nivel.
Me pueden decir cómo obtener el precio del nivel. Gracias.
Y la respuesta también se dio:
Sólo dos operaciones aritméticas. Multiplicación (0,236 multiplicado por la diferencia entre los precios del nivel cero y del nivel uno) y, a continuación, suma (el resultado de la multiplicación se añade al precio del nivel cero).
Ya se ha planteado una pregunta similar:
Quiero obtener el precio en el nivel Fibo de 23.6%
double flevel236 = ObjectGetDouble(0, "Fibo",OBJPROP_LEVELVALUE,1); Este da 0,236, es decir, no el precio sino el nivel.
Me pueden decir cómo obtener el precio del nivel. Gracias.
Y la respuesta también se dio:
Sólo dos operaciones aritméticas. Multiplicación (0,236 multiplicado por la diferencia entre los precios del nivel cero y del nivel uno) y, a continuación, suma (el resultado de la multiplicación se añade al precio del nivel cero).
Gracias amablemente) Eso es lo que pensé en principio)
"0,236 multiplicado por la diferencia entre los precios de cero y el primer nivel" - sólo que probablemente sería más correcto decir "entre los precios de cero y el último nivel".