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

 
Maxim Kuznetsov:

Wenn Sie eine Bestellung öffnen, schreiben Sie die Nummer der Regel/Variable in den Kommentar.

Wenn Sie dann eine Verlaufsprüfung durchführen, ziehen Sie diese Nummer, addieren 1 dazu und erhalten eine neue Regelnummer

Ich danke Ihnen! Das ist ein guter Weg. Ich werde es versuchen.

 
Igor Makanu:

Experimentieren Sie mit diesem Code, vielleicht ist es das, was Sie brauchen

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.7 ---> 0.7

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.6 ---> 0.7

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.5 ---> 0.6

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.4 ---> 0.5

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.3 ---> 0.4

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.2 ---> 0.3

2019.11.28 22:31:26.409 tst EURUSD,H1: 0.1 ---> 0.2

In meiner Funktion GetNextLot() geben Sie das Volumen der letzten geschlossenen Order ein, und es wird der nächste Wert der Lot_XX-Einstellung zurückgegeben

die einzige Einschränkung in diesem Code ist, dass Sie die Lose in aufsteigender Reihenfolge konfigurieren müssen - ich denke, der Code ist einfach und unkompliziert, Sie können ihn an Ihre Bedürfnisse anpassen

Danke!!!

 
Corvin85:

Ich danke Ihnen!!!

bitte

Wenn Ihre Losberechnung willkürlich ist, können Sie versuchen, if durch switch-case in meinem Beispiel zu ersetzen

 
Ich möchte zwei MT4-Terminals öffnen und von dort aus eine Verbindung zu einem EA herstellen, d.h. ein Programm wird in einem Terminal installiert und das andere kann den EA auch finden, es ist sehr schwer, das Programm zu kompilieren und jedes Mal eine Datei da und dort zu werfen. Ist es möglich, dies zu tun?
 

Wie lässt sich der Algorithmus am besten schreiben?


Aufgabe:

Ein Expert Advisor läuft auf verschiedenen Charts.

Ich benötige eine separate Datei mit minutengenauen Informationen über Konto, Saldo, Eigenkapital usw.


Nun stellt sich heraus, dass alle Expert Advisors alle Informationen in eine Datei schreiben. Infolgedessen haben wir eine Menge unnötiger Einträge.


Was könnte die geniale Lösung sein, damit nur ein Bot Einträge in der Datei macht? (Und wenn sie z.B. gelöscht wurde, die Aufzeichnungen begonnen haben, einen anderen Bot zu erstellen, usw.)

 
Seric29:
Ich möchte 2 Terminals MT4 zu öffnen und eine Verbindung zu einem EA von ihnen, dh ein Programm wird in einem Terminal installiert werden und die zweite wird auch in der Lage sein, die EA zu finden, ist es sehr schwer, ein Programm zu kompilieren und jedes Mal, wenn ich eine Datei dort und dort zu werfen haben. Ist es möglich, dies zu tun?

Das können Sie nicht tun.

Suchen Sie nach einem Windows-Programm, das Daten in Ordnern synchronisiert. Und richten Sie es so ein, dass der EA automatisch auf das neue Terminal kopiert wird

 
Sergey Likho:

Wie lässt sich der Algorithmus am besten schreiben?


Aufgabe:

Ein Expert Advisor läuft auf verschiedenen Charts.

Ich benötige eine separate Datei mit minutengenauen Informationen über das Konto, den Saldo, das Eigenkapital usw.


Nun stellt sich heraus, dass alle Expert Advisors alle Informationen in eine Datei schreiben. Infolgedessen haben wir eine Menge unnötiger Einträge.


Was ist die mögliche ursprüngliche Lösung, so dass nur ein Bot in die Datei schreibt (und, zum Beispiel, wenn es gelöscht wurde, beginnt der andere Bot Aufzeichnungen zu machen, usw.).

Sie können versuchen, die Kommunikation über GV zu organisieren.

Zum Beispiel: Beim ersten Start wird GV nicht gefunden und mit einem bestimmten Namen erstellt. Als Wert kann die Diagramm-ID verwendet werden. Sie starten den nächsten Expert Advisor, GV ist da, er schreibt nicht. Wenn Sie die erste löschen, wird der Wert geprüft, und wenn der Wert gleich der Diagramm-ID ist, wird die GV gelöscht. Der nächste sieht, dass der GV nicht vorhanden ist und erstellt ihn mit seinem eigenen Wert.

GV kann also nur von demjenigen gelöscht werden, der sie erstellt hat, oder von demjenigen, der buchstäblich das Sagen hat. Löscht sie von Hand.

 

Hallo zusammen. Ich habe eine dumme Frage, ich will nur nicht ein bisschen experimentieren. Ich habe einen Indikator, von dem ich nichts ausgeben muss, aber mein Expert Advisor muss Daten von ihm übernehmen. Wie kann man Arrays richtig initialisieren?

INDICATOR_DATA oder INDICATOR_CALCULATIONS?

Nun, im Allgemeinen möchte ich wissen, ob ich Daten von der Puffernummer in der iCustom-Funktion abrufen kann - unter Verwendung des Puffers, der als SetIndexBuffer(N, Puffername, INDICATOR_CALCULATIONS) definiert ist;

 
Никита Парамонов:

Hallo zusammen. Ich habe eine dumme Frage, ich will nur nicht ein bisschen experimentieren. Ich habe einen Indikator, von dem ich nichts ausgeben muss, aber mein Expert Advisor muss Daten von ihm übernehmen. Wie kann man Arrays richtig initialisieren?

INDICATOR_DATA oder INDICATOR_CALCULATIONS?

Nun, im Allgemeinen möchte ich wissen, ob ich Daten von der Puffernummer in der iCustom-Funktion abrufen kann - unter Verwendung des Puffers, der als SetIndexBuffer(N, Puffername, INDICATOR_CALCULATIONS) definiert ist;

Nehmen Sie die Standard-MA, ändern Sie den Puffer-Datentyp, kompilieren Sie und prüfen Sie im Terminal-Datenfenster (Strg+D)

 

ChartID() wird mit einem Fehler in die globalen Variablen des Terminals geschrieben. Was ist das für ein Unsinn?


Probieren Sie diesen Code aus:


   string GlobalVar1 = "GVAR";
   long ChID = ChartID();
   
   if(GlobalVariableSet(GlobalVar1,ChID) == 0)
      Print("Error GV", GetLastError());

   Print(GlobalVar1," id:",ChID, " GV_id:", (long)GlobalVariableGet(GlobalVar1));


//мой ответ 2019.11.29 13:30:39.292     test EURUSD,M5: GVAR id:132194970392300419 GV_id:132194970392300416

разница в конце в одну цифру
Grund der Beschwerde: