Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 337

 
tara:

Krücken, imho.
+
 

Guten Tag!

Können Sie uns sagen, wie die Bibliothek als eine Reihe von verwendeten Funktionen funktioniert?

D.h. beim Aufruf der Funktionen aus einer Bibliothek in zwei EAs, die an verschiedenen Paaren hängen - wird für jeden EA eine eigene Instanz der Bibliothek geladen und initialisiert?

Oder erwarten Sie, dass die gleichen (internen) Variablen aus der Bibliothek konkurrierend verwendet werden?

Ich habe einfach einige Funktionen in die Bibliothek eingebaut (*.mqh will ich nicht), und diese Funktionen verwenden Variablen/Arrays, die in der Bibliothek deklariert sind, um aktuelle Daten zu speichern. Diese Daten sind allen Symbolen gemeinsam, können aber zu beliebigen Zeitpunkten von jedem der aktiven EAs geändert werden. Wenn ein EA läuft - alles ist in Ordnung, aber wenn zwei EAs laufen - einige seltsame Scheiße (chaotische Daten) herauskommt, und ich habe den Verdacht, dass der konkurrierende Zugriff auf Variablen ist krumm.

 
Mr.Profit:

Guten Tag!

Können Sie uns sagen, wie die Bibliothek als eine Reihe von verwendeten Funktionen funktioniert?

D.h. beim Aufruf der Funktionen aus einer Bibliothek in zwei EAs, die an verschiedenen Paaren hängen - wird für jeden EA eine eigene Instanz der Bibliothek geladen und initialisiert?

Oder erwarten Sie, dass die gleichen (internen) Variablen aus der Bibliothek konkurrierend verwendet werden?

Ich habe einfach einige Funktionen in die Bibliothek eingebaut (*.mqh will ich nicht), und diese Funktionen verwenden Variablen/Arrays, die in der Bibliothek deklariert sind, um aktuelle Daten zu speichern. Diese Daten sind allen Symbolen gemeinsam, können aber zu beliebigen Zeitpunkten von jedem der aktiven EAs geändert werden. Wenn ein EA läuft - ist alles in Ordnung, aber wenn zwei EAs laufen - erscheinen einige unverständliche Risse (unordentliche Daten), und ich habe den Verdacht, dass der konkurrierende Zugriff auf die Variablen schief ist.

Hier.
 

Wie Sie wissen, enthält die untere Zeile des Terminals z. B. die folgenden Informationen

Saldo: 211721,72 Mittel: 101193,75 Sicherheiten: 55595,98 Frei: 45481,77 Stand: 181,81% -110643, 34 (ungefähr)

Auf einem meiner Terminals wird jedoch bei einem echten Cent-Konto nur die folgende Information angezeigt, obwohl es offene Positionen gibt:

Saldo: 211721,72 Mittel: 101193,75 -110643,34

Was könnte der Grund dafür sein? Ich danke Ihnen für Ihre Aufmerksamkeit.

 
borilunad:

Im Testgerät funktioniert MarketInfo() nicht, und Bid und Ask sind langsam und verzerrt. Deshalb hole ich sie auf Anraten von Xrust'a aus iClose(NULL,0,0):


Ich habe schon so viel geschrieben, es im Tester laufen lassen, um sicherzustellen, dass es keine Logikfehler gibt, und... Erst jetzt habe ich herausgefunden, dass MarketInfp() in meinem Testgerät nicht funktioniert.

Was prüfe ich dann so sorgfältig? Wie funktioniert das für mich?

Shaitan!!!

 
TarasBY:
Tut.


Ich danke Ihnen.

Wie funktioniert das im Falle eines EA, der über zwei Paare schwebt? Ist das aufrufende Modul eines (expert.ex4) oder zwei (zwei laufende Instanzen)?

 
Mr.Profit:


Ich danke Ihnen.

Wie funktioniert das im Falle eines EA, der über zwei Paare schwebt? Ist das aufrufende Modul eines (expert.ex4) oder zwei (zwei laufende Instanzen)?

Anders als Systembibliotheken werden benutzerdefinierte Bibliotheken (MQL4) für jedes aufrufende Modul separat geladen, unabhängig davon, ob die aufgerufene Bibliothek von einem anderen Modul geladen wurde. Das Modul caller.ex4 ruft beispielsweise Funktionen aus den Bibliotheken lib1.ex4 und lib2.ex4 auf. Die Bibliothek lib1.ex4 ruft ihrerseits Funktionen aus der Bibliothek lib2.ex4 auf. In diesem Fall werden eine Kopie der Bibliothek lib1.ex4 und zwei Kopien der Bibliothek lib2.ex4 geladen, obwohl alle Aufrufe vom Modul caller.ex4 kommen.
Für jeden EA (egal wie viele davon auf den Charts hängen) gibt es ein eigenes Caller-Modul (EA-Datei).
 
Können Sie mir bitte sagen, wenn ich Indikator MACD_Histogram.mq4 durch den Link https://www.mql5.com/ru/codegefunden , wo Indikator Handbuch zu finden? Ich habe im Grunde verstanden, dass ich durch Pfeile handeln kann, aber ich möchte wissen, was andere Indikatoren zeigen in ihm. Wenn jemand einen Link, wo man lesen oder schauen Sie bitte Antwort oder E-Mail an Aleks-R-13@yandex.ru Danke
 
TarasBY:
Denn jeder EA (egal wie viele davon in den Charts hängen) hat sein eigenes aufrufendes Modul (EA-Datei).

Um die Verwirrung endgültig zu klären, habe ich einen Test-EA und eine Bibliothek geschrieben.

Der Expert Advisor gibt einfach den aktuellen Wert der Variablen aus der Bibliothek an Comment aus und erhöht für EURUSD den Wert der Variablen. Der Empfang der Variablen und ihre Inkrementierung werden durch Bibliotheksfunktionen realisiert.

Infolgedessen zeigt der Kommentar zum EURUSD den sich ändernden Wert an, während er dies beim anderen Symbol nicht tut.

Es ist also richtig, dass für jede Instanz (und nicht eine Datei) des EA eine eigene Instanz der EX4-Bibliothek geladen wird.

 
tara:

Krücken, imho.
Schlechter Zahnersatz ist schlimmer.
Grund der Beschwerde: