Einzelne Array-Berechnung während der Optimierung - Seite 4

 

Leute, wie schreibe ich die Daten in eine Zeile, getrennt durch Kommas?)

Ich bekomme sie jedes Mal bei einer neuen Linie.

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

Im Prinzip sollte es schneller gehen, wenn ich, wie empfohlen, alle Daten auf einmal in ein Array packe:

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

Leute, wie schreibe ich die Daten in eine Zeile, getrennt durch Kommas?)

Ich bekomme sie jedes Mal bei einer neuen Linie.

Im Prinzip sollte es schneller gehen, wenn alle Daten auf einmal im Array sind, wie empfohlen:

Ich habe den Artikel über String-Funktionen gelesen, und ich glaube, ich habe es geschafft:

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:

Leute, wie schreibe ich die Daten in eine Zeile, getrennt durch Kommas?)

Ich bekomme sie jedes Mal bei einer neuen Linie.

Im Prinzip sollte es schneller gehen, wenn ich alle Daten auf einmal in ein Array packe, wie Sie es empfohlen haben:

Warum sollten Sie das tun wollen? Dmitry hat Links zur Dokumentation über das Lesen und Schreiben eines Arrays in eine Datei angegeben.

Wie in "Der Diamantarm"... "Mit einer Handbewegung verwandelt sich die Hose in..." Nur in diesem Fall gibt es keine technischen Fehlfunktionen. Schließlich habe ich nicht umsonst gefragt, wie das Schreiben und Lesen eines Arrays organisiert ist.
 
Hat jemand eine Anleitung, wie man eine normale Datei mit Ziffern in Bin konvertiert? Ich kann nicht herausfinden, was das Trennzeichen für die Ziffern sein soll?
 
-Aleks-:
Hat jemand eine Anleitung, wie man eine normale Datei mit Ziffern in Bin konvertiert? Ich kann nicht herausfinden, welche Art von Trennzeichen die Ziffern haben sollten?
Lesen Sie die Ziffern in ein Array und schreiben Sie das Array dann im Binärmodus in die Datei.
 
Dmitry Fedoseev:
Wenn wir die Ziffern lesen, können wir sie in das Array packen und dann das Array im Binärmodus in die Datei schreiben.

Verstehe, d.h. man kann die fertige Datei mit den Ziffern in ein Array einlesen (in meinem Fall), dann in eine Binärdatei schreiben und diese dann verwenden.

Nun, wenn Sie Daten von 10 Feldern aus der Datei lesen müssen, dann müssen Sie einen Sortierer machen, der das Ende des Feldes durch eine spezielle Ziffer erkennt und das nächste Feld füllt... Denn es ist nicht sinnvoll, jedes Mal die Array-Größe zu schreiben.

 
-Aleks-:

Verstehe, d.h. man kann die fertige Datei mit den Ziffern in ein Array einlesen (in meinem Fall), dann in eine Binärdatei schreiben und diese dann verwenden.

Nun, wenn Sie Daten von 10 Feldern aus der Datei lesen müssen, dann müssen Sie einen Sortierer machen, der das Ende des Feldes durch eine spezielle Ziffer erkennt und das nächste Feld füllt... weil es unbequem wäre, die Arraygröße jedes Mal von Hand zu schreiben.

Was für ein Chaos.

DasSchreiben eines Arrays in eine Datei ist notwendig, um es für den Zeitpunkt des erneuten Ladens von EA zu speichern. Sie sollte vor dem Verlassen geschrieben und beim Eintritt gelesen werden.

Wenn es 10 Arrays im Expert Advisor gibt, gibt es auch 10 Dateien, aber bevor sie (ein Array) gelesen werden kann, sollte sie erstellt und geschrieben werden...

 
Alexey Viktorov:

Ein Durcheinander im Kopf.

DasSchreiben eines Arrays in eine Datei ist notwendig, um das Array zu speichern, wenn der EA neu gestartet wird. Schreiben vor dem Verlassen und Lesen beim Betreten.

Wenn es 10 Arrays in der EA gibt, gibt es auch 10 Dateien, aber bevor sie (die Arrays) gelesen werden können, müssen sie erstellt und geschrieben werden...

Du bist so hochnäsig, dass ich von Lösungen spreche und du das Problem lobst. In meinem Beitrag geht es nicht darum, das Problem des Spitzenstarters zu lösen.

Unaufmerksamkeit und Aggressivität - scheinbar Apathie, Herbst...

 
Alexey Viktorov:

Warum muss ich das tun? Dmitry hat Links zur Dokumentation zum Lesen und Schreiben eines Arrays in eine Datei angegeben.

Es ist wie in dem Film "The Diamond Arm"... "Mit einer Handbewegung wird die Hose verwandelt..." Nur in diesem Fall liegt keine technische Störung vor. Schließlich habe ich nicht umsonst gefragt, wie das Schreiben und Lesen eines Arrays organisiert ist.

Es ist durchaus möglich, dass es mit einer bin-Datei schneller ginge.

Gestern habe ich versucht, das Array auf einmal zu deklarieren. Schließlich kenne ich das Feld schon vorher, vor der Optimierung.

Zum Beispiel so (ich habe einen Teil der Strings gelöscht):

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
   };

Das hat bisher nicht so gut funktioniert. Derzeit sind die Terminals mit der Optimierung beschäftigt, und ich werde versuchen, dies später auf verschiedene Weise zu tun. Ich nehme an, ich muss von String zu Datum konvertieren.

 
Ich tue dies. Ich führe einen einzigen Test durch. Während dieser Tests schreibe ich Arrays in eine Datei. Dann führe ich die Optimierung in demselben Bereich durch, aber die Arrays werden nicht bei jedem Takt oder Tick neu berechnet, sondern aus der Datei gelesen. Die Optimierung durch wöchentliche Eröffnungspreise erfolgt sofort. Ohne Dateioperationen dauert es Stunden.