Page 1 of 1

sentiment=100 kommt nicht an

Posted: 20 Jul 2016 18:13
by rmplstlz
Hat schon mal jemand erfolgreich das Sentiment explizit gesetzt? Also

interpretation
begin
if ... then sentiment = 100;
end

Funktioniert bei mir nicht, d.h. der Meta-Sentimentor zeigt stur permanent 50 an.
Geht das vielleicht im Demo-Mode nicht?

ShowTip("text") bleibt ebenso wirkungslos, auch in der calculation section.

Re: sentiment=100 kommt nicht an

Posted: 21 Jul 2016 10:13
by WHS Support
Hallo,

doch, das muss auch im Demomodus funktionieren. Haben Sie mal ein konkretes Beispiel (kompletter Code)? Dann wird man sehr schnell erkennen können wo das Problem liegt ;).

Mit freundlichen Grüßen,
Timo
WH SELFINVEST

Re: sentiment=100 kommt nicht an

Posted: 21 Jul 2016 12:10
by GordonGekko
Sind zufällig noch andere Indikatoren unter MetaSentimentor aktiviert?

Beste Grüße
/gg

Re: sentiment=100 kommt nicht an

Posted: 21 Jul 2016 13:31
by rmplstlz
interpretation
begin
ci=ci+1;
if long then
begin
sentiment=100;
long=false;
cl=cl+1;
end
else if shrt then
begin
sentiment=0;
shrt=false;
cs=cs+1;
end
end

long / shrt werden in der calculation section gesetzt.
Nach dem Start ist ci>10000, cl und cs sind 1, sollten aber >100 sein.
Es scheint so als ob die Interpretation section die Variablen long / shrt nicht korrekt sieht. Das Hochzählen des Counters ci funktioniert aber offensichtlich.

Re: sentiment=100 kommt nicht an

Posted: 21 Jul 2016 13:37
by WHS Support
Hallo,

sind long/short evtl. Variablen vom Typ Numeric oder String? Diese sollten nur in der Calculation verwendet werden. Für die Interpretation sollten Sie nur auf Variablen vom Typ "Series" zurückgreifen.

Mit freundlichen Grüßen,
Timo
WH SELFINVEST

Re: sentiment=100 kommt nicht an

Posted: 21 Jul 2016 13:51
by rmplstlz
Hallo Timo,

ja, long, shrt sind bool.
Merkwürdig nur dass das Hochzählen von ci funktioniert, das ist auch numeric.

Danke!

Re: sentiment=100 kommt nicht an

Posted: 22 Jul 2016 09:39
by WHS Support
Hallo,

anhand des Codes kann ich es schwer nachvollziehen, da ich nicht sehe was unter "Calculation" passiert. Aber prinzipiell sollten alle Berechnungen (wie z.B. Counter) unter Calculation durchgeführt werden. Am Ende sollten dann nur noch Variablen vom Typ "Series" an die Interpretation übergeben werden (im Indealfall reicht schon 1 aus). Nachfolgend ein Beispiel wie es gemeint ist (anhand eines einfachen Breakout-Indikators auf Basis des PrevDayHighLow - über den Counter soll nur 1 Signal pro Tag erzeugt werden):

Code: Select all

Express PrevHL_Senti

Vars

numeric flag;
series senti(50);
series span, uline, dline;
series lower;
series upper;

input
$factor(0.1, 5.0, 0.5, 0.1, 1);

Calculation
if IsFirstBar() then lower = void;
lower = lower[1];
lower = PrevDayLow();
upper = upper[1];
upper = PrevDayHigh();

If IsNewDay() then
begin
  flag = 0;
  upper[1] = void;
  lower[1] = void;
end

If CrossesAbove(c, upper) and (flag = 0) and IsBarCompleted() then
begin
  senti = 100;
  flag = flag + 1;
end

If CrossesBelow(c, lower) and (flag = 0) and IsBarCompleted() then
begin
  senti = 0;
  flag = flag + 1;
end

uline = upper + ((upper-lower)*$factor);
dline = lower - ((upper-lower)*$factor);


interpretation
begin
  Sentiment = Senti;
end

plot(upper, green, 2);
plot(lower, red, 2);
plot(uline, black, 1);
plot(dline, black, 1);//@@@cs:388283-3479882-247372_cs@@@
Mit freundlichen Grüßen,
Timo
WH SELFINVEST

Re: sentiment=100 kommt nicht an

Posted: 22 Jul 2016 14:53
by rmplstlz
Hallo Timo,

ist schon klar, ich hatte das gestern verstanden. In der Doku habe ich nichts darüber gelesen dass "normale" Variablen in der Interpretation tabu sind; wäre vielleicht einen Tip an Fibertech wert, das beim nächsten Update explizit zu erwähnen.

Danke nochmal.