Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich hoffe auf weitere Hinweise.
Quark
gibt zu, dass zwischen (GlobalVariableGet(strTradeSemaphore) == 0.0) und GlobalVariableSet(strTradeSemaphore, 1.0); ein anderer EA einspringen wird. Wir benötigen eine Funktion, die den Ausführungsthread erfasst und sperrt (d. h. auf die Ressource wartet) und dann die Kontrolle an den Expert Advisor zurückgibt. So etwas wie WaitForExclusive()
. Aber das ist vielleicht nicht der Punkt. Aber die Fehler tauchen leider immer wieder auf.
Ich hoffe, dass ich Hilfe bekomme.
By the way, jetzt, dass dieses Gespräch begonnen hat, wie kann ich automatisch bestimmen, wie viele Ziffern für Preis mit NormalizeDouble zu verlassen, d.h. 4 für EURUSD, 2 für EURJPY... ?
Fehler 138. Mehrmals pro Minute (d.h. mehrere von 12 Expert Advisors erzeugen ihn).
Fehler 129. Ich habe die Preise rationiert und eine Menge anderer Dinge getan...
und Ihr Expert Advisor mit meinem 5 gab mir einen Fehler - 6.
mein Expert Advisor funktioniert nicht in meiner Korrektur - sie haben es in diesem Build vermasselt =)
Ach ja... mein 5er funktioniert auch nicht =)))) oh man...
und Ihr Expert Advisor mit meinen 5 gab einen Fehler - 6.
mein Expert Advisor funktioniert nicht in meiner Korrektur - sie haben es in diesem Build vermasselt =)
Ach ja... mein 5er funktioniert auch nicht =)))) oh man...
Danke für den Code, ich hätte lange gebraucht, um ihn selbst zu finden.
Der von Slava vorgeschlagene und von mir verbesserte :) Experte ist unten angegeben. Sie können es wie ich machen - in 12 Fenstern, mit 12 Währungen. Es funktioniert für jeden Zeitrahmen, aber bei Minuten geht es schneller). Ich erhalte ständig Fehler, verdammt noch mal. Ich wünschte, ich wüsste warum.
. Aber das ist vielleicht nicht der Punkt. Aber leider tauchen die Fehler immer wieder auf.
das ist genau das, was ich über die hypothetische Funktion GlobalVariableSetOnCondition meinte, die eine globale Variable als ersten Parameter setzen könnte, vorausgesetzt, ihr Wert ist gleich dem Wert des zweiten Parameters. da der Zugriff auf globale Variablen blockiert ist, gibt es "Atomizität"
jetzt über die Funktion IsStopped. sie prüft das Stop-Flag, so dass der EA normalerweise anhalten könnte (er hat 2,5 Sekunden dafür). es wird empfohlen, diese Funktion als eine der Schleifenbedingungen zu verwenden, insbesondere für Endlosschleifen
Slawa, ich verstehe diesen Text beim besten Willen nicht. Bitte erklären Sie es mit anderen Worten oder zeigen Sie mir, was Sie meinen. Wenn Sie können.
Übrigens, was ist falsch an dem Code, den ich umgeschrieben habe? Ich meine, es ist klar, dass etwas nicht stimmt, weil es nicht funktioniert, aber ich sehe den Fehler nicht. Meiner Vermutung nach hätte dies den exklusiven Zugang ermöglichen sollen...
именно так. я поэтому и говорил про гипотетическую функцию GlobalVariableSetOnCondition, которая могла бы устанавливать глобальную переменную первым параметром при условии, что значение её равно значению второго параметра. так как доступ к глобальным переменным блокируется, то это даст "атомарность"
Slawa, ich verstehe diesen Text beim besten Willen nicht. Erklären Sie es entweder mit anderen Worten, oder zeigen Sie mir, was Sie meinen. Wenn Sie können.
Wir sprechen davon, die Möglichkeit des Einklemmens zwischen den Aufrufen der Funktionen GlobalVariableGet und GlobalVariableSet zu verhindern. Ein Einklemmen durch einen anderen Expert Advisor ist real, da Fehler immer noch beobachtet werden. Deshalb spreche ich von atomarem Zugriff. Sie und ich sprechen von der Lösung ein und desselben Problems, aber mit unterschiedlichen Worten
.
Übrigens, was ist an dem von mir überarbeiteten Code falsch? Ich meine, es ist klar, dass etwas nicht stimmt, da es nicht funktioniert, aber ich sehe den Fehler nicht. Meiner Vermutung nach hätte dies den exklusiven Zugang ermöglichen sollen...
Ihr Beispiel ist besser