Inicializar y reinicializar automáticamente el EA desde un archivo - página 6

 
Romal001:
Buenas noches dígame la calidad de las pruebas del robot durante cuántos años no debe tener pérdidas trades?????????? Si puedes responder a esta petición, envíamela por mensaje privado, ¡gracias de antemano!
Dada la mala calidad de los datos históricos, independientemente de su fuente, ni siquiera unos pocos años son un indicador. El Asesor Experto debe ser optimizado y probado para un broker en particular, pero no hay que olvidar que el broker "particular" tiene muchos "agujeros" en el historial. Por lo tanto, las pruebas dependen del marco temporal en el que opera el EA. Si en M1-M5, entonces 6-12 meses son suficientes para las conclusiones. Si en M15 y más allá, necesitamos 12 meses para probar y esperar que los datos históricos sean correctos. Y aquí no nos salvará ninguna Ducascopia ni nada parecido.
 
Vasiliy Sokolov:
No está impulsando su experiencia mítica aquí. Muchos tienen experiencia real en el comercio, incluyendo el comercio en FORTS, incluyendo el uso de MetaTrader 5. Si los operadores no tienen dinero en el FORTS, tienen que operar en el FORTS, y entonces no pueden operar en el FORTS en el mercado real.

En cuanto a la experiencia de Michael.

Hace más de un año, él y yo intercambiamos servicios. Le proporcioné un servicio, y a cambio me escribió un EA para MT5 FORTS. Durante el año hubo caídas de la bolsa, cortes de energía y fallos de conexión, pero el robot que escribió nunca cometió un solo error.

El único golpe en el dinero fue cuando el servidor de la Bolsa se estrelló debido a los excesos de transacciones, pero esto se debe a que los desarrolladores aún no han hecho un código de retorno normal del servidor de comercio.

Discutimos este tema con él y no quería bloquear el EA en el código de retorno de solicitud inválida porque el servidor de comercio, a veces, en el funcionamiento normal, devuelve este código de retorno (código 10013).

Si cree que se trata de un problema inventado que sólo está en su cabeza, aconséjele cómo evitarlo.

 
kond777:

En cuanto a la experiencia de Michael.

Hace más de un año, él y yo intercambiamos servicios. Le proporcioné un servicio, y a cambio me escribió un EA para MT5 FORTS. Durante el año hubo caídas de la bolsa, cortes de energía y fallos de conexión, pero el robot que escribió nunca cometió un solo error.

El único golpe en el dinero fue cuando el servidor de la Bolsa se estrelló debido a los excesos de transacciones, pero esto se debe a que los desarrolladores aún no han hecho un código de retorno normal del servidor de comercio.

Discutimos este tema con él y no quería bloquear el EA en el código de retorno de solicitud inválida porque el servidor de comercio, a veces, en el funcionamiento normal, devuelve este código de retorno (código 10013).

Si cree que se trata de un problema inventado que sólo está en su cabeza, aconséjele cómo evitarlo.

No es necesario revisar algo sobre la experiencia de Mihail si él ya ha dicho que sus EAs en el Inite son estúpidamente borrar órdenes y luego empezar de nuevo, y esto sucede en cada inicio. ¿De qué hay que hablar?

No podemos aconsejar nada porque no se conoce el alcance total de esta basura ni en su mente ni en la de sus defensores. Aquí escribiste "bloquear el Asesor Experto por código de retorno". ¿Por qué bloquearlo? Tienes que hacer lo correcto. Usted tiene sus propios principios especiales de programación de EA allí (nadie ha visto el código y es poco probable que lo vea), así que piense por sí mismo cómo lidiar con sus propias situaciones especiales.

 
Romal001:
Buenas noches dígame la calidad de las pruebas del robot durante cuántos años no debe tener pérdidas trades?????????? Si puedes decirme la respuesta en un mensaje privado, ¡gracias de antemano!
Puede ser. Sin perder operaciones es poco realista y sospechoso.
 
Dmitry Fedoseev:

Para qué contarnos más sobre la experiencia de Mikhail cuando él mismo ya nos ha dicho que sus EAs en el Inite borran estúpidamente las órdenes y vuelven a empezar, y así en cada arranque. ¿De qué hay que hablar?

No podemos aconsejar nada porque no se conoce el alcance total de esta basura ni en su mente ni en la de sus defensores. Aquí escribiste "bloquear el Asesor Experto por código de retorno". ¿Por qué bloquearlo? Tienes que hacer lo correcto. Usted tiene sus propios principios especiales de programación de EA allí (nadie ha visto el código y es poco probable que lo vea), así que piense por sí mismo cómo lidiar con sus propias situaciones especiales.

 
Sí. Las imágenes en color para los adultos son argumentos de peso.
 
Dmitry Fedoseev:

Para qué contarnos más sobre la experiencia de Mikhail cuando él mismo ya nos ha dicho que sus EAs en el Inite borran estúpidamente las órdenes y vuelven a empezar, y así en cada arranque. ¿De qué hay que hablar?

No podemos aconsejar nada porque no se conoce el alcance total de esta basura ni en su mente ni en la de sus defensores. Aquí escribiste "bloquear el Asesor Experto por código de retorno". ¿Por qué bloquearlo? Tienes que hacer lo correcto. Usted tiene sus propios principios especiales de programación de EA allí (nadie ha visto el código y es poco probable que lo vea), así que piense por sí mismo cómo lidiar con sus propias situaciones especiales.

No estoy defendiendo a nadie, sólo expongo los hechos de los que dispongo.

Volviendo al error sobre los códigos de retorno. Michael sugiere suspender la EA después de tres solicitudes, alegando que se trata de un descuido de los desarrolladores

https://www.mql5.com/ru/forum/58012/page2#comment_2017705

Yo, al igual que tú, creo que no merece la pena parar al trabajador del EA, así que ¿cómo crees que se puede solucionar el problema mencionado en el enlace anterior?

ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 2 - Категория: автоматические торговые системы
 

Obviamente, si:

Когда "подглючивает" сервер МТ5 или сбой на бирже, то происходит следующее:

El examinador envía órdenes para eliminar una orden EXISTENTE y la respuesta es

¡¡¡¡"Solicitud no válida"!!!! Y el EA sigue "machacando" el servidor con órdenes de borrar

de la orden.

Entonces hay que seguir golpeando. No es necesario bloquear el Asesor Experto. Quizás la cantidad de errores aumenta y el intervalo de tiempo entre los intentos también. La solución más fácil es hacer varios intentos y hacer una pausa hasta que se abra la siguiente barra.

 
Dmitry Fedoseev:

Ya se ha escrito aquí: vuelve a calcular todo de nuevo. Es decir, analizar la situación con órdenes. Almacenar algunos datos en archivos o de cualquier otra manera (tal vez en variables globales) - no es importante. El punto principal es que si se necesitan algunos datos, se almacenan en la vinculación a los tickets de pedido, y en este caso no hay problema con los datos obsoletos - tenemos orden - tenemos datos, sin orden - no tenemos datos. Puede haber datos que no estén ligados a un orden concreto, pero hay que pensar en cada caso y es un problema solucionable.

El despeje es realmente el problema más complicado. Pero no es un problema de almacenamiento de datos a largo plazo (o de su obsolescencia), podemos almacenar los datos en simples variables en el Asesor Experto (un poco arriesgado, pero sólo durante 5 minutos). La dificultad estriba en cómo afrontarlo después. Podemos crear un grupo de variables terminales globales para cada orden y almacenar en ellas el precio de apertura. Entonces, cuando aparecen las órdenes no marcadas (o en la apertura de un nuevo día), miramos las últimas órdenes cerradas en el historial, las emparejamos según las características que se pueden utilizar (por ejemplo, el lote), y reseteamos todas las variables globales de la orden cerrada a la nueva orden.

Gracias. La idea principal es clara. Pensaba que había una solución sencilla y universal para todas las situaciones.
 
Andrey Khatimlianskii:

Estoy de acuerdo con los anteriores ponentes (casi todos).

  1. Restauramos todo lo que podemos del entorno del mercado.
  2. Todo lo demás se almacena con una referencia a algo (ticket de pedido, hora de inicio del día, etc.).
Sólo hay que definir una "fecha de caducidad" diferente para cada una de las variables almacenadas (no puede ser la misma para todas), y cargarla sólo si no ha caducado.

En su ejemplo con el número de solicitudes: basta con añadir una variable más: la hora de inicio del último día. El día ha cambiado: el contador se ha puesto a cero y se ha registrado la nueva fecha.

Para el ejemplo de la reapertura de una posición: hay que decidir qué eventos pueden hacer que esta información sea inutilizable. Por ejemplo, como aconsejó Mikhail: si no hay posición, olvídate de todo, y si la hay, considera que la información está actualizada.

En general, lo que se necesita no es una receta general, sino cosas concretas.

Ya veo.

Concretamente: mañana pensaré en cómo coger una posición al vuelo en FORTS. De hecho, lo que más necesito es conocer el precio real de apertura de una posición que se ha liquidado (reabierto al precio de compensación).

La posición en FORTS se gana con la suma de las operaciones de una (o más órdenes). En el momento de la compensación hay una operación técnica sin entrada, tenemos que averiguar cómo determinar el precio POSITION_PRICE_OPEN que había antes de la compensación.