Errores, fallos, preguntas - página 760

 
Karlson:

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 asunto es que trabajo con M1 y a menudo veo barras asíncronas con el mismo índice en diferentes símbolos. La comparación de fechas también es una opción. Veré qué variante es mejor para la velocidad de cálculo...
 
Alex5757000:
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.
 
Lizar:
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...

 
Alex5757000:

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...

Utiliza OnTimer, todo depende de tus necesidades de calidad de sincronización.
 
Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
  • www.mql5.com
Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
 

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.

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Sobre las comillas inexistentes: por favor, proporcione un ejemplo reproducible en su código. Debe haber un error en su código.
 
No es razonable hacer arrays enormes en la pila (más de 512 Kb), como nos advirtió el compilador enseguida.

Si se necesitan matrices de gran tamaño, deben hacerse dinámicas con asignación explícita de memoria.
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5