Ich habe ein Problem mit der Übergabe eines Wertes aus einem Indikator an einen Screener. Im Screener kommt der übergebenen Wert manchmal korrekt und manchmal falsch an. Wenn ich den Indikator im Chart anzeigen lasse, dann erscheint der Wert dort korrekt, im Screener jedoch nicht mehr.
Hier der Code des Indikators:
1
2
3
4
5
6
7
8
9
sum=0
// Close > EMA200
ema200=ExponentialAverage[200](close)
if(close>ema200)then
sum=sum+1
endif
RETURNsumas"Sum"
Hier der Screener dazu:
1
2
Sum=CALL"MyIndicator"
SCREENER[Sum=1andSum[1]<1](Sumas"Sum")
Im 1. Screenshot sieht man, wie der Indikator auf 1 springt, sobald der Close > EMA200 ist. Danach springt er wieder auf 0. Soweit alles korrekt. Am letzten Handelstag zeigt der Indikator den Wert 0 an. Im Screener jedoch wird der Wert 1 angezeigt, was falsch ist.
Im 2. Screenshot ist es jedoch korrekt.
Mir ist nicht klar, warum es dazu kommt. Ich bin für jegliche Tipps und Hilfe dankbar.
Ich sehe 2 verschiedene Fehler möglich:
1 / Sie haben keinen Zugriff auf den Live-Daten-Feed für die freigegebenen Aktien, sodass die Ergebnisse fehlerhaft sind.
2 / Sie sind mit einem 200 EMA, die eine Menge von Daten benötigen, um vollständig zu berechnen, mehr als 254 Bars, die die Grenze der ProScreener möglich Lookback ist.
Haben Sie versucht, die EMA-Periode zu senken, um etwa 50 Perioden zu sehen, ob das Problem weiterhin auftreten?
Und haben Sie versucht, den gesamten Indikatorcode in Ihren Screener zu integrieren, anstatt die Anweisung “CALL” zu verwenden?
zu 1) möglich, aber warum wird es dann im Indikator korrekt angezeigt?
zu 2) Diese Limitierung auf 254 Bars im Screener war mir bisher nicht bekannt. Jedoch stelle ich mir die Frage, ob diese Limitierung hier greift, denn die eigentliche Berechnung findet im Indikator statt.
Ich werde es mal versuchen, die EMA-Periode zu senken bzw. den ganzen Indikatorcode in den Screener zu integrieren. Ich wollte dies vermeiden, um den Code an zwei Stellen zu pflegen, denn die visuelle Anzeige des Indikators im Chart finde ich sehr hilfreich.
Es tut mir leid, aber wenn ich Ihren Code gelesen habe, denke ich, Sie versuchen zu testen, ob die tatsächliche schließen die EMA200 überqueren, bin ich richtig?
To help us continually offer you the best experience on ProRealCode, we use cookies. By clicking on "Continue" you are agreeing to our use of them. You can also check our "privacy policy" page for more information.Continue