Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 76
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
problema resuelto comparando precios
En este contexto, mi punto es este:
Por esta razón, sería mejor tener matrices globales - para órdenes y posiciones cerradas y abiertas. Una vez en un nuevo tick, pasamos la cantidad necesaria de órdenes/posiciones una vez, llenando las dos matrices con ellas. Y luego obtenemos todos los datos necesarios de ellos en el mismo momento. Tenga en cuenta que no sólo se calcula la última orden/posición cerrada/abierta y todos sus datos, sino que también se buscan todos los ticks padres e hijos de todas las posiciones en caso de cierre parcial. En consecuencia, en cualquier momento puedo ver de qué billete es tal o cual posición, si se ha cerrado parcialmente más de una vez - todo esto ya funciona en una clase que se ejecuta en un temporizador. Tengo muchos otros datos que necesito con un pequeño número total de ciclos. La profundidad necesaria de la historia para las matrices se establece para el probador.
Y así sucesivamente...
Lo siento. Un añadido más (no para contrarrestar, sino como añadido), me gustaría añadir que los arrays locales conestática no se pierden. Es decir, si las condiciones le permiten hacerlo sin declararlas globalmente.
Ahora lo estoy reescribiendo poco a poco para 5. Me refiero a que el precio puede cambiar muy rápidamente y el nivel puede ser menor que el valor del stop-loss, lo que llevará a un error. Me refiero a que el precio puede cambiar muy rápidamente y el nivel será menor que el nivel de parada permitido, lo que dará lugar a un error.
Entiendo que esto de"SymbolInfoTick" es necesario para obtener el precio actual?
Por lo tanto, para obtener la oferta y la demanda reales en mql4, se debería haber llamado a la actualización de todos modos. Y resulta que la carga es poco probable que cambie en comparación con llamar a SymbolInfoTick().
Pero aquí hay otra adición: escribo SymbolInfoTick() en el siguiente bucle para obtener precios precisos
while(!SymbolInfoTick(_Symbol, mqlTick));
Si obtenemos precios normales desde la primera vez, este bucle no aumentará el tiempo de ejecución. Y si hay algún fallo, es mejor repetir que conseguir el mismo precio en lugar del actual.
Por lo tanto, para obtener la oferta y la demanda reales en mql4, tiene que llamar a la actualización de todos modos. Y resulta que la carga es poco probable que cambie en comparación con llamar a SymbolInfoTick().
Pero aquí hay otra adición: para obtener sin errores los precios reales, pongo SymbolInfoTick() en este bucle
while(!SymbolInfoTick(_Symbol, mqlTick));
Si obtenemos precios normales desde la primera vez, este bucle no aumentará el tiempo de ejecución. Y si hay algún fallo, es mejor repetir que conseguir el mismo precio en lugar del actual.
Ya veo, pero ¿dónde debo ponerlo, dentro del ciclo o antes?
Por lo tanto, para obtener la oferta y la demanda reales en mql4, tiene que llamar a la actualización de todos modos. Y resulta que la carga es poco probable que cambie en comparación con llamar a SymbolInfoTick().
Pero aquí hay otra adición: para obtener sin errores los precios reales, pongo SymbolInfoTick() en este bucle
while(!SymbolInfoTick(_Symbol, mqlTick));
Si obtenemos precios normales desde la primera vez, este bucle no aumentará el tiempo de ejecución. Y si hay algún fallo, es mejor repetir que conseguir el mismo precio en lugar del actual.
¿Y si no lo recibe en absoluto? ¿Cómo se frena el ciclo?
Sí, lógicamente puede ser, por ejemplo, que el terminal haya perdido la conexión -hay muchas razones para ello, yo he tenido que perder la conexión 50 veces al día-.
¿Cuál es la mejor manera de obtener precios actualizados, con menos recursos, eso sí, para la búsqueda en la red?
Sí, lógicamente puede ser, por ejemplo, que el terminal haya perdido la conexión -hay muchas razones para ello, yo he tenido que perder la conexión 50 veces al día-.
¿Cuál es la mejor manera de obtener precios actualizados, a la vez que se consumen menos recursos, recuerde, para el arrastre de la red?
revisa 10 páginas atrás, hay un buen esquema allí.