Qué significa la anotación en el cuaderno de bitácora - página 5

 
Несколько смущает тот факт, что на 37 постов этой ветки приходится только один от разработчиков...

por qué interferir en una discusión ya productiva


Los desarrolladores no quieren asustarnos por si encontramos algo interesante para ellos... :)
 
Несколько смущает тот факт, что на 37 постов этой ветки приходится только один от разработчиков...

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í.
 
Quark, hemos ejecutado tu EA en una máquina de pruebas con un terminal conectado a alpari. lo hemos puesto en 11 pent ups diferentes. estamos dispuestos a esperar el resultado hasta el final. en cuanto se produzca la situación descrita, pulsaremos el botón de depuración. por lo tanto, la falta de respuesta no significa una falta de atención. repito, leemos TODOS los mensajes en nuestro foro y analizamos TODOS los mensajes. y no somos robots de correo electrónico que responden estúpidamente con un "su mensaje ha sido leído y anotado". lo siento.
 
Sobre el contexto comercial - si miras el código del EA, primero espera nMagic * 10 segundos, lo que le garantiza una exclusividad de 10 segundos, luego establece el semáforo global (lo que garantiza que otros EAs se colgarán). Y sólo entonces se negocia.

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...
 
Quark, hemos ejecutado tu EA en una máquina de pruebas con un terminal conectado a alpari. lo hemos puesto en 11 pent ups diferentes. estamos dispuestos a esperar el resultado hasta el final. en cuanto se produzca la situación descrita, pulsaremos el botón de depuración. Repito, leemos TODOS los mensajes de nuestro foro, y los analizamos TODOS.


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
 
Quark, hemos ejecutado tu EA en una máquina de pruebas con un terminal conectado a alpari. lo hemos puesto en 11 pent ups diferentes. estamos dispuestos a esperar el resultado hasta el final. en cuanto se produzca la situación descrita, pulsaremos el botón de depuración. por lo tanto, que no haya respuesta no significa que no haya atención. Repito, leemos TODOS los mensajes en nuestro foro y analizamos TODOS los mensajes. y no somos robots de correo que responden estúpidamente "su mensaje ha sido leído y anotado". lo siento
. probablemente te enviaré el código también - además de este bug tengo istrade permitido trabajar...
 
Probablemente te enviaré el código también - además de este error, mi istradeallowed también impide que funcione...

envíamelo. eso es lo que estamos cogiendo
 
Ya he mencionado que no me propuse detectar problemas con las órdenes pendientes. Pero tengo un sencillo solucionador de problemas :) y sí ha detectado uno de ellos (error 6). Pego el código a continuación.

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.

	if(nNumOfOpenedOrders > 0) { for(nCnt = OrdersTotal() - 1; nCnt >= 0; nCnt--) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic && 
				(OrderType() == OP_BUYSTOP | OrderType() == OP_SELLSTOP)) { bool bResult = OrderDelete(OrderTicket()); if(bResult == false) { int nError = GetLastError(); Alert("SimpleBreak " + Symbol() + " error: " + nError); } } }
 
Quark, ha ocurrido un milagro =)
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?)
 
Quark, un milagro ha sucedido =)<br/ translate="no"> Tu experto ha abierto una posición =))

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...