Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 169
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Guten Tag. Ich kann keine Daten aus einer Datei lesen und sie sofort wieder zurückschreiben. Wenn ich ein Codefragment mit Schleifen und MathRand() auskommentiere, wird die Datei so, wie sie sein sollte. Wenn aber Zeilen auskommentiert werden (es herrscht bereits Chaos in der Datei), enthält die Datei beim nächsten Aktivieren/Deaktivieren des Expert Advisors Nullen. Die Lese-Schreib-Arrays sind double ROM1[128][128] und double ROM2[3][128]. Die Arrays werden an keiner anderen Stelle des Codes geändert, sondern nur gelesen. Hier ist ein Teil des Codes:
int init()
{
Print ("Сработала ф-ия init"); // Сообщение
Handle=FileOpen("Neuro",FILE_BIN|FILE_READ|FILE_WRITE);// Открытие файла на чтение и запись
FileSeek(Handle, 0, SEEK_SET); //указатель на начало файла
FileReadArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET); //указатель на конец первого массива
FileReadArray(Handle, ROM2);
/*
for(i=0; i<128; i++) //заполнение памяти первого слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
for(i=0; i<3; i++) //заполнение памяти второго слоя кашей
{
for(k=0; k<128; k++)
{
ROM1[i][k] = (MathRand()-16383)/3200;
}
}
*/
return(0);
}
//--------------------------------------------------------------------
int deinit()
{
FileSeek(Handle, 0, SEEK_SET);
FileWriteArray(Handle, ROM1);
FileSeek(Handle, 131073, SEEK_SET);
FileWriteArray(Handle, ROM2);
FileClose(Handle);
return(0);
}
zwei identische Aufträge.
Ich danke Ihnen.
zwei identische Aufträge.
Ich danke Ihnen.
Sie können nach einem Signal suchen, wann immer Sie wollen, aber Sie müssen eine Position nach Zeit eröffnen.
Beobachten Sie den Zeitpunkt der Eröffnung einer Position mit magic 565 und beobachten Sie die aktuelle Zeit. Wenn die aktuelle Zeit um die angegebene Anzahl von Minuten länger ist als der Zeitpunkt der Positionseröffnung mit magic 565, dann können Sie eine Position eröffnen.
Sie können nach einem Signal suchen, wann immer Sie wollen, aber Sie müssen zulassen, dass eine Position nach Zeit geöffnet wird.
Sehen Sie den Zeitpunkt der Eröffnung einer Position mit magic 565 und sehen Sie die aktuelle Zeit. Wenn die aktuelle Zeit um eine bestimmte Anzahl von Minuten länger ist als die Öffnungszeit des Magik 565, kann die Position geöffnet werden.
Ich danke Ihnen vielmals. Wie sieht das im Code aus?
Ein bisschen davon. Die Funktion liest ein zweidimensionales Array double auf keinen Fall ein, schreibt es aber trotzdem auf.
Ich habe eine Schleife für das Lesen von Element zu Element erstellt. Vielleicht ist es ja für jemanden von Nutzen.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
Ich danke Ihnen vielmals. Wie sieht das im Code aus?
Es geht nicht darum, kostenlosen Code zu schreiben, sondern denjenigen zu helfen, die versuchen, ihn selbst zu schreiben, sich dabei aber schwer tun.
Zeigen Sie uns, was Sie in Ihrem Code nicht können - wir werden Ihnen helfen.
Ich habe es ein wenig ausgearbeitet. Die zweidimensionale Array-Double-Funktion will nicht lesen, obwohl sie gut schreibt.
Ich habe eine Schleife für Schleife gelesen. Vielleicht braucht sie jemand.
FileSeek(Handle, n, SEEK_SET); //изменение позиции файлового курсора
Neuron[k][i].rom[l] = FileReadDouble(Handle, DOUBLE_VALUE); //загрузка из файла
n=n+8;
}
Warum sollte ich den Menschen solche Krücken anbieten, nur weil ich selbst die Aufgabe nicht bewältigt habe?
Um ein zweidimensionales Array aus einer Datei zu lesen, sollte es ein dafür vorbereitetes zweidimensionales Array sein.
Wenn ich mich richtig an das Codebeispiel erinnere, habe ich nicht gesehen, dass die Datei nach dem Schreiben geschlossen wird. Es wird eine leere Datei erstellt, in die Daten geschrieben werden, aber diese gefüllte Datei wird im Hauptspeicher abgelegt und die Daten können nur von der Festplatte gelesen werden. Infolgedessen sieht die Datei so aus, als wäre sie geschrieben worden, aber physisch ist sie nicht auf der Festplatte... Um die Daten auf der Festplatte zu speichern, muss man entweder die Datei schließen oder sie zwangsweise auf der Festplatte speichern.
Und das ist kein kostenloses Schreiben von Code, sondern eine Hilfe für diejenigen, die versuchen, sie selbst zu schreiben, es aber nicht hinbekommen.
Zeigen Sie uns, was Sie in Ihrem Code nicht können, und wir werden Ihnen helfen.
danke
Hallo! Bitte schreiben Sie ein einfaches (sehr einfaches) Beispiel in mql4. Ich bin noch ein absoluter Anfänger.
1) Eröffnen Sie einen schwebenden Auftrag, wenn der Kurs einen beliebigen Wert erreicht (d.h. wenn der Kurs 0,7777 beträgt, eröffnen Sie einen schwebenden Auftrag)
2) Schließen Sie einen Marktauftrag, wenn er einen beliebigen Wert erreicht hat (d.h. wenn der Kurs 0,6666 beträgt, schließen Sie den Auftrag).
Ich kann nicht einmal einen Auftrag mit einer eindeutigen Auftragsnummer abschließen. Ich möchte versuchen, den aktuellen Status meines Handelsroboters zu ändern, aber ich verstehe nichts.
Ich habe versucht, ein Tutorial von dieser Website zu lesen, aber ohne Erfolg (vielleicht bin ich so dumm), und die elementaren Beispiele sind irgendwie nicht im Internet. Vielen Dank im Voraus
Hallo! Bitte schreiben Sie ein einfaches (sehr einfaches) Beispiel in mql4. Ich bin noch ein absoluter Anfänger.
1) Eröffnen Sie einen schwebenden Auftrag, wenn der Kurs einen beliebigen Wert erreicht (d.h. wenn der Kurs 0,7777 beträgt, eröffnen Sie einen schwebenden Auftrag)
2) Schließen Sie einen Marktauftrag, wenn er einen beliebigen Wert erreicht hat (d.h. wenn der Kurs 0,6666 beträgt, schließen Sie den Auftrag).
Ich kann nicht einmal einen Auftrag mit einer eindeutigen Auftragsnummer abschließen. Ich möchte versuchen, den aktuellen Status meines Handelsroboters zu ändern, aber ich verstehe nichts.
Ich habe versucht, ein Tutorial von dieser Website zu lesen, aber ohne Erfolg (vielleicht bin ich so dumm), und die elementaren Beispiele sind irgendwie nicht im Internet. Vielen Dank im Voraus
Wenn Sie Probleme mit schwebenden Aufträgen haben, suchen Sie diese in der CodeBase und sehen Sie nach, wie der Code geschrieben ist.