[¡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 579
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
eh... por qué no se podría escribir así la condición para comprobar las órdenes abiertas:
si OrdersTotal() > 0
todo es claro y comprensible... sería...
Llevo una hora intentando averiguar cómo escribir esta condición...
¿Por qué no? Puede, pero se activará si hay órdenes abiertas o pendientes en cualquier símbolo.
¿Por qué no? Se puede, pero se activará si hay órdenes abiertas o pendientes en cualquier instrumento.
Me gustaría que funcionara: tengo una posición y una herramienta.
¡Pero no funciona!
Dice que hay un error en el código.
a este
---------------------------
int inicio()
{
//----
si OrdersTotal()>0
PlaySound ("alert.wav");
//----
return(0);
}
-----------------------------
¡¡¡da 8 errores!!!
¿Qué te parece esto?
¿Qué te parece esto?
:)))))))))))))))))))
¡Una maravilla! Gracias
Así que se llama a deinit cuando elimino un robot de un gráfico - no puedo seguir esta condición de ninguna otra manera..... probablemente sea más fácil escribir un script separado que elimine todos los robots pendientes restantes, no hay otra manera.
Por cierto, otra reflexión sobre el asunto:
Creo que he resuelto el problema de la eliminación de los pedidos pendientes. Determino la cantidad de órdenes "necesarias" (a eliminar) en una función separada, llamo a esta función y luego al while con la condición (Total>0), luego el ciclo de eliminación for(int i=Total-1;i<=0l; i--), nuevamente calculando lo"necesario" y el contador de intentos de eliminación con salida delwhile cuando se alcanza el nivel dado. De esta manera se borra todo.
Aquí puede producirse un bucle infinito en caso de que una de las órdenes desaparezca después del momento del recuento por cualquier motivo
¿Por qué no se puede hacer? Por ejemplo, crear una variable global a nivel de terminal, asignarle un valor y comprobar el inicio y cambiar el valor de esta variable a través de servicio -->variables globales antes de que se apague.
Y así...
Y puedo preguntar, ¿qué pretenden con esto?
for(int i=0; i<TotalPedidos(); i++)
parece que están tratando de contar las posiciones abiertas usando el método de fuerza bruta...
¡¡¡Buenos días!!! No puedo encontrar una solución agradable a la situación. Esta es una configuración de orden típica. Pero si le doy cero a mi robot en los parámetros, es decir, sin stops ni takeprofits, nada funcionará.
También podemos poner un if e introducir una orden con ceros por segunda vez, pero es un poco engorroso.
¿Y puedo preguntar qué es lo que intentan hacer aquí?
for(int i=0; i<TotalPedidos(); i++)
parece que está tratando de contar las posiciones abiertas...
Pues bien, selecciona los pedidos según los parámetros especificados.
Por ejemplo, https://www.mql5.com/ru/forum/131859/page3#434221
Función NúmeroDePosiciones().
Esta función devuelve el número de posiciones abiertas en este momento. Una selección más precisa de las posiciones contadas se especifica mediante parámetros externos:
¿Y puedo preguntar qué intentan hacer con esto?
for(int i=0; i<TotalPedidos(); i++)
parece que están tratando de contar las posiciones abiertas...
De esta manera, selecciona los pedidos según los parámetros dados.
Por ejemplo, https://www.mql5.com/ru/forum/131859/page3#434221
Función NúmeroDePosiciones().
Esta función devuelve el número de posiciones abiertas en este momento. Una selección más precisa de las posiciones a contar se especifica mediante parámetros externos:
gracias... añadiré ese hilo del foro a mis marcadores. :))