Cálculo de una matriz durante la optimización - página 4

 

Chicos, ¿cómo escribo los datos en una línea, separados por comas?)

Lo consigo cada vez desde una nueva línea.

int Qnt=FileWrite(Handle,Time[0]);
if(Qnt<0)Alert("не получилась запись=");
   return(0);

En principio, debería funcionar más rápido si pongo todos los datos en un array a la vez, como se aconseja:

double arr[100500]={1,2,3....} 
 
forexman77:

Chicos, ¿cómo escribo los datos en una línea, separados por comas?)

Lo consigo cada vez desde una nueva línea.

En principio, debería funcionar más rápido si todos los datos a la vez en la matriz, como se aconseja:

He leído el artículo sobre las funciones de cadena, creo que lo he hecho:

string str1,str2;
   for (int y=stroki-1;y>=0;y--)
   {
   str1=T[y];
   str2=str2+","+str1;
   }
   Print("str2=",str2);
2016.09.15 21:42:58.649 запись данных GBPUSD,H4: str2=,1452038400,1454022360,1454104980,1456788420,1457130840,1459205760,1459463580,1459814040,1461621600,1461710760
 
forexman77:

Chicos, ¿cómo escribo los datos en una línea, separados por comas)?

Lo consigo cada vez desde una nueva línea.

En principio, debería funcionar más rápido si meto todos los datos en un array a la vez, como me has aconsejado:

¿Por qué querrías hacer eso? Dmitry dio enlaces a la documentación sobre la lectura y escritura de una matriz en un archivo.

Como en "El brazo de diamante"... "Con un movimiento de la mano, los pantalones se convierten en..." Sólo en este caso no hay fallos técnicos. Al fin y al cabo, no he preguntado para nada cómo se organiza la escritura y la lectura de un array.
 
¿Alguien tiene instrucciones sobre cómo convertir un archivo normal con dígitos en Bin? No consigo averiguar cuál debe ser el separador de los dígitos.
 
-Aleks-:
¿Alguien tiene instrucciones sobre cómo convertir un archivo normal con dígitos en Bin? No consigo averiguar qué tipo de separador deben tener los dígitos.
Lee los dígitos en una matriz y luego escribe la matriz en el archivo en modo binario.
 
Dmitry Fedoseev:
Al leer los dígitos, podemos meterlos en la matriz y luego escribir la matriz en el archivo en modo binario.

Ya veo, es decir, se puede leer el archivo listo con dígitos en un array (mi caso), luego escribirlo en un archivo binario, y luego utilizarlo.

Bien, si necesitas leer datos de 10 arrays desde el archivo, entonces necesitas hacer un clasificador, que entenderá el final del array por un dígito especial y llenará el siguiente array... Porque no es conveniente escribir el tamaño del array cada vez.

 
-Aleks-:

Ya veo, es decir, se puede leer el archivo listo con dígitos en un array (mi caso), luego escribirlo en un archivo binario, y luego utilizarlo.

Bien, si necesitas leer datos de 10 arrays desde el archivo, entonces necesitas hacer un clasificador, que entenderá el final del array por un dígito especial y llenará el siguiente array... porque sería inconveniente escribir el tamaño del array cada vez a mano.

Qué lío.

Escribir un array en un archivo es necesario para guardarlo para el momento de la recarga de EA. Debe escribirse antes de salir y leerse al entrar.

Si hay 10 arrays en el Asesor Experto, habrá 10 archivos. Pero antes de que (un array) pueda ser leído, debe ser creado y escrito...

 
Alexey Viktorov:

Un lío en la cabeza.

Escribir un array en un archivo es necesario para guardar ese array para cuando el EA se reinicie. Escribir antes de salir y leer al entrar.

Si hay 10 arrays en el EA, habrá 10 archivos. Pero antes de que se pueda leer (el array), debe ser creado y escrito...

Eres un engreído, yo hablo de soluciones y tú alabas el problema. Mi post no trata de resolver el problema de los titulares.

Desatención y agresividad - aparentemente apatía, otoño...

 
Alexey Viktorov:

¿Por qué tengo que hacerlo? Dmitry dio enlaces a la documentación de lectura y escritura de un array en un archivo.

Es como en la película "El brazo de diamante"... "Con un movimiento de la mano, los pantalones se transforman..." Sólo en este caso no hay ningún fallo técnico. Al fin y al cabo, no he preguntado para nada cómo se organiza la escritura y la lectura de un array.

Es muy posible que sea más rápido con un archivo bin.

Ayer intenté declarar la matriz de una vez. Al fin y al cabo, conozco la matriz de antemano, antes de la optimización.

Por ejemplo, así (he borrado una parte de las cadenas):

datetime T[411]=
   {
   1262731020,1262735700,1262821920,1262903400,1262989740,1263247200,1263339060,1263420000,1263507480,1263595500,
   1265324700,1265407200,1265752980,1265926500,1265930820,1267657200,1267740300,1267826460,1268175840,1268346360,
   1270504920,1270684140,1270768500,1272924180,1273011720,1273097100,1273272240,1273528800,1273617180,1275344100,
   1275516000,1275602400,1275689160,1276034400,1276124580,1276208700,1276211640,1278027960,1278369780,1278373920,
   1278456660,1278540000,1278626400,1278712800,1280447880,1280527200,1280789220,1280959200,1281045720,1283292000,
   1283378400,1283812200,1285626300,1285887060,1286229600,1286316000,1286404740,1288133220,1288216860,1288305120,
   1288392420,1288648860,1288735200,1288741980,1288822080,1288994400,1290722460,1290809040,1291069320,1291329540,
   1293228420,1293577020,1293666300,1293746400,1295992800,1296079320,1296253680,1296514200,1296686940,1296770400,
   1298503260,1298592000,1298672280,1298931060,1300831920,1300917600,1301609160,1301696460,1303512420,1303768920
   };

Todavía no ha funcionado muy bien. En este momento los terminales están ocupados con la optimización y trataré de hacerlo de diferentes maneras más adelante. Supongo que tengo que convertir de cadena a fecha.

 
Yo hago esto. Hago una sola prueba. Durante estas pruebas escribo matrices en un archivo. Luego realizo la optimización en la misma zona pero las matrices no se recalculan en cada barra o tick, se leen del archivo. La optimización mediante la apertura de precios en un periodo semanal es instantánea. Sin operaciones de archivo se tarda horas.