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
No en tiempo real.
Gracias por la información. No sabía que "OrderClosePrice()" se almacenaba en el buffer. Así que supongo que ni "OrderClosePrice()" ni el "Ask"/"Bid" son la solución ideal en tiempo real.
Sin embargo, ¿está usted de acuerdo en que "OrderClosePrice()" es una solución global mejor que el uso de "Ask"/"Bid" después de que se haga el "OrderSelect()"?
Y para una solución en tiempo real, si es que se necesita, entonces supongo que podemos recurrir a las alternativas:
¿Por qué intentas inventar la rueda otra vez?
Mire aquí - encontrará todo lo que necesita.
Si no, empieza a modificar su código fuente.
Gracias por la ayuda de todos hasta ahora. Creo que ya he resuelto el problema del error 130, pero hay algo seriamente erróneo en mi función OrderSelect, que es muy probable que sea la razón por la que sólo a veces se modifican algunas de las órdenes. A continuación hay una lista de las cosas que imprimí. El OrderTicket # es completamente erróneo. Ese número de ticket pertenece a una operación que tengo abierta para el EURAUD. Aunque no incluí todos los resultados, en realidad hay múltiples pares en los que los números de OrderTicket no se corresponden con el par en la terminal de operaciones.
¿Podría alguien echar un vistazo y decirme qué es lo que falla en OrderSelect? Gracias
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: ticket = 0 Creo que el ticket debería imprimir el mismo valor que OrdersTotal, por lo que parece que mi contador no funciona.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: OrderSelect = true
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: OrdersTotal = 11
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbypos = 0
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbyticket = 1
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: OrderTicket = 50213357
Hola a todos. Gracias por toda la ayuda. He encontrado el error y los problemas se han resuelto. Como no utilizo un Stoploss, el valor de OrderStopLoss() es siempre 0. Esto no es un problema al modificar la orden de compra porque 0 siempre es menor que Bid-TrailingStop*Pip. Pero con la orden de venta 0 nunca puede ser mayor que Ask+Trailingstop*Pip. Así que tuve que añadir el or(|| OrderStopLoss()) a esta línea:
Muchas gracias por la ayuda. Sí, definitivamente hay un problema con OrderSelect porque sólo funciona en algunos gráficos. El otro problema es que no puedo incluir un MagicNumber porque las operaciones se colocan manualmente. Utilicé la parte del código que creo que es relevante, pero no puedo conseguir que compile. Muestra este error:
'MySelect' - la función sólo puede declararse en el ámbito global Trailing_v26.mq4 31 13
y la línea 31 es esta:
Aquí está el EA completo:
Sí, definitivamente hay un problema con OrderSelect porque sólo funciona en algunos gráficos. El otro problema es que no puedo incluir un MagicNumber porque las operaciones se colocan manualmente. He utilizado la parte del código que creo que es relevante, pero no puedo conseguir que compile.
¡Te di un código perfectamente bueno en el que basarte, que soluciona tus problemas e incluso los enumeré antes de eso, sin embargo, eliges ignorarlo y seguir luchando preguntando por qué tu código no hace lo que quieres!
¿Por qué? ¿Quieres que tu código no funcione? ¡Usa el ejemplo y pruébalo tú mismo!