Die Sprache MQL5 von Grund auf selbst erlernen - Seite 57

 
MrBrooklin:

Ich lerne weiter die Programmiersprache MQL5. Zuvor habe ich den Code der Schleife veröffentlicht, die die Aufzählung der offenen Positionen startet. Nachdem die Schleife gestartet wurde, beginnen wir mit dem Symbol im aktuellen Diagramm zu arbeiten:

Ich werde in regelmäßigen Abständen den geschriebenen Code mit meinen eigenen Kommentaren veröffentlichen, um ein schnelles Feedback zu geben. Ich bitte die Teilnehmer dieses Themas, mich zu korrigieren, falls meine Codes und Kommentare Ungenauigkeiten enthalten.

Mit freundlichen Grüßen, Vladimir.

Print("Выбираем позицию на символе ", PositionGetSymbol(i), "Тикет", i);

Kommentare, die Daten enthalten, sind praktischer.

 
Valeriy Yastremskiy:

Kommentare, die Daten enthalten, sind praktischer.

Vielen Dank, Valery! Ihre Version der Nachricht ist informativer. Ich werde den Code sofort ändern.

Mit freundlichen Grüßen, Vladimir.

 

Liebe Programmierungsexperten!

Bitte erläutern Sie zwei Fragen:

  1. Erste Frage zur Magic Number - wird sie in den Eingabeparametern nur für schwebende Aufträge und offene Positionen erstellt (oder nur für offene Positionen?), oder kann sie auch für den EA selbst erstellt werden? Wenn die Antwort "ja" lautet, zu welchem Zweck sollte dies geschehen? Diese Frage hat mich wirklich verwirrt und ich habe keine gute Antwort.
  2. Die zweite Frage zur Magic Number - wenn es mehr als eine offene Position im aktuellen Chart gibt, dann ist es möglich, einen solchen Eingabeparameter anzuwenden, um jede Position zu bestimmen:
input int Magic_Number=-1;

Vielleicht habe ich ein falsches Verständnis von der Anwendung der Magischen Zahl in der Programmierung.

Mit freundlichen Grüßen, Vladimir.

 

Es gibt zwar eine Erklärung im Artikel von Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, aber ich verstehe sie immer noch nicht, weil er es zu kompliziert macht.

Mit freundlichen Grüßen, Vladimir.

 
MrBrooklin:

Liebe Programmierungsexperten!

Bitte erläutern Sie zwei Fragen:

  1. Erste Frage zur Magic Number - wird sie in den Eingabeparametern nur für schwebende Aufträge und offene Positionen erstellt (oder nur für offene Positionen?), oder kann sie auch für den EA selbst erstellt werden? Wenn die Antwort "ja" lautet, zu welchem Zweck sollte dies geschehen? Diese Frage hat mich wirklich verwirrt und ich habe keine gute Antwort.
  2. Die zweite Frage zur Magic Number - wenn es mehr als eine offene Position im aktuellen Chart gibt, dann ist es möglich, einen solchen Eingabeparameter anzuwenden, um jede Position zu bestimmen:

Vielleicht habe ich ein falsches Verständnis von der Anwendung der Magischen Zahl in der Programmierung.

Mit freundlichen Grüßen, Vladimir.

Warum brauchen Sie die Magic Number jetzt? Warum sollte man sich jetzt noch damit befassen? Der Trailing-Stop wird offensichtlich als Element des halbautomatischen Handels eingesetzt: Jemand hat eine Order platziert, und der EA beginnt, diese zu durchforsten. Wen interessiert es, wer den Auftrag erteilt hat? Wenn ein anderer Roboter den Auftrag platziert hat und Sie ein Trawl öffnen, wird Ihr Expert Advisor auch dessen Auftrag trawlen. Wenn Sie das Schleppnetz nicht einstellen, wird es nicht funktionieren. Dies ist genau der Fall, wenn Sie keine Magie benötigen. Wenn Sie sie später plötzlich brauchen, können Sie sie später schreiben.

 
MrBrooklin:

Es gibt zwar eine Erklärung im Artikel von Artem Trishkin https://www.mql5.com/ru/articles/7394#node02, aber ich verstehe sie immer noch nicht, weil er es zu kompliziert macht.

Mit freundlichen Grüßen, Vladimir.

Sie müssen das definitiv nicht lesen.

 
MrBrooklin:

Ich lerne weiter die Programmiersprache MQL5. Zuvor habe ich den Code der Schleife veröffentlicht, die die Aufzählung der offenen Positionen startet. Nachdem die Schleife gestartet wurde, beginnen wir mit dem Symbol im aktuellen Diagramm zu arbeiten:

Ich werde in regelmäßigen Abständen den geschriebenen Code mit meinen eigenen Kommentaren veröffentlichen, um ein schnelles Feedback zu geben. Ich bitte die Teilnehmer dieses Themas, mich zu korrigieren, wenn es irgendwelche Ungenauigkeiten in meinem Code oder meinen Kommentaren gibt.

Mit freundlichen Grüßen, Vladimir.

Auch hier gehen Sie von einer falschen Vorstellung aus, und der Code enthält einen Fehler. Beginnen Sie mit den Funktionen. Schreiben Sie einen Rahmen des Algorithmus, der nur Ihre eigenen Funktionen verwendet. Dann werden wir überlegen, wie wir sie umsetzen können. Beginnen Sie mit der Standardvorlage, die beim Erstellen eines neuen EA im Metaeditor geöffnet wird.

Der Trailing-Stop sollte besser zunächst für das Nettokonto gesetzt werden. Auf diese Weise wird es einfacher, mit der Position zu arbeiten, da es nur eine Position für ein Symbol gibt. In der zweiten Version wird es möglich sein, ihn in einen Hybrid zu verwandeln.

 
Vasiliy Sokolov:

Warum brauchen Sie Magic jetzt? Warum sollte man sich jetzt noch damit befassen? Der Trailing-Stop wird offensichtlich als Element des halbautomatischen Handels verwendet: Jemand gibt eine Order auf, und der EA beginnt, diese zu durchforsten. Wen interessiert es, wer den Auftrag erteilt hat? Wenn ein anderer Roboter den Auftrag platziert hat und Sie einen Trawl öffnen, wird Ihr Expert Advisor auch seinen Auftrag trawlen. Wenn Sie das Schleppnetz nicht einstellen, wird es nicht funktionieren. Dies ist genau der Fall, wenn Sie keine Magie benötigen. Wenn Sie sie plötzlich brauchen, schreiben Sie sie bitte später auf.

Hallo Wassili! Ich verstehe alles über die Magic Number, aber das Problem ist, dass sie hier von Andrey Novichkov dringend empfohlen wurde.

Mit freundlichen Grüßen, Vladimir.

 
Vasiliy Sokolov:

Sie müssen dieses Buch definitiv nicht lesen.

Ich verstehe.

Hochachtungsvoll, Vladimir.

 
Vasiliy Sokolov:

Sie beginnen wieder an der falschen Stelle, und der Code enthält einen Fehler. Beginnen Sie mit den Funktionen. Schreiben Sie den Rahmenalgorithmus nur mit Ihren eigenen Funktionen. Dann werden wir überlegen, wie wir sie umsetzen können. Beginnen Sie mit der Standardvorlage, die beim Erstellen eines neuen EA im Metaeditor geöffnet wird.

Der Trailing-Stop sollte besser zunächst für das Nettokonto gesetzt werden. Auf diese Weise ist es einfacher, mit der Position zu arbeiten, da es nur eine Position für ein Symbol gibt. In der zweiten Version wird es möglich sein, es in ein Hybridfahrzeug umzuwandeln.

Die Standardvorlage wurde erstellt. Ich habe begonnen, den Code darin zu schreiben und werde die Fragmente, die bereits geschrieben wurden, hier veröffentlichen. Ich hatte nicht mit dem Algorithmus-Framework mit meinen eigenen Funktionen gerechnet, danke für den Tipp! Danke auch für den Tipp mit dem Verrechnungskonto!

Wenn es kein Geheimnis ist, was ist dann der Fehler im Code?

Wenn es hier ist:

 for(i; i>=0; i--)

Ich habe es bereits korrigiert:

 for(i; i>0; i--)

Mit freundlichen Grüßen, Vladimir.