Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1503

 
psihodelit #:

Wie kann ich verstehen, in welche Richtung ich gehen soll, wo ich anfangen soll und wie. Ich habe fast keine Kenntnisse...

  1. Ist der Code der beiden Expert Advisors zur Bearbeitung verfügbar?
    Ja.
  2. Hinterlassen die Advisors Spuren ihrer Aktivitäten in den globalen Variablen
    Ich kann es nicht mit Sicherheit sagen.
  3. Verfügen Sie zumindest über grundlegende Programmierkenntnisse
    Ein bisschen.

Beantworten Sie zunächst diese drei Fragen für sich selbst. Wenn du sie nicht beantworten kannst, musst du sie ausfüllen, studieren. Dies ist, was-zu verstehen, in welche Richtung zu bewegen.

Wenn die Essenz der Frage, müssen Sie die Dateien von Beratern, die Sie mischen wollen, werden sie zeigen, was getan werden kann. Wenn Sie sie nicht hochladen können oder wollen, können Sie sich Screenshots der notwendigen Stellen ansehen.

 
Sergey Voytsekhovsky #:
Hinterlassen Expert Advisors Spuren ihrer Aktivitäten in Globalen Variablen
Ich bin mir nicht sicher.

Beginnen Sie hier - im Terminal, im Ribbon, im Ordner Tools gibt es ein Element GlobalVariables. Suchen wir ihn.

 
Sergey Voytsekhovsky #:

Hier sollten Sie beginnen: Im Terminal, im Menüband, im Ordner Tools gibt es einen Eintrag GlobalVariables. Suchen wir ihn.

Er ist leer.

 
Sergey Voytsekhovsky #:

Hier sollten Sie beginnen: Im Terminal, im Menüband, im Ordner Tools gibt es einen Eintrag GlobalVariables. Suchen wir ihn.

Wie ich Sie verstanden habe, bin ich selbst auch ein Ignorant. Manchmal kann ich einen Satz oder eine Logik nicht verstehen, selbst die einfachsten. Und ich frage und lese auch ständig nach. Deshalb rufe ich Sie zurück. Sie haben mir hier vor kurzem geholfen, gerade oben - sehr viel, danke.

 
psihodelit #:
Es ist leer.

Wir unterbrechen also nichts.

Öffnen Sie den Code des EA, an dessen Werten Sie interessiert sind. Sie haben geschrieben, dass der andere Advisor einige Aktionen in Abhängigkeit von den Messwerten des ersten ausführen soll. Damit sollten Sie beginnen.

Bereiten Sie an einer beliebigen Stelle eine leere Zeile vor und geben Sie GlobalVariableCheck() ein, markieren Sie sie und drücken Sie F1. Die Seite mit den Informationen wird sich öffnen, das ist nicht schwer.

Und die Essenz der verkörperten Idee - Erstellen Sie eine globale Variable im übersetzenden Expert Advisor, und lassen Sie den empfangenden daraus lesen, bei bestimmten Werten wird die Bedingung ausgelöst, und weiter je nach Szenario.

 
Sergey Voytsekhovsky #:
bereiten Sie eine leere Zeile vor und geben Sie GlobalVariableCheck() ein,

Vergessen Sie nicht, es anschließend zu löschen, es war nur ein schneller Weg zur notwendigen Hilfe. Brennen Sie es nach dem Lesen.

 

Hallo, gibt es eine Formel (Code) für den gewichteten Durchschnittspreis der Eröffnung einer Position auf einem Hedge-Konto. Ich danke Ihnen.

Ich verstehe nicht, was die Formel ist, um Fälle von gegenläufigen Geschäften zu schließen?

Pср = (Open Price 1 × Lot 1 + Open Price 2 × Lot 2 + ... + Open Price X × Lot X) / (Lot 1 + Lot 2 + ... + Lot X)

Diese hier scheint nicht zu funktionieren?

 
leonerd Eröffnung einer Position auf einem Hedge-Konto. Ich danke Ihnen.

Ich verstehe nicht, was ist die Formel, um Fälle von gegenläufigen Geschäften zu schließen?

Diese hier scheint nicht zu funktionieren?

Ich weiß nicht mehr, wo ich sie kopiert habe, aber sie funktioniert gut.

   double NLb = 0, NLs = 0;

   long OT;
   int b = 0, s = 0;
   double PB = 0, PS = 0, OL = 0, LS = 0, LB = 0, OOP = 0;
   for(int i = 0; i < PositionsTotal(); i++)
     {
      if(_Symbol == PositionGetSymbol(i))
        {
         OL  = PositionGetDouble(POSITION_VOLUME);
         OOP = PositionGetDouble(POSITION_PRICE_OPEN);
         OT  = PositionGetInteger(POSITION_TYPE);
         if(OT == POSITION_TYPE_BUY)
           {
            PB += OOP * OL;
            LB += OL;
            b++;
           }
         if(OT == POSITION_TYPE_SELL)
           {
            PS += OOP * OL;
            LS += OL;
            s++;
           }
        }
     }
   if(LB != 0)
      NLb = PB / LB;
   if(LS != 0)
      NLs = PS / LS;

Es ist dasselbe wie das, was Sie geschrieben haben, nur durch Positionsangaben getrennt.

Ichdenke, das ist es, was Sie brauchen .

 
Aleksandr Slavskii #:

Ich weiß nicht mehr, wo ich es kopiert habe, aber es funktioniert gut.

Es ist das Gleiche wie das, was Sie geschrieben haben, nur durch Positionsangaben getrennt.

Ichdenke, das ist es, was Sie brauchen .

Ich verstehe nicht, ob es dasselbe ist, wenn man nur Shorts mit negativem Volumen nimmt und die absoluten Werte im Nenner addiert?

Vielleicht sollten Sie am Ende eine Prüfung auf Division durch 0 hinzufügen.

 
leonerd #:

Ich verstehe nicht, ob es dasselbe ist, wenn man einfach die Shorts mit negativem Volumen nimmt und die absoluten Werte im Nenner addiert?

Die Funktion berechnet den Durchschnittspreis separat für Käufe und separat für Verkäufe.

Ich verstehe nicht ganz, was Ihre Aufgabe ist. Ich verstehe diesen Satz nicht: "um Fälle von gegenläufigen Geschäften zu schließen".

leonerd #:

Es wäre gut, am Ende eine Prüfung der Division durch 0 hinzuzufügen.

Es gibt eine Prüfung.

Grund der Beschwerde: