Zitat: Original von Michael
Hallo Leute,
ich bin neu hier.
Kann mir jemand helfen?
Ich möchte Werte von Variablen aus Indikatoren mit ExpertCommentary im Chart auswerten können.
Ich bekomme es einfach nicht hin. Ein kleines Beispiel würde mir sicher weiterhelfen.
Danke im Voraus
Michael
Hallo Michael!
Ob ich Dir helfen kann, weiss ich noch nicht, da ich aus Deiner Fragestelltung nicht entnehmen kann, ob es an der Handhabung oder aan der Programmierung scheiter.
Mit der Möglichkeit ExpertCommentary bist Du in der Lage, in einem separat sich öffendem Fenster (Einsatz des spezielen Mauszeigers-Symbols, Schaltknopf mit dem Auge, wenn Du diesen auf einen Bar setzt und die Maustaste drückst) mit Informationen zu betrachten, die zuvor in einen bestimment Bereich (#BeginCmtry.... #END) geschrieben wurden
Ein einfaches Programmcodessegment könnte wie folgt aussehen:
code: ....
av1=Average(close,Len);
plot1(....);
....
#BeginCmtry
commentary(NumToStr(av1,2));
#End;
....
plot2(....);
LastBarH=high;
Der Programmcode zwischen #BEGINCMTRY und #END wird nur ausgeführt, wenn Du in obenbeschriebener Art den zuständigen Mauszeiger betätigst (ist natürlich als Beispile nicht so interessand, da Du die Werte von dargestellten (aktive) Indikatoren jederzeit über das Datensichfenster ablesen kannst (View -> Data Window -> Show all Data).
Jedoch schwebt Dir vielleicht die Auswertung bestimmter Ereignisse vor:
code:
inputs: Len1(5), LenL2(35);
vars: av1c(0), av2c(0):
av1c=Average(Close,Len1);
av2c=Average(Close,Len2);
plot1(av1c,"av1c");
plot2(av2c,"av2c");
#BeginCmtry
if AtCommentaryBar
then begin
vars: strDate(" "), strTime(" "), txtMsg("");
strDate=NumToStr(Date,0);
strTime=NumToStr(Time,0);
txtMsg="Symbol: "+GetSymbolName+" Date:"+strDate+" Time: "+strTime+Newline;
txtMsg=txtMsg + "av1("+NumToStr(Len1,0)+") = "+NumToStr(av1c,2)+NewLine;
txtMsg=txtMsg + "av2("+NumToStr(Len2,0)+") = "+NumToStr(av2c,2)+NewLine;
if close > av1c and close > av2c then
txtMsg=txtMsg+"Close liegt über \hbbeiden\he GD-Werten"
else
if close > av1c and close < av2c then
txtMsg = txtMsg + "Close liegt über av1 aber unter av2"
else
txtMsg = txtMsg + "Close liegt \hbunter\he beiden GD-Werten";
txtMsg=txtMsg+newLine;
if av1c > av1c[1] and av2c
txtMsg=txtMsg+"GD1 steigt und GD2 fällt";
commentary(txtMsg);
#End;
Vielleicht waren Informationen dabei, die Dir weiterhelfen.
Gruß,
Uwe
Dieser Beitrag wurde von Uwe am 16.07.2002, 22:52 Uhr editiert.
|