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
Ah-ha! Cambié el número de billete 0 por el 1 y todo funcionó como un reloj. Sí, estaba equivocado William... La función OrderSelect() era un problema. Obviamente la función OrderSelect() debe seleccionar un ticket. Si el número de ticket es 0, ¿qué ticket seleccionará el EA? :O "?". Gracias a ambos por su ayuda.
Gracias.
Por favor, consulte este hilo:https://www.mql5.com/en/forum/142545
Simon, entiendo que el 0 no es un número de ticket válido PORQUE el 0 significa que no hay tickets para seleccionar. El 1 representa un ticket Y el número de ticket específico que la función OrderSelect() está intentando seleccionar.
Voy a leer el hilo. Gracias por publicarlo.
Gracias.
Entiendo que 0 no es un número de ticket válido PORQUE 0 significa que no hay tickets para seleccionar. El 1 representa un ticket Y el número de ticket específico que la función OrderSelect() está seleccionando actualmente.
No, eso no es correcto. cero como número de ticket no significa nada, es INVALIDO. OrdersTotal() == 0 significa que no hay órdenes... es obvio que estás mezclando los resultados de diferentes funciones y números de ticket vs posiciones de órdenes
No haga exactamente lo que hizo antes . . . a menos que quiera exactamente el mismo resultado. No puede asumir que tiene el número de ticket correcto . . . . tiene que encontrarlo en el Pool de Pedidos y luego seleccionarlo .
Si quieres aprender haz este ejercicio:
No, eso no es correcto. el cero como número de ticket no significa nada, es INVÁLIDO. OrdersTotal() == 0 significa que no hay pedidos... es obvio que estás mezclando los resultados de diferentes funciones y números de ticket
Si quieres aprender haz este ejercicio:
¿Intentaste el ejercicio? muestra tu código cuando lo hayas hecho....
Simon,
Voy a codificar este proyecto. Debería ser pan comido. Ya he hecho la mayor parte del trabajo. ;)
Sí, no me importa hacer este ejercicio, viendo que has proporcionado tu apoyo constante.
Gracias.
Simón,
Ya está hecho. Asumí que querías el archivo en formato de script, para que pudieras simplemente arrastrarlo y soltarlo en un gráfico, esperar a que el EA haga algunos números, y luego ver cómo saca una orden del mercado.
Las diferencias entre lo que estoy construyendo actualmente y este proyecto es...
Actualmente construyendo:
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)){
Este proyecto:
La razón por la que utilicé "if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)){", es porque estoy tratando con un grupo de órdenes y no con una variable de entrada específica predefinida.
Mi construcción actual para el volumen II utiliza variables predefinidas porque debo seleccionar tickets específicos para ejecutar la estrategia del volumen II. Este proyecto fue diseñado para simplemente cerrar una orden en un abrir y cerrar de ojos.
En realidad tuve un par de signos de interrogación sobre mi cabeza mientras codificaba la ejecución de la función que contiene el precio Ask/Bid. Esto se debe a que, normalmente, al enviar/cerrar órdenes, suelo escribir simplemente "Ask"/"Bid", pero me di cuenta de que necesitaba definir una variable que pudiera ser tanto el precio Ask como el Bid en función de la condición de si la orden en el mercado era una orden de venta O de compra. Entonces, simplemente puse el habitual "si el total de órdenes es mayor que cero", y ya estaba todo listo. Eso debería cubrirlo todo.
Gracias.
OK, no es lo que pretendía pero debería haber sido más claro con mi requerimiento . . su código no establece un SL y TP . . pero de todos modos déjame revisar mi requisito . . .
Usando la misma cuenta Demo . . .
Cuando haya terminado, por favor, muestre su código y la línea del registro que muestra el número de billete
Simón,
Ah, lo siento, no leí completamente tus primeras instrucciones, y no codifiqué lo que pedías. Oh bien, has añadido una nueva lista de requisitos, así que me pondré manos a la obra.
Antes de hacerlo, diré lo que voy a hacer...
1. Encontrar el número de billete de la orden colocada en USDJPY.
2. Imprimir el número de ticket en el registro en la forma "Número de ticket para USDJPY = ".
3. 3. Utilizar el número de ticket para seleccionar la orden y modificar la orden para que tenga un TP y un SL y cerrarla.
4. Muestre el código y una línea del registro que muestre el número de ticket.
Dicho esto, quiero que quede claro que estamos en la misma página.
Sí, puedo hacer 1. (obviamente no puedo usar las "funciones de moneda" para aislar los tickets ¿verdad?)
Sí, puedo hacer el 2.
3. ¿No te refieres a usar la función OrderSelect() para seleccionar la orden Y modificarla para que tenga un TP & SL y cerrarla?
4. Obviamente, mostraré el código ;)... una línea del registro mostrando el número de orden ( lo que podrías haber pedido era una "instantánea visual" del registro mostrando el número de orden. No importa)
Por favor, publica primero una respuesta antes de que empiece la tarea.
Gracias.
Dicho esto, quiero dejar claro que estamos en la misma página.
Sí, puedo hacer 1. (obviamente no puedo usar las "funciones de moneda" para aislar los tickets ¿verdad?)
Sí, puedo hacer el 2.
3. ¿No te refieres a usar la función OrderSelect() para seleccionar la orden Y modificarla para que tenga un TP & SL y cerrarla?
4. Obviamente, mostraré el código ;)... una línea del registro mostrando el número de ticket ( lo que podrías haber pedido era una "instantánea visual" del registro mostrando el número de ticket. No importa)