La gran y terrible MT4 para siempre (o cómo hacer una estrategia de transición) - página 25
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
en el PM ha abandonado el servidor
Este servidor (o más bien el software del corredor) tiene protección contra el spam. Tienen previsto actualizarlo para la semana que viene y entonces la ralentización desaparecerá.
Tendré que echar un vistazo a este servidor. Sería bueno comprobar la muleta sugerida aquí, para quien parece importante.
No me gustaría volver a este tema después de un tiempo. Sería mejor señalar los errores, si los hay.
¿Aún no hay opción en el estilo MT4?
¿Simplemente ejecutar el script abriendo 100 posiciones en diferentes servidores?
¿Aún no hay opción en el estilo MT4?
Todavía no ha empezado. Lo más probable es que el usuario no cambie nada en el código. La funcionalidad adicional se activará a través de una macro.
¿Simplemente ejecutar el script abriendo 100 posiciones en diferentes servidores?
Sí, en diferentes servidores, pero sólo un script diferente. Si no se produce ninguna duplicación durante un minuto de funcionamiento, ha superado la comprobación con éxito. De lo contrario, el fracaso.
Todavía no ha empezado. Lo más probable es que el usuario no cambie nada en el código. La funcionalidad extra se activará a través de una macro.
Lo tengo.
Lo fue.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
La gran y terrible MT4 para siempre (o cómo construir una estrategia de migración inteligente)
fxsaber, 2021.05.11 09:05
Sin esperar a una posición: resultados inmediatos.
Lo hizo.
Ahora no es diferente a la variante MT4, incluyendo la fiabilidad.
Los ejemplos que son tan difíciles de escribir en MT5 se han vuelto fácilmente implementables, como debería ser.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
La gran y terrible MT4 para siempre (o cómo construir su estrategia de migración)
Igor Makanu, 2021.05.10 10:28
parece que funciona:
pero muy lento, y la solución es más o menos.
¿Qué ocurrirá si después de la orden de apertura de la décima posición, en la siguiente iteración del
PositionTotal no ha tenido tiempo de actualizarse (=9), y la orden ya ha conseguido pasar al historial y OrdersTotal()==0.
En ese caso, ¿habrá otro Trade.Buy()?
En teoría, puede ocurrir varias veces seguidas...
¿O me he perdido algo?
¿Qué ocurre, si después de la orden de apertura de la 10ª posición, en la siguiente iteración de la
PositionTotal no ha tenido tiempo de actualizarse (=9), y la orden ya ha conseguido pasar al historial y OrdersTotal()==0.
En ese caso, ¿habrá otro Trade.Buy()?
En teoría, puede ocurrir varias veces seguidas...
¿O me estoy perdiendo algo?
es su interés de alta frecuencia, el resto tiene suficiente tiempo de espera y no hay problema con una segunda vuelta
Estoy seguro de que es como se construye en MT4, esperar y ver¿Qué ocurre, si después de la orden de apertura de la 10ª posición, en la siguiente iteración de la
PositionTotal no ha tenido tiempo de actualizarse (=9), y la orden ya ha conseguido pasar al historial y OrdersTotal()==0.
En ese caso, ¿habrá otro Trade.Buy()?
Por supuesto, lo será. El razonamiento en el código es exactamente el mismo.
En teoría, puede repetir varias iteraciones sucesivas...
Si Buy es cierto, entonces hay casi cero probabilidad de que la siguiente iteración tenga OrdersTotal() == 0. Es decir, abrir 12 posiciones es imposible en la práctica.
Este es un caso muy primitivo. Una doble iteración suele tener este aspecto:
En el segundo paso, el Asesor Experto ve que no hay nada y establece un Límite. En consecuencia, tenemos dos puestos vacantes.
El segundo punto es el rebasamiento de la MT5. Y ahora la muleta lo evita.
Gracias.
Sobre eso:
fxsaber:
La duplicación no es una dificultad de MT5, sino un error de arquitectura, cuando las funciones de Total() muestran falsos positivos.Puedes decir que es un error, o puedes presentarlo de otra manera :-)
PositionsTotal() no es el número de posiciones abiertas, sino el tamaño de la tabla de posiciones abiertas. La tabla de posiciones - es de hecho un caché, como el caché de la historia de los acuerdos, sólo que se actualiza no a petición, sino automáticamente, pero no al instante, y con un ligero retraso. Por ello, es posible que no contenga posiciones ya abiertas, o que contenga posiciones ya cerradas.
Lo mismo con OrdersTotal().
Si explicamos la ayuda de esta manera, habrá menos preguntas, quejas y malentendidos.
Y en el artículo "Órdenes, posiciones y operaciones en MetaTrader 5", puede prestar atención a esto (ahora es ambiguo - "El resultado de la función PositionsTotal() no depende de si la caché de posiciones está llena - siempre devuelve el número real de posiciones abiertas en el terminal base para todos los símbolos").
P.S. Pero entonces surge una pregunta legítima: ¿por qué no hacer una función/bandera del sistema para determinar el estado de sincronización de las tablas de órdenes vivas, posiciones, operaciones y órdenes ejecutadas, para no crear muletas?P.S. Pero entonces surge una pregunta legítima: ¿por qué no hacer un sistema fi/flag para determinar el estado de sincronización de las tablas de órdenes vivas, posiciones, operaciones y órdenes ejecutadas, para no crear muletas?
Lo más probable es que no exista tal bandera en el interior.