MQL5 TUTORIAL GRUNDLAGEN – 79 SIMPLER COLOR CHANGER

video
play-sharp-fill

In diesem Video wollen wir einmal einen Expert Advisor erstellen der in der Lage ist, die Farben auf dem Chart für unterschiedliche Objekte zu ändern. Also lassen Sie uns einmal schauen, wie man so etwas in MQL5 programmieren kann. Um das zu tun, klicken Sie bitte im Metatrader hier oben auf dieses kleine Symbol oder drücken Sie die F4-Taste. Das ruft dann hier den Metaeditor auf und hier klicken wir auf Datei, neue Datei, Expert Advisor aus Vorlage, weiter. Ich vergebe hier einmal den Namen SimperColorChanger, klicke auf weiter, weiter und fertigstellen. Jetzt kann alles oberhalb dieser OnTick-Funktion hier gelöscht werden und auch die zwei Kommentarzeilen werden entfernt. Wir starten damit, dass wir in der OnTick-Funktion zunächst mit MqlRates ein Array für Preisinformationen erstellen. MqlRates ist eine Struktur, die die Informationen zu Preisen, Volumen und Spread für jede Kerze aufbewahren kann. Wir nutzen ArraySetAsSeries um unser PriceInformation-Array von der aktuelle Kerze an abwärts zu sortieren. Und danach nutzen wir CopyRates, um für das aktuelle Währungspaar und die aktuell auf dem Chart eingestellte Zeiteinheit von der aktuellen Kerze 0 an für 3 Kerzen die Daten zu kopieren und in unser PriceInformation-Array zu speichern. Das ermöglicht uns jetzt die Preise zu ermitteln. Der erste Preis der uns interessiert ist der Schlusskurs für Kerze 1. Den erhalten wir in dem wir uns den Schlusskurs für Kerze 1 aus unserem PriceInformation-Array holen. Wenn das hier einmal ausschneidet und den Punkt auf der Tastatur betätigt, dann sehen wir dass wir hier für Schlusskurse, Höchstkurse, Niedrigstkurse und Eröffnungskurse die Daten abrufen können. Uns interessieren die Schlusskurse. Das Ganze wiederholen wir jetzt noch einmal. Diesmal hätte ich gerne für die Kerze 2 den Schlusskurs, darum schaue ich mir die Eigenschaft Close für Kerze 2 in unserem PriceInformation-Array an und speichere das Ergebnis in dieser Variable. Anhand dieser beiden Variablen kann ich jetzt bestimmen, ob es rauf oder runter geht. Und immer wenn der Schlusskurs für Kerze 2 kleiner ist, als der Schlusskurs für Kerze 1, möchte ich eine bestimmte Darstellung auf dem Chart sehen. Dazu setzen wir Eigenschaften. Das geht hier mit ChartSetInteger. Wir setzen hier die Farbeigenschaft auf grün. Deswegen hätte man eigentlich gedacht, man nutzt eine Funktion wie ChartSetColor, aber offensichtlich haben die Entwickler von MQL5 sich das anders gedacht. Wir übergeben hier ein paar Parameter. Der erste Parameter hier steht für das aktuelle Chart. Eigentlich sogar für die Chart-ID. Denn wenn man hier z. B. ein Oszillatorenfenster einfügen würde, dann hätte man zwei Chart-IDs. Uns interessiert das Hauptchart. Wir möchten gerne den Wert ändern für die Eigenschaft CHART_COLOR_CANDLE_BULL. Die steht für die Innenfarbe für bullische Kerzen. Und ich wähle hier die Farbe grün aus. Clrgreen ist eine von vielen vordefinierten Farben. Und wenn man das markiert und die F1-Taste drückt, dann sieht man dass hier noch jede Menge anderer Farben zur Verfügung stehen. Danach ändern wir die Eigenschaft der Farbe für die bearischen Kerzen. Das ist die Eigenschaft CHART_COLOR_CANDEL_BEAR. Auch die setzen wir hier auf Grün. Außerdem hätte ich gerne die Außenfarbe für die Kerzen ebenfalls grün. Und hier nutzen wir ChartSetInteger für eine Eigenschaft mit dem Namen CHART_COLOR_CHART_UP. Und dann wiederholen wir das Ganze noch einmal für die Außenfarbe von bearischen Kerzen. Das ist dann entsprechend die Eigenschaft CHART_COLOR_CHART_DOWN. Auch die werden grün dargestellt. Jetzt such ich mir noch aus, welchen Kerzentyp ich sehen möchte. Dafür steht die Eigenschaft CHART_MODE zur Verfügung. Wenn man die einmal markiert und F1 drückt, dann sehen wir hier, aha, das ist der Charttyp und ich kann mich entscheiden ob ich Kerzen, Bars oder Linien haben möchte. Ich hätte in diesem Fall gerne die Darstellung mit sogenannten Bars. Das hier ist die übliche Kerzendarstellung und das hier sind die sogenannten Bars. Außerdem möchte ich gerne, dass das Gitter sichtbar gemacht wird. Das übernimmt die Eigenschaft CHART_SHOW_GRID. Die setzen wir hier auf true. Über CHART_COLOR_FOREGROUND können wir die Farbe für die Datenanzeige im Vordergrund verändern. Ich hätte die gerne gelb. Und die Eigenschaft CHART_COLOR_BACKGROUND steht für die Hintergrundfarbe. Die soll diesmal bitte schwarz sein. Damit wir den Wechsel auf dem Chart sehen, möchte ich gerne für den Fall, dass der Schlusskurs für Kerze 2 größer ist, als der Schlusskurs für Kerze 1 eine andere Farbdarstellung haben. Das ist vom Prinzip identisch wie oben nur mit anderen Farben. Darum nutze ich hier mal copy und paste und füge das komplett ein. Diesmal hätten wir gerne die Farbe Rot. Sowohl für die Außen- als auch die Innenfarben. Ich hätte gerne richtige Kerzen auf dem Chart, darum ändere ich hier die Eigenschaft CHART_MODE auf CHART_CANDLES. Das Gitter möchte ich nicht sehen, darum wird CHART_SHOW_GRID hier auf false gesetzt. Die Farbe für den Vordergrund soll bitte Magenta sein und den Hintergrund hätte ich gern in diesem gerne in weiß. Natürlich kann man nicht nur Eigenschaften setzen, man kann auch welche auslesen. Beispielhaft tun wir das hier für den maximalen und den minimalen Preis. Dazu nutzen wir ChartGetDouble für das aktuelle Chartfenster und die entsprechenden Eigenschaften heißen CHART_PRICE_MAX und CHART_PRICE_MIN. Damit wir davon auch etwas sehen möchte ich gerne noch eine Comment-Ausgabe für das Chart hinzufügen. Die wird uns Close-Preis 1, Close-Preis 2, den maximalen und den minimalen Preis anzeigen. Und das wars auch soweit. Wenn Ihnen das hier zu schnell ging oder wenn Sie keine Ahnung haben, was alle diese Codezeilen hier bewirken sollen, dann möchten Sie sich vielleicht zunächst ein paar andere Videos aus dieser Grundlagenserie noch einmal anschauen. Vielleicht ist aber auch der Premiumkurs auf unserer Webseite interessant für Sie. Das hier war übrigens wieder ein Vorschlag von einem Premiumkurs-Mitglied und wenn Sie bereits Premium-Mitglied sind und einen Vorschlag für so ein Video haben, dann schicken Sie mir doch einfach ein E-Mail. Für den Moment sind wir hier fertig und klicken auf kompilieren oder drücken die F7-Taste. Das sollte ohne Fehler funktionieren und wenn das bei Ihnen auch so ist, dann können Sie jetzt hier oben auf dieses kleine Symbol klicken oder die F4-Taste drücken, um in den Metatrader zurückzukehren. Und im Metatrader klicken wir auf Ansicht, Strategietester oder drücken die Tastenkombination Steuerung + R. Bitte wählen Sie hier die neu erstellte Datei SimplerColorChanger.ex5 aus, markieren Sie hier unten die Option für den visuellen Modus und starten Sie Ihren Test. Hier läuft unser Expert Advisor auch los und wir sehen, dass sich anhand der Preisveränderungen auch die Darstellung auf dem Chart verändert. Unser kleiner Expert Advisor funktioniert also wie gewünscht und Sie haben in diesem kurzen Video gelernt, wie Sie so etwas in MQL5 programmieren können. Und Sie haben das selbst getan, mit diesen paar Zeilen hier im Metaeditor.