Fehler, Irrtümer, Fragen - Seite 3077

 
Helfen Sie, das Problem mit dem Indikator zu lösen. Es gibt einen Indikator, der auf zwei PCs installiert ist. Nachdem ich mein Handelskonto geändert habe, wird der Indikator nicht auf dem Chart angezeigt (1 pc), ich habe den Zeitrahmen geändert und der Indikator fehlt (2 pcs). Ich habe lediglich den Indikator heruntergeladen/deinstalliert, kompiliert und Terminal neu installiert. Kein Ergebnis.
 
Ilyas #:
Warten Sie auf das nächste Build. Ich kann Ihnen keine genaue Zahl nennen, da mir diese Information im Moment nicht zur Verfügung steht.

Ich danke Ihnen.

Es wurde von Build 3031 unterstützt.

 
Was bedeutet dieser Protokolleintrag?
2021.09.02 04:14:56.118 Broker  TradeServer-Live: no demo/preliminary groups on server side
2021.09.02 04:15:15.774 Network '12345': authorization on TradeServer-Live failed (Invalid account)
 
Guten Tag meine Damen und Herren!

Ich habe einen Vorschlag, den ich schon einmal vorgestellt habe, und dachte, ich erinnere Sie noch einmal daran.

Das Wesentliche ist einfach, ich schlage vor, die Idee von MetaEditor zu berücksichtigen, das heißt, eine sehr nützliche und nützliche Funktion in Bezug auf den Editor des Quellcodes hinzuzufügen, nämlich Regionen hinzuzufügen. Sie können zum Beispiel ein Codefragment ausklappen und den Bereich mit Kommentaren und Farbe markieren.

Ich verstehe, dass Lesezeichen und #include auch großartig sind, aber Regionen, insbesondere bei großen Listen und einer Reihe von Einstellungen für jede Währung, wären sehr hilfreich.

Danke. Alles Gute und viel Erfolg für alle!
 

Es gibt einen Auftrag, aber die Funktion sieht ihn nicht. In diesem Code wird die Reihenfolge durch die Funktion

OrderSelect

Wenn sie nicht vorhanden ist, wird sie in der Historie gesucht.

HistoryOrderSelect
 if(!OrderSelect(tic))
     {
      Error = GetLastError();
       ResetLastError();
      if(Error ==4754)
        {
         if(HistoryOrderSelect(tic))
           {
            statusOrder = HistoryOrderGetInteger(tic,ORDER_STATE);

            if(statusOrder==ORDER_STATE_FILLED)
              {
               int position_ID = HistoryOrderGetInteger(tic,ORDER_POSITION_ID);
                       }
           }
        }

Aber die Funktion findet den Auftrag nicht, wenn er noch nicht ausgelöst wurde und findet ihn in der Historie mit dem Status

Der Auftrag ist vollständig erfüllt

Fahrschein = 9. Was ist los? Screenshots von Debug und Auftrag. yf ytz

 
Igor Petrov #:

Es gibt einen Auftrag, aber die Funktion sieht ihn nicht. In diesem Code wird die Reihenfolge durch die Funktion

Wenn sie nicht vorhanden ist, wird sie in der Historie gesucht.

Aber die Funktion findet den Auftrag nicht, wenn er noch nicht ausgelöst wurde und findet ihn in der Historie mit dem Status

Der Auftrag ist vollständig erfüllt

Fahrschein = 9. Was ist los? Screenshots von Debug und Auftrag.

Führen Sie den EA aus - er wird die Anzahl der ausstehenden Aufträge und Positionen auf dem Markt ausgeben. Und zwar auf dem Markt, nicht in der Handelsgeschichte.

 

BarsCalculated()https://www.mql5.com/ru/docs/series/barscalculated

was gibt sie zurück? - Ist es nur die Zahl, die der Indikator in return(rates_total) zurückgibt, nachdem die Berechnung in OnCalculate() beendet ist?

 
Igor Makanu #:

BarsCalculated()https://www.mql5.com/ru/docs/series/barscalculated

was gibt sie zurück? - Ist es nur eine Zahl, die vom Indikator in return(rates_total) nach den Berechnungen in OnCalculate() zurückgegeben wurde?

So wie ich es verstehe, wird es im Falle einer Neuberechnung des Indikators durch eine andere TF als die aktuelle verwendet. Und für die aktuelle TF, BarsCalculated() == prev_calculated

 
Vladimir Karputov #:

Führen Sie den EA aus - er wird die Anzahl der ausstehenden Aufträge und Positionen auf dem Markt ausgeben. Genau auf dem Markt, nicht in der Handelsgeschichte.


Ich verstehe nicht ganz, meinen Sie, dass Sie es auf einer Demo laufen lassen? Ich sehe, dass dieser EA nach Aufträgen und Positionen auf dem Markt sucht. Was ich meinte, war der Debugger. Wenn ich den Code mit dem Debugger starte, sehe ich, dass die Auftragsnummer 9 auf dem Markt ist und auf der Registerkarte "Handel" angezeigt wird. Entschuldigen Sie den unscharfen Screenshot, aber darunter befindet sich eine offene Registerkarte mit der Bezeichnung "TRADING". Es bedeutet, dass der Auftrag auf dem Markt ist. Aber im Code können wir im BEISPIEL (Variable statusOrder) sehen, dass der Auftrag vollständig ausgeführt wird (vielleicht verstehe ich den Status nicht richtig) mit Ticket 9

AUFTRAGSZUSTAND_ERFÜLLT

Auftrag vollständig ausgefüllt

 
Igor Petrov #:

Wenn ich den Code mit dem Debugger ausführe, kann ich sehen, dass die Auftragsnummer 9 auf dem Markt ist, wie auf der Registerkarte Handel zu sehen ist.

Der Visualizer ist nicht immer mit der Handelsumgebung synchronisiert. Es werden möglicherweise alte Informationen angezeigt. Die eigentlichen Informationen befinden sich immer in der EA.

Dies ist ein sehr häufiges Problem, wenn der Expert Advisor etwas sagt, der Visualizer aber etwas anderes anzeigt.