- 2023.10.19
- www.mql5.com
Hallo zusammen,
ich mache meine ersten Tests mit der MQL5 Plattform und versuche mich hier auch mit den Programmcodes.
Dabei habe ich mir als erste Übung gesetzt, Text auszugeben, ich schaffe es auch eine Zeile auszugeben.
Jetzt habe ich das in eine Funktion gepackt (hoffentlich heißt das so) und dachte ich kann mehrere Zeilen ausgeben, aber das funktioniert nicht, ich bekomme nur den letzten Text angezeigt, alle anderen sind verschwunden.
Wo liegt mein Denkfehler bzw. was mache ich falsch?
Gruß Mücke
Für die Textausgabe auf dem Chart ist Comment() viel, viel besser geeignet, graphische Objekte fressen ziemlich viel Zeit, müssen sie doch bei jedem neuen Balken neu platziert werden.
- www.mql5.com
TextObjekt
Hallo,
Sie haben zwei Fehler gemacht:
1: Objekt sollte bei jedem Tick gelöscht werden, da sonst die Daten bleiben immer gleichbestehen.
2: Sie haben Drei Objekte und gleichen Objektnamen.
Hier ist der Code, der funktioniert.
void OnTick() { // Wir holen uns deb Ask-Preis(Kauf Preis) double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK), _Digits); // Wir holen uns den Eigenkapitalwert double Balance=AccountInfoDouble(ACCOUNT_BALANCE); // Wir hilen uns unseren Kontostand double Equity=AccountInfoDouble(ACCOUNT_EQUITY); // Wir geben einen Text aus // Drei Objekte und Drei verschiedene Namen xText("TextObjektAsk",5, 30, clrDeepPink, "Arial", 18, "Ask Preis : " + (string)Ask); xText("TextObjektBal",5, 60, clrDeepPink, "Arial", 18, "Eigenkapitalwert: " + (string)Balance); xText("TextObjektEq",5, 90, clrDeepPink, "Arial", 18, "Kontostand : " + (string)Equity); } // Text ausgabe // ObjectName neudefiniert void xText(string ObjName, int Posi_link, int Posi_oben, color Text_Farbe, string Text_Art, int Text_Groese, string Text) { // Wir setzen die Objekteigenschaften für unseren Textobjekt ObjectDelete(0,ObjName); // Objekt löschen dazu codiert. Da mit jedem Tick die Daten geändert werden!! ObjectCreate(0, ObjName, OBJ_LABEL, 0, 0, 0); // Wir waehlen eine Schriftart aus ObjectSetString(0, ObjName, OBJPROP_FONT, Text_Art); // Wir setzen die Schriftgroesse ein ObjectSetInteger(0, ObjName, OBJPROP_FONTSIZE, Text_Groese); // Wir setzen die Schriftgroesse ein ObjectSetInteger(0, ObjName, OBJPROP_COLOR, Text_Farbe); // Wir setzen den Text ObjectSetString(0, ObjName, OBJPROP_TEXT, 0, Text); // Wir setzen die text Position (Linker Rand)) ObjectSetInteger(0, ObjName, OBJPROP_XDISTANCE, Posi_link); // Wir setzen die text Position (Oberen Rand)) ObjectSetInteger(0, ObjName, OBJPROP_YDISTANCE, Posi_oben); } //+------------------------------------------------------------------+
Gruß Igor
@ Carl Schreibe: Das mit dem Comment() klingt wirklich gut, sieht auch gut aus. Hier muss man alles zusammenschreiben und auf einmal ausgeben lassen. und es ist sehr klein.
Aber das Argument mit der Geschwindigkeit ist ein sehr guter Hinweis und nicht zu vernachlässigen.
Igor Widiger: Oh, da hast du recht, danke, so funktioniert meine Ausgabe jetzt auch richtig. DANKE, und das mit dem Löschen vorher ist sehr sinnvoll, DANKE!
[OT] wie / Wo kann ich im Forum einstellen das ich per mail über neue Antworten benachrichtigt werden möchte?
@ Carl Schreibe: Das mit dem Comment() klingt wirklich gut, sieht auch gut aus. Hier muss man alles zusammenschreiben und auf einmal ausgeben lassen. und es ist sehr klein.
Aber das Argument mit der Geschwindigkeit ist ein sehr guter Hinweis und nicht zu vernachlässigen.
Igor Widiger: Oh, da hast du recht, danke, so funktioniert meine Ausgabe jetzt auch richtig. DANKE, und das mit dem Löschen vorher ist sehr sinnvoll, DANKE!
[OT] wie / Wo kann ich im Forum einstellen das ich per mail über neue Antworten benachrichtigt werden möchte?
Hallo,
es können im Profil unter Einstellungen/Benachrichtigungen/Neue Forum Themen eingestellt werden.
Sonst als Push-Benachrichtigungen ans Smartphone (sollte MT5 Terminal installiert sein).
Oder es gibt eine Möglichkeit in Favoriten abzuspeichern.
Gruß Igor
Kann man die Schriftart bei Comment(?) auf "Courier New" ändern, dann könnte man sauber untereinander schreiben.
Ich habe dazu nichts gefunden :-(
- www.mql5.com
Ok, schade, ich dachte vielleicht, wenn es nicht über den Code geht, dass man das in der Konfiguration des Chartfensters einstellen kann, aber da habe ich auch nichts gefunden :-(.
Naja, ich muss damit leben, ich versuche mein Glück mit der PRINT Ausgabe.
[OT] Das mit der E-Mail-Benachrichtigung aus dem Forum hat leider immer noch nicht geklappt :-(
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo zusammen,
ich mache meine ersten Tests mit der MQL5 Plattform und versuche mich hier auch mit den Programmcodes.
Dabei habe ich mir als erste Übung gesetzt, Text auszugeben, ich schaffe es auch eine Zeile auszugeben.
Jetzt habe ich das in eine Funktion gepackt (hoffentlich heißt das so) und dachte ich kann mehrere Zeilen ausgeben, aber das funktioniert nicht, ich bekomme nur den letzten Text angezeigt, alle anderen sind verschwunden.
Wo liegt mein Denkfehler bzw. was mache ich falsch?
Gruß Mücke