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
por qué interferir en una discusión ya productiva
Los desarrolladores no quieren asustarnos por si encontramos algo interesante para ellos... :)
por qué interferir en una discusión ya productiva
Por las siguientes razones:
1. Decir, chicos, que reconocemos (o no) que hay un problema y lo vamos a tratar.
2. Decir, Quark (y Composter, ya que reprodujo el error en su EA), miramos tu código, el error está en él, trata de tal o cual cosa.
De lo contrario, resulta que no le interesa. Diviértanse, niños...
Repetiré mis argumentos:
1. Las órdenes de apertura y cierre de posiciones a veces devuelven errores.
2. Estos códigos de error no tienen nada que ver con la vida real (por ejemplo, "precio equivocado", aunque el precio sea correcto).
3. Repitiendo el intento con los mismos parámetros puede hacer que el sistema acepte el pedido. Pero en ninguna parte de su manual dice que la misma orden debe abrirse (cerrarse) en un bucle con comprobación de errores en cada paso y salida a un archivo para su posterior comprobación manual.
4. A veces no se devuelven los códigos de error, es decir, el programa se comporta como si la operación fuera exitosa. Pero falla.
5. Lo más importante. Dado que el problema se produce al comunicarse con el servidor de la demo (Alpari, en mi caso), es muy probable que habiendo encontrado una solución ahora, en la demo, nos encontremos de nuevo en la misma situación cuando vayamos al real. Y entonces tendremos que volver a pagar por la depuración. Con su propio dinero.
6. Esto NO es un problema local de un experto. Yo sostengo que todos, o al menos muchos EAs, pueden simplemente no atraparlo, ya que no hay un sistema de captura de errores adjunto a mis EAs. Por lo tanto, se deduce que la optimización NO se puede trasladar a lo real, porque las órdenes no se abrirán y cerrarán de la misma manera y no siempre. De ello se deduce que la gente perderá tiempo y dinero.
7. Realmente no creo que esto sea un problema de EA. Señala dónde está, si me equivoco. Puedes cambiar la lógica del experto, no se trata de lógica.
Aquí.
Roche, aquí están los registros de hoy, con un retraso en el ciclo después de OrderSend y OrderClose de 10000ms. Parece que elimina las sospechas de un conflicto debido al tiempo y al contexto (que no debería estar ahí de todas formas):
Intentando cerrar posición corta, ticket: 1827283
9.9.2005 10:13:20 Orden con este ticket todavía presente, intentándolo de nuevo
9.9.2005 10:13:48 No hay más órdenes con este ticket No
En el segundo intento :(
9.9.2005 0:14:54 Intentando comprar, intento 0
Bid: 1.24490000, StopLoss: 0.00700000, TakeProfit: 0.00000000 falló, error 6
9.9.2005 0:15:4 Intentando comprar, intento 1
Bid: 1.24470000, StopLoss: 0.00700000, TakeProfit: 0.00000000 exitoso
En el segundo intento :(
9.9.2005 13:0:22 Intentando comprar, intento 0
Bid: 1.23900000, StopLoss: 0.00600000, TakeProfit: 0.00000000 fallado, error 6
9.9.2005 13:0:48 Intentando comprar, intento 1
Bid: 1.23900000, StopLoss: 0.00600000, TakeProfit: 0.00000000 exitoso
En el segundo intento :(
Pausa fallada...
Tenga en cuenta que el error 6 (el más informativo del mundo) apareció sólo en la compra, en el cierre no hubo ningún error. Es cierto que había un error de ping en el registro, pero el experto no lo sabe...
Dicen que si una persona está hablando con Dios, está bien. Pero si Dios empieza a responder, eso es un problema :) Pero me alegro de todos modos :)
Sólo un recordatorio de que el Asesor Experto no operará en operaciones de 5 minutos por defecto. Hay un reloj codificado ahí, tienes que cambiarlo.
Además no tengo ni idea de lo fácil que es coger esto en 5 minutos. Además :) si se hace la prueba como la has descrito, los ciclos deberían ser desestimados ya que están diseñados para amortiguar el error. Por supuesto, habrá una entrada en los registros, pero puede ser demasiado tarde para pulsar el botón.
Finalmente, supongo que podemos añadir la misma lógica (llamada de mis funciones en lugar de OrderSend y OrderClose) a otros EAs. En aras de la coherencia. Creo que yo también podré coger algo.
Buena suerte,
Quark
envíamelo. eso es lo que estamos cogiendo
Me gustaría destacar que este código no depende de ninguna condición, excepto la activación de la segunda de las dos órdenes pendientes. Por lo tanto, se volvió a llamar a este código una hora más tarde (estaba fuera de casa) y se eliminó la orden pendiente. El mensaje de alerta persiste.
Entonces, el sistema funcionó esta vez, sin reiniciar el terminal. No excluyo que otros casos (con órdenes urgentes) también resulten de un cierre temporal del terminal; la lógica de los Asesores Expertos es tal que el código no se ejecutará en la siguiente barra si aún no se ha disparado.
Esto concuerda con el hecho de que repitiendo la solicitud de operación en un bucle, puede tener éxito en la segunda, tercera y así sucesivamente.
Su experto ha abierto una posición =)))
Los 8 han estado colgados del reloj durante mucho tiempo y nadie está negociando... Y ahora a las 15:00 en Alpari se abrió una posición. ¿Es esto normal?)
Los 8 han estado rondando el reloj durante mucho tiempo y nadie está negociando... Y a las 15:00 horas Alpari abrió una posición. ¿Es esto normal?)
A mí también se me abrió, y a los 15 años :)
La posición anterior, también con éxito, se abrió en USDCAD 23.08.
En realidad, es un buen Asesor Experto, y no falla la mayor parte del tiempo. Lo mismo ocurre con cualquier otro. A juzgar por los registros, no es la lógica de negociación, sino el hecho. Por lo tanto, puede reescribir el Asesor Experto, por ejemplo, para invertir las posiciones cada hora - generará más operaciones :) Y también habrá más fracasos.
Este EA es sólo un ejemplo para dar a los desarrolladores. Por lo demás, todos fallan de vez en cuando. Y tú también, según tengo entendido, así que no es por nuestro código...