Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1439

 
ANDREY:

Vielen Dank für die wertvollen Ratschläge. Jetzt lese ich die Dokumentation nur noch beim Schreiben von Code, wenn ich auf eine Frage stoße, auf die ich die Antwort nicht kenne. Ich bin noch nie auf die Notwendigkeit gestoßen, beim Schreiben von Code Daten in Dateien zu schreiben, daher ist das ein völlig neues Thema für mich.
Sagen Sie mir, kann meine Idee nicht auf eine einfachere Art und Weise verwirklicht werden, ohne sie in eine Datei zu schreiben? Wie in meinem Code. Dies ist kein funktionierender Code, sondern soll meine Idee veranschaulichen, wie man das Minimum zwischen zwei benachbarten Aufträgen findet, die auf einer einminütigen Kerze eröffnet wurden
Danke für die Hilfe.

Ich meine, ich habe den Preis jedes Ticks direkt in das Array geschrieben, nicht in eine Datei.

Ich weiß nicht, wie Sie so etwas lesen können. Als ich mit dem Programmieren anfing, hörte das Programmieren einfach auf, sobald ich in die Dokumentation für irgendeine triviale Sache kam. Ich habe mehr und mehr herausgefunden... Sie haben über eine Funktion gelesen, die in eine Datei schreibt, und haben nichts daneben gesehen. Man hat Ihnen von einer anderen erzählt und Sie sind euphorisch über das, was Sie gehört haben. Was gibt es sonst noch? Haben Sie überhaupt etwas gelesen? Welche anderen Funktionen gibt es zum Schreiben in eine Datei? Und wie muss man lesen, um solche Fragen zu stellen? Ich habe Ihnen gesagt, Sie sollen ein Array schreiben und ein Array lesen. Und Sie wollen .csv schreiben und in ein Array lesen. So funktioniert das nicht. Und wenn Sie alles nur... im Moment brauchen, warum in eine Datei schreiben?
 
Valeriy Yastremskiy:

Sie erhalten den Preis, Sie können die Zeit festlegen, aber Sie warten auf einen neuen Auftrag. und dann fragen Sie nach der maximalen oder minimalen Tick-Zeit. ein Tick ist schließlich ein Tick.

Der Preis einer Zecke ist immer eine Zecke. Es handelt sich nicht um die Variable x low, sondern um den Ausdruck X =LoY[1]. LoY[1] ist price..... ohne Optionen.
"..... und dann fragen Sie nach der maximalen oder minimalen Tickzeit...."

Das ist die Sache mit dieser Idee, die Zeit ist überhaupt nicht beteiligt ..... nur der Mindestpreis der Kerze, die ich nur zwei Mal herausfinden. Das erste Mal, wenn der erste Auftrag geöffnet wird, und das zweite Mal, wenn der zweite Auftrag geöffnet wird. Dann vergleiche ich diese Preise und ziehe eine Schlussfolgerung: ob der erste Auftrag eröffnet wurde, bevor LoY[] gebildet wurde oder nachdem er gebildet wurde. Zunächst dachte ich, dass ich Informationen über die Zeit benötige, um mein Problem zu lösen. Aber dann dämmerte es mir.... und es zeigte sich, dass wir auf Zeit verzichten können und nur der Mindestpreis einer Kerze ausreicht.

 
Alexey Viktorov:
Ich weiß nicht, wie Sie so etwas lesen können. Als ich mit dem Programmieren anfing, musste ich bei jeder Kleinigkeit in die Dokumentation schauen, um die Programmierung zu stoppen. Ich habe mehr und mehr herausgefunden... Sie haben über eine Funktion gelesen, die in eine Datei schreibt, und haben nichts daneben gesehen . Man hat Ihnen von einer anderen erzählt und Sie sind euphorisch über das, was Sie gehört haben. Was gibt es sonst noch? Haben Sie überhaupt etwas gelesen? Welche anderen Funktionen gibt es zum Schreiben in eine Datei? Und wie muss man lesen, um solche Fragen zu stellen? Ich habe Ihnen gesagt, Sie sollen ein Array schreiben und ein Array lesen. Und Sie wollen .csv schreiben und in ein Array lesen. So funktioniert das nicht. Und wenn Sie alles nur... im Moment brauchen, warum sollten Sie es in eine Datei schreiben?

Meiner Meinung nach ist es sinnvoll, sich anzuschauen, was nebeneinander steht, wenn das Material logisch miteinander verbunden und in einer verständlichen Reihenfolge präsentiert wird. Wie in den meisten Lehrbüchern. Diese Verbindung und Kohärenz vermisse ich im Handbuch. Ich gebe zu, dass ich sie vielleicht habe, aber das Problem sind meine kognitiven Besonderheiten.

Das Wichtigste habe ich noch nicht verstanden. Warum sollte ich Daten aus meinem Code in die Datei schreiben, wenn ich das nicht muss? Unter welchen Umständen ist es sinnvoll, Daten eines Programms in eine Datei .... zu schreiben? im Allgemeinen und in meinem Fall. Wie ich Ihren Worten entnehme, hängt die Sinnhaftigkeit des Schreibens von Daten in eine Datei irgendwie davon ab, wie oft ich meinen Code verwenden werde. Aber ich verstehe immer noch nicht den Sinn dieser Konditionalität. Vielleicht geht es darum, dass die gleichen Daten aus der Datei auch von meinem anderen Programm verwendet werden können? Ein anderes Programm bräuchte dann aber genau diese Daten in der Datei. Und das ist alles andere als eine Gewissheit...
Vielen Dank für die Hilfe.

 
Liebe Kollegen, hallo! Ich bin auf der Suche nach einem Aktienindikator, der den Prozentsatz des aktuellen Drawdowns auf das Eigenkapital sowie die Echtzeitkurven von Saldo und Eigenkapital anzeigt. Ich überprüfe nicht einfach so, um der Sache willen.
 
Alexey Viktorov:
Ich habe Ihnen gesagt, Sie sollen ein Array schreiben und ein Array lesen. Und Sie wollen .csv schreiben und das Array lesen. So funktioniert das nicht. Und wenn Sie alles nur... im Moment brauchen, warum in eine Datei schreiben?

Ich war auch von der roten Phrase fasziniert. Ich wollte nämlich keine.csv-Datei schreiben und in ein Array einlesen. Weil ich noch nicht weiß, wie ich es machen soll. Ich weiß, dass es Textdateien mit der Erweiterung .csv gibt. Aber habe ich eine Datei mit dieser Erweiterung in meinem Code irgendwie berührt? Aus dem Array .... read.... Es tut mir leid :=)... aberich weiß auch nicht, wiemaninArrayliestund ich verstehe nicht, was es bedeutet.
Ich würde es zu schätzen wissen, wenn Sie meinen Code umschreiben könnten (es ist ziemlich kurz), so dass es Funktion
des Schreibens in die Datei und Funktion des Lesens aus der Datei haben würde.
Da dieser Code mir gehört, werde ich schnell neue Informationen für mich lernen.
Nochmals vielen Dank, und entschuldigen Sie, dass ich nicht so fortgeschritten bin wie Sie und wahrscheinlich dumme Fragen stelle (nach Ihrer professionellen Meinung).

Ich möchte mql4 und dann mql5 auf stabile Weise lernen. Es handelt sich nicht um eine vorübergehende Modeerscheinung. Außerdem habe ich jetzt mehr Zeit dafür.
Außerdem erhalte ich neue Informationen nicht so schnell, wie ich es mir wünschen würde...., aber ich tue es. Vielen Dank an Sie und die anderen Teilnehmer dieses Forums. Dafür bin ich allen dankbar.

 
ANDREY:

Ich war auch von der roten Phrase fasziniert. Ich wollte nämlich keine.csv-Datei schreiben und in ein Array einlesen. Weil ich noch nicht weiß, wie ich es machen soll. Ich weiß, dass es Textdateien mit der Erweiterung .csv gibt. Aber habe ich eine Datei mit dieser Erweiterung in meinem Code irgendwie berührt? Aus dem Array .... read.... Es tut mir leid :=)... aberich weiß auch nicht, wiemaninArrayliestund ich verstehe nicht, was es bedeutet.
Ich würde es zu schätzen wissen, wenn Sie meinen Code umschreiben könnten (es ist ziemlich kurz), so dass es Funktion
des Schreibens in die Datei und Funktion des Lesens aus der Datei haben würde.
Da dieser Code mir gehört, werde ich schnell neue Informationen für mich lernen.
Nochmals vielen Dank und entschuldigen Sie, dass ich nicht so fortgeschritten bin wie Sie und wahrscheinlich dumme Fragen zu Ihrer professionellen Meinung stelle.

Andriy, ich wühle nicht in den Codes anderer Leute. Ich ziehe es vor, zu erklären, wenn ich nicht verstehe, was in der Dokumentation steht. Wenn Sie die Dokumentation nicht gelesen oder sich nicht eingehend mit ihr befasst haben, haben Sie offensichtlich nichts verstanden. Und der Weg, den Sie vorschlagen, wird keine Ausbildung sein, sondern ein "Fischglas", für das Sie in Zukunft etwas Ähnliches tun wollen. Dieser Ansatz funktioniert jedoch nicht immer.

 
ANDREY:

Danke für den Rat. Aber...... Hier ist ein Screenshot der Dokumentation über Dateivorgänge

Mir scheint, dass der Leitfaden für bereits fortgeschrittene Benutzer gedacht ist. Kovalev erklärt in seinem Tutorial ausführlich, was benötigt wird und zu welchem Zweck, bevor er ins Detail geht.

Aber seine Anleitung ist, wie man hier sagt, hoffnungslos veraltet und für Anfänger sogar gefährlich.

Nein, das ist es nicht. Sie müssen ihn nur lesen und verstehen, dass es sprachliche Verbesserungen und Änderungen gegeben hat. Am besten fügen Sie den Code zuerst ein, indem Sie im Meta-Editor eine Vorlage erstellen. Es wird weniger Fehler geben. Für die Logik der Algorithmen ist das Lehrbuch relevant. Und das Schreiben in die Datei dort ist korrekt. Schauen Sie sich das Buch von Dmitry Fedoseyev über µl5 an. Ich glaube, er hat seine auf Googleplay gestellt.

 
Valeriy Yastremskiy:

Nein, sie ist nicht veraltet. Sie müssen nur lesen, um zu verstehen, dass es sprachliche Verbesserungen und Änderungen gegeben hat. Es ist besser, den Code einzufügen, indem Sie zunächst eine Programmvorlage im Meta-Editor erstellen. Es wird weniger Fehler geben. Für die Logik der Algorithmen ist das Lehrbuch relevant. Und das Schreiben in die Datei dort ist korrekt. Schauen Sie sich das Buch von Dmitry Fedoseyev über µl5 an. Ich glaube, er hat seine auf Googleplay gestellt.

Danke für den Hinweis. Ich habe bereits mit der Lektüre von FILE OPERATIONS aus Kovalevs Tutorial begonnen. In der Tat... langsam wird etwas klar. Ich habe verstanden, dass alle EAs, die ich getestet habe, Textdateien mit Barpreisen (die allerdings nicht von meinem Programm erstellt wurden) mit der Erweiterung .cvv lesen, die sich im Ordner des Tester-Terminals befinden.
Mit anderen Worten, Informationen (Daten) von einem beliebigen Programm werden in die Datei geschrieben und diese Daten aus der Datei gelesen, ebenfalls von einem beliebigen Programm. Ich habe den Eindruck, dass in den Dateien große Datenmengen gespeichert werden, deren Speicherung im Programm nicht sinnvoll ist. So etwas wie eine mqh-Datei.
Wenn Sie mir erklären wollen, was Alexey Victorovs Satz bedeutet : ".... Do you want to write .csv and read array....." aus Beitrag mit Bezug auf meinen Code aus Beitrag
. Ich dachte, er meinte die Textdatei .cvv, mit den Barpreisen aus dem Testerverzeichnis. Aber was genau er damit meint, verstehe ich immer noch nicht. Ich schreibe diese .cvv-Dateien nicht, sondern das Programm des Alpari-Händlers... Wie das Programm aus einem Array liest - im Allgemeinen verstehe ich ein wenig ... Sie greift auf eine Zelle eines Arrays über ihre Adresse zu, gelangt in die Zelle und greift auf den Wert der Zelle zu (d.h. liest ihn). Wie kann ein Programm in ein Array hineinlesen, anstatt aus ihm heraus? Das ist ein unauflösbarer Widerspruch .... scheint mir als Laie zu sagen. Aus irgendeinem Grund glaube ich, dass man in ein Array nur bestimmte Werte schreiben kann. Und Sie können nur aus einem Array lesen

 
ANDREY:

...
Wenn es Ihnen nichts ausmacht, mir zu erklären, was Alexey Victorovs Satz "....And you want to write .csv and read into array....." aus Beitrag in Bezug auf meinen Code aus Beitrag
bedeutet, so wie es mir schien, meint er eine Textdatei .cvv, mit Bar-Preisen aus dem Tester-Katalog. Aber was genau er damit meint, verstehe ich immer noch nicht. Ich schreibe diese .cvv-Dateien nicht, sondern das Programm des Alpari-Händlers... Wie das Programm aus einem Array liest - im Allgemeinen verstehe ich ein wenig ... Sie greift auf eine Zelle eines Arrays über ihre Adresse zu, gelangt in die Zelle und greift auf den Wert der Zelle zu (d.h. liest ihn). Wie kann ein Programm in ein Array hineinlesen, anstatt aus ihm heraus? Das ist ein unauflösbarer Widerspruch .... scheint mir als Laie zu sagen. Aus irgendeinem Grund glaube ich, dass man in ein Array nur bestimmte Werte schreiben kann. Und Sie können nur aus dem Array lesen.

Ja, und es macht mir nichts aus. Es wird nicht im Code gegraben.

FileWrite

Schreibt die Daten in eine CSV- oder TXT-Datei

FileWriteArray

Schreibt Arrays beliebigen Typs, außer String-Arrays, in eine Datei vom Typ BIN .


Einlesen in ein Array, d.h. aus einer Datei. Sehen Sie sich die Funktion

uint  FileReadArray( 
   int    file_handle,               // handle файла 
   void&  array[],                   // массив для записи 
   int    start=0,                   // стартовая позиция для записи в массив 
   int    count=WHOLE_ARRAY          // сколько читать 
   );

Übergibt ein vorbereitetes Array und schreibt in dieses.

Sie können die Funktion read array nur aus einer Datei verwenden, die mit der Funktion array write geschrieben wurde.

Im Prinzip können Sie jede Datei, die keine Zeichenketten enthält, in ein Array einlesen. Allerdings wird das Array nur Element für Element aufgefüllt.

ps;

Dank des Zufalls habe ich zumindest die Dokumentation selbst gelesen und neue Funktionen zum Schreiben und Lesen von Arrays in mql5 gefunden.

Документация по MQL5: Файловые операции / FileSave
Документация по MQL5: Файловые операции / FileSave
  • www.mql5.com
FileSave - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Für mich ist das auch nicht schwierig. Es geht nicht darum, sich in den Code zu vertiefen.

FileWrite

Schreibt die Daten in eine CSV- oder TXT-Datei

FileWriteArray

Schreibt alle Arten von Arrays, außer String-Arrays, in eine Datei vom Typ BIN .



Dank des Zufalls habe ich zumindest die Dokumentation gelesen und neue Funktionen in mql5 zum Schreiben und Lesen von Arrays gefunden.

Schön, dass ich Ihnen helfen konnte :=) :=) :=)

Nun zu meinem Code, der wahrscheinlich so schlecht ist, dass es unangenehm ist, darin herumzustochern. Aber sagen Sie mir wenigstens, was der Vorteil meines Codes wäre, wenn ich ein einziges Array (mit Preiswerten) dieses Codes in eine Datei schreiben würde, und dann würde das Programm es aus dieser Datei lesen und seine Werte in weiteren Berechnungen verwenden. Und das Array hat nur 60 Elemente. Was genau in meinem Code wäre optimal?
Danke für Ihre Hilfe.
Grund der Beschwerde: