Fehler Nummer 6 - Seite 28

 
Das hier habe ich gestern bekommen. Build 183 Beta von 7/10. Nach dem manuellen Neustart ist alles in Ordnung.

18:29:55 TradeContext: Verbindung starten
18:29:55 'Alpari-Demo': Verbindung starten
18:29:56 '67794' - Anmeldefehler (6, 10054)
18:29:56 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:30:35 'TradeContext': Verbindung starten
18:30:35 'Alpari-Demo': Verbindung starten
18:30:35 '67794' - Anmeldefehler (6, 10054)
18:30:35 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:31:03 'TradeContext': Verbindung starten
18:31:03 'Alpari-Demo': Verbindung starten
18:31:03 '67794' - Anmeldefehler (6, 10054)
18:31:03 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:31:10 'TradeContext': Verbindung starten
18:31:10 'Alpari-Demo': Verbindung starten
18:31:10 '67794' - Anmeldefehler (6, 10054)
18:31:10 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:31:11 'TradeContext': Verbindung starten
18:31:11 'Alpari-Demo': Verbindung starten
18:31:11 '67794' - Anmeldefehler (6, 10054)
18:31:11 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:31:20 'TradeContext': Verbindung starten
18:31:20 'Alpari-Demo': Verbindung starten
18:31:20 '67794' - Anmeldefehler (6, 10054)
18:31:20 '67794': Keine Anmeldung möglich [Keine Verbindung]
18:31:27 'TradeContext': Verbindung starten
18:31:27 'Alpari-Demo': Verbindung starten
18:31:27 '67794' - Anmeldefehler (6, 10054)
18:31:27 '67794': Keine Anmeldung möglich [Keine Verbindung]
 
xxx
 
Ergebnisse des von Slava vorgeschlagenen Expertentests "Nimm ihn aus diesem Thread und führe ihn aus".
"Ich habe es am 11.10.2005 von 18:00 bis 24:00 Uhr auf zwei Computern mit verschiedenen Versionen von MT4 ausgeführt.
Erster Computer: Extended Logging Version vom 05.10.2005: 114 Fehler 146 und 1 Fehler 138.
Zweiter Computer: offizielle Version vom 07.10.2005: 278 Fehler Nummer 146

Erklären Sie, Slawa...
 
Erster Vergleich: Version mit erweiterter Protokollierung vom 05.10.2005: 114 ошибок номер 146 и 1 номер 138
Zweiter Vergleich: offizielle Version vom 07.10.2005: 278 Fehler Nummer 146

Erklären Sie, Slava...

Lassen Sie mich das erklären. Um den Fehler 146 (Handelskontext ist beschäftigt) auszuschließen, müssen Sie vor der Freigabe der Semaphore eine Pause einlegen. Statt
if(!IsTesting()) GlobalVariableSet(strTradeSemaphore, 0.0);



schreiben.

	if(!IsTesting()) { Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); }


die Größe der Verzögerung sollte "organoleptisch" eingestellt werden. Sie kann für verschiedene Computer unterschiedlich sein

 
<br / translate="no"> die größe der verzögerung muss "organoleptisch" eingestellt werden . sie kann für verschiedene computer unterschiedlich sein
Cool!
"Etwas in meinem Motor begann zu klopfen
Lasst es uns hören
Und aus der Kabine strömt Benzingeruch.
Lass uns daran riechen."
 
Sleep(1000); - der Fehler ist nicht verschwunden
Sleep(10000); - der Fehler ist nicht verschwunden
Wie macht man es "organoleptisch"?
 
Sleep(1000); - der Fehler ist nicht verschwunden<br / translate="no"> Sleep(10000); - der Fehler ist nicht verschwunden
Was ist der "organoleptische" Weg, dies zu tun?

Bitte ermitteln Sie den Wert, bei dem der Fehler verschwindet. Melden Sie diesen Wert und senden Sie die Expert Advisor Logs des vorherigen (noch fehlerhaften) Wertes an stringoATmetaquotesDOTru
 
Nach einigem Nachdenken stellte sich heraus, dass es eine genaue Methode gibt. Ich werde versuchen, sie zu formulieren
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);


d.h. wir warten darauf, dass unser eigener Handelskontext freigegeben wird

und diese Situation ist äußerst merkwürdig. nach der Ausführung einer Handelsoperation wird der Kontext sofort freigegeben. sonst wäre es unmöglich, Positionen in der Schleife zu schließen

 
Sleep(1000); - der Fehler ist nicht verschwunden<br/ translate="no"> Sleep(10000); - der Fehler ist nicht verschwunden
Wie kann man es "organoleptisch" machen?

noch eine frage. haben sie nicht auch andere Expert Advisors, die handeln? die wissen vielleicht nichts von unserem Handelssemaphor. dann ist Fehler 146 sehr gut erklärbar
 
Protokolle gesendet.
Wo soll ich diesen Code einfügen?
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);