Errores, fallos, preguntas - página 730

 

¿Puede aconsejar cómo resolver el problema?
Después de la primera ejecución del Asesor Experto en el probador (Read=false), se crea un archivo csv con estadísticas.
En int OnInit() el siguiente código:

  ResetLastError();
  if(Read)
  {
    filehandle=FileOpen(FileName,FILE_READ|FILE_CSV);
  }
  else
  {
    filehandle=FileOpen("razdvigka.csv",FILE_WRITE|FILE_CSV);
  }
El archivo creado se almacena en el directorio: tester\Agent\MQL5\Files

Sin embargo, en la segunda ejecución (Read=true). Necesitamos leer datos de este archivo, pero el archivo se ha borrado.

 
Vitya:

¿Pueden aconsejar cómo resolver el problema?
Después de la primera ejecución del Asesor Experto en el probador (Read=false), se crea un archivo csv con estadísticas.
En int OnInit() el siguiente código:

El archivo creado se almacena en el directorio: tester\Agent\MQL5\Files

Sin embargo, en la segunda ejecución (Read=true). Necesitamos leer datos de este archivo, pero el archivo se ha borrado.

En este caso es necesario crear un archivo con la bandera FILE_COMMON. El archivo se creará en la carpeta compartida del terminal.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
tol64:
En este caso es necesario crear un archivo con la bandera FILE_COMMON. El archivo se creará en la carpeta compartida del terminal.
filehandle=FileOpen(FileName,FILE_READ|FILE_CSV|FILE_COMMON);
Gracias.
Lo tengo resuelto.
 
Gracias.
 
Servicedesk, ¿está la solicitud #359447 tanteando o lo ha intentado en vano?
 
x100intraday:
Servicedesk, ¿se está tanteando la solicitud #359447 o se ha intentado para nada?
Se está discutiendo mucho. Pero aún no hay una respuesta preparada.
 

Si suponemos que se trata del indicador), la primera vez se mostrará la fecha, pero en las siguientes configuraciones del gráfico (segunda, tercera copia) no se mostrará la fecha.

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
    Print(TimeCurrent());
   
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,const int prev_calculated,
                const datetime &Time[],
                const double &Open[],
                const double &High[],
                const double &Low[],
                const double &Close[],
                const long &TickVolume[],
                const long &Volume[],
                const int &Spread[])
{
  
  
  
  return(rates_total);
  
}
 
Karlson:

Si asumimos que es el indicador), mostrará la fecha por primera vez, pero las siguientes configuraciones en el gráfico (segunda, tercera copia) no mostrarán la fecha.

Ahora la parte de cálculo del indicador se borra del espacio mql con un retraso.

si aplica el mismo indicador (con los mismos parámetros) a gráficos diferentes (pero con el mismo símbolo/línea de tiempo), no habrá reinicialización.

Si después de borrar la última copia va a fumar - entonces habrá reinicialización en el arranque.

Ese efecto secundario de la optimización. :)

Nota: ¡Fumar es malo para SU SALUD!

;)

 

Estimados programadores,

Dime, ¿qué es lo que más afecta a la velocidad en el código del programa mql5? El asunto es que al crear mi propio programa y aumentar el volumen de código, me he encontrado con el hecho de que su velocidad ha disminuido considerablemente. Sin embargo, los Asesores Expertos estándar más intensivos en código de la carpeta Asesores y Ejemplos son mucho más rápidos.

En general, ¿hay algún artículo o explicación de cómo formatear mejor la estructura del código en el foro? Dale un consejo a un programador novato. Gracias.

 
Alex5757000:

Estimados programadores,

Dime, ¿qué es lo que más afecta a la velocidad en el código del programa mql5? El asunto es que al crear mi propio programa y aumentar el volumen de código, me he encontrado con el hecho de que su velocidad ha disminuido considerablemente. Sin embargo, los Asesores Expertos estándar más intensivos en código de la carpeta Asesores y Ejemplos son mucho más rápidos.

En general, ¿hay algún artículo o explicación de cómo formatear mejor la estructura del código en el foro? Dale un consejo a un programador novato. Gracias.

En mi opinión, los bucles anidados son los que más afectan a la velocidad. Los bucles anidados hasta la tercera profundidad son prácticamente un límite, más allá del cual hay que tener mucho cuidado con el tamaño de los bucles. Tomaré mi P4 como ejemplo: está funcionando a 3Hz, estoy recibiendo ~10k operaciones por segundo.

Este número significa, que los ciclos triples anidados 1000x1000x10 se ejecutarán en 1 seg, si se entiende, si el 3er ciclo se aumenta a 100 se obtienen 10 seg.