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
Me parece que los bares de TF más antiguos rara vez "desaparecen".
Otra variante es obtener el tiempo de esta barra simultáneamente a través de CopyTime().
Y la tercera opción (probablemente la más fácil) es utilizar los CopyRates en la estructura a la vez.
Gracias... El caso es que trabajo en M1 y a menudo veo barras asíncronas con el mismo índice en diferentes instrumentos. La comparación de fechas también es una opción. Voy a ver qué variante es más óptima en términos de velocidad de cálculo.
Aquí hay algo de sincronización.
Gracias. Artículo útil... Es decir, para cada barra del símbolo actual utilizando la función CopyTime obtenemos la hora y luego copiamos los datos de otro símbolo por esta hora.
Pero en lugar de eventos personalizados yo usaría la función OnTimer, porque es muy engorroso colgar un "indicador-agente" en cada símbolo...
Gracias. Artículo útil... Es decir, para cada barra del símbolo actual utilizando la función CopyTime para obtener el tiempo, y luego copiar los datos de otro símbolo por este tiempo.
Puede hacerlo así, si está satisfecho con la sincronización relativa al símbolo actual.
Pero en lugar de los eventos personalizados yo utilizaría la función OnTimer, porque es demasiado engorroso colgar un "indicador-agente" en cada símbolo...
hay un problema.
MT4
detalles:
https://www.mql5.com/ru/forum/139759/page13#655069
Probablemente la mayor decepción para mí es el comportamiento de las funciones SeriesInfoInteger, CopyTime, CopyOpen y similares.
Resulta que incluso los fines de semana, cuando no se reciben nuevas cotizaciones, se actualizan los datos existentes,
estas funciones pueden dar resultados diferentes con los mismos parámetros. Hay un problema con el control de los datos de las series temporales ya presentes en el terminal.
Se ha observado que el problema se produce al trabajar en modo multidivisa después de recompilar los indicadores, así como al cambiar los plazos y reiniciar el terminal.
CopyOpen() no produce un error si intentamos copiar datos de un trozo de historia inexistente, especificando la fecha de su inicio. La función emite el valor de la cotización de una barra desconocida.
Este comportamiento de la función se ha detectado en el par USDHKD, para el que no hay datos de los últimos meses en el servidor MQ.
¡Gracias a MQ por las nuevas trampas!
void OnStart()
{
Alert("start");
string arr1[178365];
char arr2[178365];
arr1[100002]="hello";
Alert(arr1[100002]);
Alert("finish");
}
En tiempo de compilación da avisosde que el tamaño de las variables locales es demasiado grande (más de 512kb) 55.mq5 27 6
En ejecución2012.07.01 14:37:26 55 (GBPUSD,MN1) stack overflow
¿No puedo usar 2 matrices pequeñas? ¿Es realmente tanto?
Yo uso Metatrader no para operar, lo uso para otros cálculos.
Stasikusssss:
...
Yo probaría esto: poner los arrays en una clase o en una estructura (no recuerdo si se puede asignar memoria dinámica a una estructura), asignar memoria a la clase mediante new;
O colocar la definición de las matrices en una función separada, y jugar con la #propiedad stacksize https://www.mql5.com/ru/docs/basis/preprosessor/compilation. Si es la segunda variante, los arrays no pueden ser estáticos.
Si se necesitan matrices de gran tamaño, deben hacerse dinámicas con asignación explícita de memoria.