Dienstag, 23. April 2024, 11:24 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Mario

unregistriert

1

Mittwoch, 26. Januar 2011, 10:43

Aktuelles Ergebnis ist immer 0

Hallo, ich komme mal wieder nicht weiter und möchte um Eure Hilfe bitten.

Folgendes Problem mein Indikator (VBS) errechnet zwei Werte und setzt diese in ein Verhältnis :
Bsp.: Wenn erg1 = < 1 und erg2 > 2 dann Ergebnis(i) = 3
im Handelssystem wird dann das Ergebnis 3 genommen und entsprechend der Regeln agiert.

Im Backtest funktioniert das auch hervorragend, allerdings ist im Livebetrieb das aktuelle Ergebnis(i) immer 0. :baby:
Lösche ich den Zwischenspeicher wird alles korrekt bis eben auf den aktuellen Bar angezeigt.
Was wohl bedeutet, das die Werte erg1/erg2 für den aktuellenWert nicht vorliegen.

erg1 und erg2 werden in einer Stundenkomprimierung und 5 min Komprimierung berechnet komp/ref -1 beim Aufruf ist berücksichtigt.
Der Chart wird in einer kleineren Zeiteinheit 1 min angezeigt.

Was mache ich falsch ? kann mir jemand helfen, bzw. welche Angaben werden benötigt um zu helfen ?
Viele Grüsse
Mario

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Mittwoch, 26. Januar 2011, 12:19

Hallo Mario

... ref -1 beim Aufruf ist berücksichtigt. ... wird alles korrekt bis eben auf den aktuellen Bar angezeigt.

Die Beobachtung sieht mir jetzt so aus Deiner Schilderung heraus ganz normal aus.

Du musst Dich entscheiden: entweder verwendest Du Ref( ,-1) um Deinen Indikator herum, dann liefert der Indikator (also Dein Script) nur den letzten Wert ein in die aktuelle Periode; dafür hast Du einen garantiert zeitstabilen Wert (wenn Du sonst nix krummes programmiert hast im Script, natürlich), auf den Du ziemlich bedenkenlos Handlsregeln setzen kannst. Oder Du hast eine "lebende" Anzeige bzw. ein sich in der laufenden Periode noch veränderndes Ergebnis (sog. unvollendete Periode) und arbeitest ohne Ref( ,-1). In letzterem Fall muss man sicher sein, falls man da eine Handelsregel auf den Indi drauf setzt, dass die Abfrage trotz der unvolendeten Periode nicht wieder ungültig werden kann, wenn er einmal gültig war.

Beispiele:
* close sollte man i.d.R. nur mit Ref( ,-1) abgesichert verwenden (Delay 0 vorausgesetzt für dieses Beispiel), während ein Abfrage wie
* high > irgendEinStabilerTrigger in der laufenden Periode kein Problem darstellt, weil high ja nicht mehr kleiner werden kann in der laufenden Periode

So wie in dem Beispiel close und high müsstest Du auch das Ergebnis Deines Indis beurteilen ... und dann Ref( ,-1) nehmen oder nicht.

Wenn es sich darüber hinaus um ein Darstellungsproblem handelt, was mir aus Deiner Beschreibung nicht restlos klar geworden ist: unvollendete Perioden im Chart hast Du schon angehakt?
Gruss
Bernd

Mario

unregistriert

3

Mittwoch, 26. Januar 2011, 12:47

Hallo Bernd,
vielen Dank für Deine Antwort.
Ja ich hatte im Chart unvollendete Perioden aktiviert.
Jetzt funktioniert es auch augenscheinlich, nachdem ich alle möglichen Häkchen aktiviert/deaktiviert habe.
Es hing wohl entweder an dem gesetzten Haken im Bereich Charteinstellung - optimiert (jetzt schnell) ,dieser hat wohl den Fehler verursacht, bzw. an dem vorher nichtvorhanden Haken im Bereich des Zwischenspeichers auch unkomprimierte Perioden zu speichern.
Verstanden habe ich es trotzdem leider nicht.

Viele Grüsse
Mario