Jump to content
Tom Next - Daytrading Community

Problem: Indikatoren nur vorwärts berechenbar


johannes

Recommended Posts

Hallo!

 

Heute habe ichmir mal Zeit genommen für den Ninja Trader. Und ich habe die Stunden verschwendet: Einen einfachen Indikator wollte ich programieren, dazu schaue ich das Beispiel an in dem ein Indi für Dojis beschrieben ist (open[0] == close[0]), ganz einfach schien es mir.

 

Also habe ich begonnen und wollte einen Jeff Cooper Lizzard daraus machen. Erste Schritt: Neues 10 Tagetief, also fing ich an low[0]<low[1]<low[2]<low[3] ... ein bisschen tippen aber ganz simpel.

Geht so nicht, ok also low[0]<low[1] && low[1]<low[2] da wurde die Reihe schon wesentlich länger. Und siehe da es liess sich kompilieren. Aber der Plot blieb leer.

Also habe ich gans einfach begonnen: Einen Tag mit einem Anderen vergleichen. Das Ergebnis erstaunt mich immer noch: ich kann von der Bar[0] nur in die Zukunft gehen also Vergleiche mit den bars -1, -2, -n machen!

Das doofe ist dass der Indikator zum Zeitpunkt null geplottet wird, also dort wo die Reihe beginnt und nicht an die eigentliche Lizzard Bar! Wie kann ich das ändern???

 

Ich hoffe dass ich mit dem Ninjatrader einen EoD Ersatz für Prorealtime finde, denn Prorealtime zehrt jedes Mal an meinen Nerven mit den vielen Javafenstern und dem hin und her wenn man eines minnimiert, die Zeichentools im anderen Fenster, ... nervig eben.

 

Vielen Dank für Eure Hilfe!!!

Link to comment
Share on other sites

Also habe ich begonnen und wollte einen Jeff Cooper Lizzard daraus machen. Erste Schritt: Neues 10 Tagetief, also fing ich an low[0]<low[1]<low[2]<low[3] ... ein bisschen tippen aber ganz simpel.

Geht so nicht, ok also low[0]<low[1] && low[1]<low[2] da wurde die Reihe schon wesentlich länger. Und siehe da es liess sich kompilieren. Aber der Plot blieb leer.

 

 

 

moin,

ich halte den Ansatz schon für Falsch.

Du willst ja nicht das es 10 Tage ein tieferes Tief gab, was es sehr selten geben wird, sondern Du willst ein neues Tief was tiefer ist wie das Tief der letzten 10 Tage.

 

Sollte es einen Befehl für geben, in AmiBroker wäre es LLV (lowest low value)

 

Ansonsten meinst Du das ?

http://www.hitnrun.de/lizards.htm

Link to comment
Share on other sites

Du hast vollkommen Recht! Es müsste sein: low[-9] < low[0] && low[-9] < low[-1] . . .

Eine Min Max funktion gibt es, aber bevor ich mich da ran mache muss ich schon sicher sein das ich auf Ninja umsteige. Momentan ist eher unwahrscheinlich, denn ich bekomme da keine deutschen EoD Aktien obwohl Yahoo auf der Website die quotes hat, gerade installiere ich Visualchart, mal sehen ob ich da einen Indi schaffe.

Link to comment
Share on other sites

Eine Min Max funktion gibt es, aber bevor ich mich da ran mache muss ich schon sicher sein das ich auf Ninja umsteige.

 

Hallo Johannes,

 

versuche mal:

 

double value = MIN(Low, 10)[0];

 

Du hast vollkommen Recht! Es müsste sein: low[-9] < low[0] && low[-9] < low[-1] . . .

 

Low[0] == aktueller Bar

Low[1] == vorherige Bar

...

Eddy

Link to comment
Share on other sites

@johannes

 

Ich glaube so wird das nichts.

Dein Ansatz lässt schnell erkennen, dass Du versuchst die gelernte Syntax einer Programmiersprache auf eine andere zu übertragen (beispielhaft hier das Verwenden negativer Indizes bei den Bars). Das kann nicht funktionieren und wird Dich letzten Endes nur frustrieren.

 

NT bietet eine der besten und umfangreichsten Programmiersprachen des Genres und es ist absolut sinnvoll, sich dazu einfach ein paar der mitgelieferten Indikatoren im Quelltext anzuschauen (in Deinem Fall z.B. "Swing"). Um tiefer in die Materie einzusteigen lohnt es sich definitiv etwas mehr mit dem Coding unter NT zu beschäftigen.

 

In einem andren Thread in diesem Forum wurden dazu bereits sehr gute Literatur-Vorschläge gemacht: Siehe hier.

Unter anderem hat DarthTrader dort auch den NT-HelpGuide erwähnt. Schau Dir diesen, speziell die Section "Ninja Script" an, das wird Dir vermutlich eine gute Hilfe sein.

  • Upvote 1
Link to comment
Share on other sites

Hallo Johannes,

 

versuche mal:

 

double value = MIN(Low, 10)[0];

 

 

 

Low[0] == aktueller Bar

Low[1] == vorherige Bar

...

Eddy

 

 

Danke Eddi, die Min wird es wohl lösen das Problem.

 

Low[0] == akt Bar und [1] == vorherige Bar habe ich so auch angenommen, aber der Indi-Plot blieb eben leer (zB Low[0]<Low[1]). Wenn ich hingegen Low[0] < Low[-1] habe wird der Indikator geplottet, genau das verwundert mich ja so.

 

 

Aurelius hat schon recht, was ich da gestern rumgeeiert habe ist Pfusch, ich wollte halt "mal schnell sehen". Der Ninja trader ist eben deshalb so interessant weil es soviel Information im Internet gibt - um es dann ordentlich zu machen.

 

Vielen Dank an Alle!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...