Diese Webseite verwendet Cookies, um ihre Dienste bereitzustellen, Anzeigen zu personalisieren und Zugriffe zu analysieren. Durch die Nutzung dieser Webseite erklären Sie sich damit einverstanden, dass sie Cookies verwendet.

EQUILLA ERSTE HILFE

Eröffnet von nordie im Board Equilla - Ideen umsetzen und programmieren

Hier kann man nicht nur geholfen werden, sondern auch selbst geholfen bekommen... :-))
Schreiben Sie einen Beitrag:
Seitenlänge102030
Seite 1 von 5501234567891090180280370460
#5495: 17.11.2017 18:18 fritzr
Antworten      
Der Beitrag wurde vom Verfasser bearbeitet. Originalbeitrag anzeigen.
@ReneRose (#5494)
Im Prinzip ja. Nur führt Close[-1000] (Blick zuweit in die Zukunft) nicht ins Leere sondern auch wenn weniger als 1001 Bars vorhanden sind zum aktuellsten Close (s. #5492).

Was du beschreibst, passiert bei Close[lastbar-1], also dem Versuch zu weit in die Vergangenheit zu schauen (s. #5488):

Beim ersten Bar (currentbar=1) ist lastbar sehr weit entfernt (zeitlich später), lastbar deshalb sehr groß und die Abfrage (zeitlich früher) schlägt fehl.

Bei jedem neuen Bar ist nun wegen des Fehlers wieder currentbar=1, weshalb jede Abfrage der Historie fehlschlägt.

Nur nicht beim letzten Bar, denn alle zukünftigen Bars sind aufgebraucht und daher lastbar=currentbar=1. Close[lastbar-1] ist nun gleich Close[0], fragt also nicht mehr die Historie sondern den aktuellen Wert ab, ist daher ausführbar und wird ausgegeben.

Berechnungen für den letzten Bar werden bei jeder Aktualisierung wiederholt, also auch deren Ausgabe.
#5494: 17.11.2017 14:31 ReneRose
Antworten      
@fritzr (#5493)
Die Ursache für die Neuberechnungen ist wahrscheinlich der Versuch einen Bar zu lesen, der außerhalb der Historie liegt.

Wenn CurrentBar = 1 der erste Bar ist, und LastBar = 1000 führt der Versuche Close[-1000] zu lesen ins Leere. Denn beim Zugriff auf die Series ist wiederum Index 0 der aktuelle Bar und somit Index 999 der letzte in diesem Kontext. Tradesignal kann somit keinen Startpunkt für das Skript ermitteln und läuft in einer Endlosschleife.
#5493: 17.11.2017 12:54 fritzr
Antworten      
@fritzr (#5484)
Und warum wird wiederkehrend der Kurs ausgegeben, wenn doch eigentlich nur am ersten Bar ausgegeben werden soll? Ich dachte, es wird automatisch immer nur für den letzten Bar neuberechnet?

Die laufenden Neuberechnungen fallen jetzt auch weg. Sie fanden nur statt, weil in #5483 wegen #5488 kurioserweise der Currentbar = lastbar =1 war.
#5492: 17.11.2017 12:49 fritzr
Antworten      
Der Beitrag wurde vom Verfasser bearbeitet. Originalbeitrag anzeigen.
@Yvel273 (#5491)
Hm, beide Varianten liefern dasselbe Ergebnis, so wie es sein soll.
Dass der Close vom vorletzten Bar angezeigt wird, kann ich nicht bestätigen. Habe immer den letzten Barclose.

-
Equilla Skript "test"
-
Und wenn man z.B. mit
c[-lastbar-100])

über den letzten Bar hinaus in die Zukunft schauen möchte, wird trotzdem der Wert des letzten Bars angezeigt.
#5491: 17.11.2017 09:27 Yvel273
Antworten      
@fritzr (#5488)
seltsam fuer mich bleibt dabei dennoch, dass dies
c[-lastbar]

ja genau minem urspruenglichen
c[lastbar*(-1)]

enspricht [s.#5483 1. version]
welches aber das close des vorletzten bars anzeigte....
#5490: 17.11.2017 05:33 ztipo
Antworten      
@fritzr (#5488)

danke : -))

Grüsse
#5489: 15.11.2017 19:35 Yvel273
Antworten      
@fritzr (#5488)
ja stimmt, besser einfach wenn es kompliziert nicht geht :)
#5488: 15.11.2017 18:22 fritzr
Antworten      
@ztipo (#5482)
So sollte es gehen
if currentbar = 1 then
print(formatdate(date), c[-lastbar]);


@Yvel273 (#5487)
Witzig das Ganze. Du hattest wohl erst
LastBar*(-1)
. Durch das '+1' und
LastBar+1*(-1)
greift dann Punkt- vor Strichrechnung falsch. Das führt dazu, dass du nicht mehr zeitlich vorwärts c[-lastbar] sondern rückwärts c[lastbar] abfragst. Da diese Abfrage aber anscheinend erst am letzten Bar definiert ist, wird der letzte Bar zum currentbar=1. So dass erst am letzten Bar ausgegeben wird.
#5487: 15.11.2017 14:32 Yvel273
Antworten      
Der Beitrag wurde vom Verfasser bearbeitet. Originalbeitrag anzeigen.
@fritzr (#5484)
hi, kann ich auch nicht erklaeren, ich hatte urspruenglich nur
lastbar

dann sah ich, dass das close der vorletzten [der letzten abgeschlossenen candle] angezeigt wurde.
darauf habe ich dann die '+1' hinzugefuegt...

der kurs des letzten close aendert sich dann ja, wenn der chart aktiv ist, bei jedem tick,
insofern ist es nicht verwunderlich , wenn dann der kurs immer wieder neu ausgegeben wird...
mit 'lastbar' fuer die vorletzte candle wird der kurs bei mir nur einmal ausgegeben...
#5486: 15.11.2017 14:16 ztipo
Antworten      
@ztipo (#5485)

Date: 26.11.1990 > Close LastBar:
Date: 15.11.2017 > Close LastBar: 12906,54

Grüsse
Seite 1 von 5501234567891090180280370460