Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 997

 

In welchem Fall sollte das Stop-Limit eingehalten werden?

D.h. zum Beispiel:

1. ein Auftrag ist offen, setzen Sie einen Stop und einen Take.

SL = FALSE

TP = FALSE

2. Stop-Limit-Auslöser

die Variable ändern

SL = TRUE

 
Iurii Tokman:

Ich danke Ihnen. Wie kann ich die Farbe des EA-Namens im Diagramm ändern?

 
yiduwi:

Ich danke Ihnen. Wie kann ich die Farbe des EA-Namens im Diagramm ändern?

den Namen oben in der gleichen Schriftart, aber in einer anderen Farbe drucken

 

Guten Tag,


Ist jemandem das hier begegnet?


1. Ich habe einen EA von mql4 auf mql5 umgestellt. Ich habe meinen EA nicht ohne OOP geschrieben. Die Kompilierung läuft gut, keine Fehler oder Warnungen. Es gibt nur etwa 3000 Zeilen Code mit einer Menge von Arrays, da es nicht OOP verwendet hat.

2. Ich führe den MT5-Tester aus und einige Teile des Codes lassen sich überhaupt nicht aktivieren (grafische Objekte werden nicht angezeigt). Einige Codeteile funktionieren nicht richtig. Zum Beispiel diese zweite Zickzacklinie im ersten Bild (zwei Zickzacklinien mit unterschiedlicher Tiefe):

der Zick-Zack-Kurs funktioniert nicht richtig




3. An der Stelle, an der die Zickzacklinien gezeichnet sind, habe ich einen Druck angebracht:

drucken



4. und jetzt funktioniert das Zickzack richtig. Der rote Pfeil nach unten, der auch auf dem ersten Bild zu sehen sein sollte, erscheint hier.

rechts

Und die Abdrücke sind korrekt:

druckt






Dies ist nur ein Beispiel. Es gibt auch Codefragmente, die nach der Kompilierung eingeschaltet werden und nach der Kompilierung nicht mehr funktionieren.



Der gesamte Code sollte in OOP umgewandelt werden?

 
Tj1:

Guten Tag,

Ist jemandem das hier begegnet?

1. Ich habe einen EA von mql4 auf mql5 umgestellt. Ich habe meinen EA nicht ohne OOP geschrieben. Die Kompilierung läuft gut, keine Fehler oder Warnungen. Es gibt nur etwa 3000 Zeilen Code mit einer Menge von Arrays, da es nicht OOP verwendet hat.

2. Ich lasse es im MT5-Tester laufen und einige Teile des Codes funktionieren überhaupt nicht (grafische Objekte erscheinen nicht), einige Teile des Codes funktionieren nicht korrekt. Zum Beispiel diese zweite Zickzacklinie im ersten Bild (zwei Zickzacklinien mit unterschiedlicher Tiefe):

3. An der Stelle, an der die Zickzacklinien gezeichnet sind, habe ich einen Aufdruck angebracht:

4. und jetzt funktioniert der Zickzackkurs richtig:

Und die Fingerabdrücke gehen nach rechts:

Dies ist nur ein Beispiel. Es gibt einige Codefragmente, die nach der Kompilierung aktiviert werden, und einige, die nach der Kompilierung nicht funktionieren.

Muss der gesamte Code in OOP umgewandelt werden?

Nein.

Schreiben Sie in drawLine() ganz am Ende vor der schließenden Klammer ChartRedraw();

 
Artyom Trishkin:

Nein.

In drawLine() schreiben Sie ChartRedraw() ganz ans Ende vor die schließende Klammer;


Ich entschuldige mich dafür, dass ich an der falschen Stelle geschrieben habe.


Ich habe es eingebaut:

redrau




Es zeichnet jetzt anders, es ist immer noch falsch:


hz

 
Artyom Trishkin:

Nein.

In drawLine() schreiben Sie ChartRedraw() ganz ans Ende vor die schließende Klammer;


Danke für die schnelle Antwort, das hatte ich nicht erwartet.

 
Artyom Trishkin:

Nein.

In drawLine() schreiben Sie ChartRedraw() ganz ans Ende vor die schließende Klammer;


Sie hättenChartRedraw(0) verwenden sollen;

Das war's, es funktioniert. Vielen Dank an !!!!

 
Artyom Trishkin:

Nein.

Schreiben Sie in drawLine() ganz am Ende vor der schließenden Klammer ChartRedraw();



Das Fazit ist, dass es nicht funktioniert.

Nach der Kompilierung funktioniert die Logik korrekt, und die grafischen Objekte werden richtig gezeichnet. Bei der zweiten Kompilierung funktioniert die Logik nicht mehr.

 
In Online funktioniert der Indikator gut, aber im Tester (mt4) wird er nicht korrekt angezeigt... Während der Initialisierung im Testgerät startet er gut, aber dann funktioniert er nicht mehr so, wie er sollte. Woran liegt das?