Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 245
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 guión, he hecho esto:
tiempo=0
SymbolInfoTick el lunes.
Puedes comprobarlo con este código:
Pero necesitas ticks por símbolo.
Puedes comprobarlo con este código:
Pero necesitas ticks por símbolo.
Sí,"SymbolInfoTick", hoy no se comprueba.
Lo intenté, no funcionará hasta que lleguen las garrapatas.
iask=0Sí, SymbolInfoTick, hoy no se ha comprobado.
Lo he intentado, hasta que no se apaguen los ticks nada funcionará.
iask=0Esta función es demasiado rápida.
Para medir el rendimiento, es necesario aplicar múltiples llamadas en un bucle con un gran número de iteraciones y medir el tiempo total de ejecución.
Y lo que es más interesante, hay un código de ejemplo. Estamos esperando el resultado.
Para comprobar una nueva barra en el EA he utilizado funciones basadas en "CopyTime", "CopyRates", que he encontrado en los foros. Llegué a la conclusión de que su cálculo lleva mucho tiempo.
Aquí están los datos de la comprobación (es interesante que la llamada al indicador tarde 171 ms):
Y aquí tengo la idea de que si pruebo otra cosa. Por ejemplo, "TimeCurrent".
Hice el siguiente código para la optimización:
Hice el siguiente código para la optimización en Expert Advisor:
Resultado en una sola ejecución sin comprobación de una nueva barra, cuando se reciben los valores de los indicadores en cada tick: 817,196 ms
Con comprobación de una nueva barra: 735 904 ms
La diferencia no es especialmente impresionante, hay alguna mejora, pero no es suficiente.
Obtengo el indicador de la siguiente manera:
He intentado poner el código con llamadas de asas en el bloque donde se realiza la comprobación de la nueva barra, pero aparece el error si
Pongo return no devuelve nada, ningún error, pero el EA no funciona.
Supongo que la llamada a hendle, si es posible y en general todo el código principal excepto la variable estática debería colocarse dentro de la sentencia condicional de comprobación de una nueva barra.
Si no me equivoco, he leído en algún sitio que aunque llamemos a un asa pero no pidamos un indicador en los buffers, se sigue calculando.
Quién puede sugerir cómo hacer un indicador que muestre los resultados de una sola fórmula buffer[i] = (1.3747-(MarketInfo("EURUSD", MODE_BID))+0.8835-(MarketInfo("USDCHF", MODE_BID)))*10000;
Es necesario escribir un indicador personalizado. Para facilitar el proceso, toma uno de los indicadores más sencillos,iMa, y reescribe un poco. Aquí hay otro tema, donde se habla de MarketInfo. Escribe el código, pregunta, si algo no funciona.
¿Qué pasó con las variables estáticas? Hoy he actualizado la antigua build del terminal y ahora hay errores al compilar:
Ahora hay que colocar los miembros-datos estáticos de la clase: