Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Variablenwert hinter Text auf Chart? (http://www.expert-advisor.com/forum/showthread.php?t=3177)

Ca$hDigger 24.08.13 23:35

Variablenwert hinter Text auf Chart?
 
Guten Abend,

kann mir kurz jemand die Zeile sagen wie ich hinter einen Text (bisher durch ObjectSetText) zusätzlich dahinter einen Variablenwert auf den Chart bekomme?

Gruß

C$D

Ca$hDigger 25.08.13 00:20

Kann auch seperat auf den Chart wäre auch prima kann ihn dann etwas tiefer/höher legen als den Beschreibungstext

traderdoc 25.08.13 09:51

Zum hundertsten Male:
"Die Lösung eines Problems hängt immer maßgeblich von der Beschreibung desselben ab!"

Ich verstehe nicht, was Du meinst!

traderdoc

Ca$hDigger 25.08.13 10:31

Ok ich versuch es nochmal:

Ein EA soll im Betrieb zu einer bestimmten Aktion ein Variablenwert (Datentyp int) an der aktuellen Kerze auf den Chart zeichnen.

Beispiel: Die Variable hat den Wert 23 dann soll die Zahl 23 zur gegebenen Aktion auf dem Chart über dem entsprechenden Bar erscheinen (und dort bleiben).

Grüße

C$D

Ca$hDigger 25.08.13 12:32

Pardon vielleicht ist es immer noch nicht klar

Code:

int variable; // der Wert dieser Variable soll auf dem Chart gezeichnet werden

ObjectCreate("ObjName", OBJ_TEXT, 0, 0, High[0]+10*Point);
ObjectSetText("ObjName","der Text",7, "Verdana", Red);
ObjectSet("ObjName", OBJPROP_CORNER, 0);

Das sollte "der Text" auf den Chart bringen.
Statt "der Text" soll aber der Wert (zB 23) einer Variable auf dem Chart angezeigt werden das ist die Modifikation wo es hakt :confused:

Hoffe das war so dann verständlich?

C$D

traderdoc 25.08.13 12:57

Jo, jetzt wird ein Schuh draus!

Code:

int variable = 23;

ObjectCreate("ObjName", OBJ_TEXT, 0, 0, High[0]+10*Point);
ObjectSetText("ObjName",DoubleToStr(variable,0),7, "Verdana", Red);
ObjectSet("ObjName", OBJPROP_CORNER, 0);

Soll die anzeigte Zahl eine oder mehrere Kommastellen haben, dann muß entsprechend in DoubleToStr(....., x) für x die Kommastelle angegeben werden.

traderdoc

Ca$hDigger 25.08.13 13:19

Leider kommt nichts an ensprechender Stelle auf den Chart. Muss irgendwas noch am Code sein :confused: So hab ich es nun im Code:

Code:

int variable = 23;

{
string objName = "1" + Time[0];
ObjectCreate("ObjName", OBJ_TEXT, 0, 0, High[0]+10*Point);
ObjectSetText("ObjName",DoubleToStr(variable,0),7, "Verdana", Red);
ObjectSet("ObjName", OBJPROP_CORNER, 0);
Print("Variable auf Chart. Wert = "variable);,
}


traderdoc 25.08.13 13:36

Sollte gehen.
Dann versuche mal:

string text = DoubleToStr(........);

Dabei muß o.g. Zeile in der Funktion stehen wo auch die Ausgabezeilen stehen.

Und dann erst text (ohne ") in die Zeile mit ObjectSetText.

traderdoc

Ca$hDigger 25.08.13 13:50

Hmm da kommt immer noch nichts
Aktuell so:
Code:

int variable = 23;

{
string text = DoubleToStr(variable,0);
ObjectCreate("text", OBJ_TEXT, 0, 0, High[0]+10*Point);
ObjectSetText(text,text,7, "Verdana", Red);
ObjectSet("text", OBJPROP_CORNER, 0);
Print("Variable auf Chart. Wert = "variable);,
}


traderdoc 25.08.13 15:01

Ok, Du hattest auch noch vergessen die Zeit anzugeben, über deren Kerze der Text erscheinen soll.

Code:

int variable = 23;
string text = DoubleToStr(variable,0);
ObjectCreate("text", OBJ_TEXT, 0, 0, 0);
ObjectSet("text", OBJPROP_TIME1, Time[0]);
ObjectSet("text", OBJPROP_PRICE1, High[0] + 10*Point);
ObjectSetText("text",text,7, "Verdana", Red);

Das sollte aber nun wirklich gehen.

traderdoc


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:19 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum