August 26, 201016 yr comment_104107 Hallo, ich möchte mir eine Bibliothek mit diversen Methoden anlegen. Diese Methoden sollen in verschiedenen Indikatoren / Strategien zum Einsatz kommen. Geht das. Und wenn ja, wie. GrußEddy Report
August 26, 201016 yr comment_104121 Geht alles. Methode schreiben und dann in NinjaScript aufrufen. class MeineMethoden { public void CallMe(int number) {...} public int GetMe(int number, int count) { return 0; } } dann in Script ggf. bei onbarupdate() was gleich main() sein kann MeineMethoden mm = new MeineMethoden(); mm.CallMe(546465); mm.GetMe(5, 20); Report
August 26, 201016 yr Author comment_104126 Geht alles. Methode schreiben und dann in NinjaScript aufrufen. Ich kann leider nicht die Stelle im NT finden, an der ich die Methode erfassen kann. Oder wird dies außerhalb von NT gemacht? Report
August 26, 201016 yr comment_104128 Eddy, ich weiß nicht, wie Deine Kenntnisse in OO-Programmierung sind.Ich schreibe meine Strategien und Indikatoren ausnahmslos im NT-Editor.Du kannst auch Visual Studio und NT verbinden, zum Debuggen etc.Du kannst auch einfach eine Methode schreiben und diese einbinden. Tausend Wege führen nach Rom. Vielleicht vor dem Durchstarten ein wenig C# anschauen. Report
August 26, 201016 yr Author comment_104131 Du hast Recht. Erst C# lernen. Bisher habe ich unter Eclipse in Java entwickelt. Mein Problem hier ist, das ich im NT-Editor nur Strategien und Indikatoren zum Editieren auswählen kann. Ich denke, ich habe das Handling mit der Entwicklungsumgebung noch nicht verstanden. Report
August 26, 201016 yr comment_104132 Na wenn Eclipse und Java dann C#/NinjaScript und Editor deiner Wahl kein Problem.Schaue Dir mal SharpDevelop an oder Visual Studio Express ... Report
August 27, 201016 yr Author comment_104144 Na wenn Eclipse und Java dann C#/NinjaScript und Editor deiner Wahl kein Problem.Schaue Dir mal SharpDevelop an oder Visual Studio Express ...C# und Java haben schon viele Gemeinsamkeiten. Mein Problem, das ich nicht wusste, wie man eine eigene Klasse abspeichert, habe ich so gelöst:Erzeugen eines Indikators. Alles Vorgegebene entfernen und die eigene Klasse schreiben. Unpraktisch finde ich nur, dass die Klasse nicht an einem beliebigen Ort gespeichert werden kann, sondern bei den Indiaktoren zu finden ist (oder ich habe es noch nicht gefunden). Visual Studio habe ich mir mal runtergeladen. Muss allerding noch suchen, wie man ein NT-Script dort debuggen kann (vielleicht hat ja jemand schon einen Tipp). GrußEddy Report
August 27, 201016 yr comment_104147 C# und Java haben schon viele Gemeinsamkeiten. Mein Problem, das ich nicht wusste, wie man eine eigene Klasse abspeichert, habe ich so gelöst:Erzeugen eines Indikators. Alles Vorgegebene entfernen und die eigene Klasse schreiben. Unpraktisch finde ich nur, dass die Klasse nicht an einem beliebigen Ort gespeichert werden kann, sondern bei den Indiaktoren zu finden ist (oder ich habe es noch nicht gefunden). Visual Studio habe ich mir mal runtergeladen. Muss allerding noch suchen, wie man ein NT-Script dort debuggen kann (vielleicht hat ja jemand schon einen Tipp). GrußEddy Einfach mal googlen: Ninjatrader Visual Studio 1. 2. Anleitung Andere Geschichte, die Bibliotheken müssen schon irgendwie einen Verweis haben (und das ist der Ordner)und das ist nichts anderes wie bei Java auch. Ob nun in einem Lib-Ordern oder im Indikator Verzeichnis ...Wenn Ninja startet, startet es auch die Bibliotheken ... Report
August 27, 201016 yr comment_104149 Eddy, setze einfach einen Namespace (package): //C# namespace eddies.indiscsharp { class A {} class B {} } //Java package eddies.indisjava; class A {} Report
August 27, 201016 yr Author comment_104151 Eddy, setze einfach einen Namespace (package): //C# namespace eddies.indiscsharp { class A {} class B {} } //Java package eddies.indisjava; class A {} Danke. Hatte ich auch schon herausgefunden. Also ich muss schon sagen, NT gefällt mir wesentlich besser zum Entwickeln von HS als Tradesignals equilla. Report
August 27, 201016 yr Author comment_104152 Ich bin gerade dabei, mir eine Trace-Funktion zu schreiben. Damit möchte ich einen Indikator oder eine Strategie in einem bestimmten Zeitfenster tracen. Die 'User Defined Inputs' lassen keinen Date-Typ zu. Muss man die Datumseingabe über Strings implementieren oder kann man eigene Typen für 'User Defined Inputs' erstellen? Report
August 27, 201016 yr comment_104153 Schaue Dir mal jenes an. Viel Spass beim Lernen und Spielen. Alternativ irgendetwas suchen und dann portieren. Dadurch lernste am besten. Aber das weißte sicher. Report
August 27, 201016 yr comment_104154 Ich bin gerade dabei, mir eine Trace-Funktion zu schreiben. Damit möchte ich einen Indikator oder eine Strategie in einem bestimmten Zeitfenster tracen. Die 'User Defined Inputs' lassen keinen Date-Typ zu. Muss man die Datumseingabe über Strings implementieren oder kann man eigene Typen für 'User Defined Inputs' erstellen? Schaue Dir mal Time and ToTime in der API von Ninjatrader an. Kannste dann bequem über Integervalues machen als User Input ... Report
August 27, 201016 yr Author comment_104155 Werde ich machen. Jetzt habe ich ein Verständnisproblem mit der Initialize-Methode einer Strategie. Warum wird sie 2x aufgerufen (habe das über eine statische Variable geprüft)? Beim ersten Aufruf wird ein String-Property richtig ausgelesen (mit Print geprüft). Beim 2. Aufruf der Methode (warum?) ist das Property leer (Im Chart habe ich das Fenster zur Auswahl einer Strategie aufgerufen. Im Output-Fenster werden dann die 2 Durchläufe gedruckt). Report
August 27, 201016 yr Author comment_104158 Werde ich machen. Jetzt habe ich ein Verständnisproblem mit der Initialize-Methode einer Strategie. Warum wird sie 2x aufgerufen (habe das über eine statische Variable geprüft)? Beim ersten Aufruf wird ein String-Property richtig ausgelesen (mit Print geprüft). Beim 2. Aufruf der Methode (warum?) ist das Property leer (Im Chart habe ich das Fenster zur Auswahl einer Strategie aufgerufen. Im Output-Fenster werden dann die 2 Durchläufe gedruckt). Problem gelöst. Die Initialize-Methode kann laut Doku mehrmals aufgerufen werden. Die Methode OnStartUp ist der richtige Platz für die Initialisierungen. Report
Hallo,
ich möchte mir eine Bibliothek mit diversen Methoden anlegen. Diese Methoden sollen in verschiedenen Indikatoren / Strategien zum Einsatz kommen. Geht das. Und wenn ja, wie.
Gruß
Eddy