Eddy Posted August 26, 2010 Report Share Posted August 26, 2010 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 Quote Link to comment Share on other sites More sharing options...
wh Posted August 26, 2010 Report Share Posted August 26, 2010 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); Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 26, 2010 Author Report Share Posted August 26, 2010 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? Quote Link to comment Share on other sites More sharing options...
wh Posted August 26, 2010 Report Share Posted August 26, 2010 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. Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 26, 2010 Author Report Share Posted August 26, 2010 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. Quote Link to comment Share on other sites More sharing options...
wh Posted August 26, 2010 Report Share Posted August 26, 2010 Na wenn Eclipse und Java dann C#/NinjaScript und Editor deiner Wahl kein Problem.Schaue Dir mal SharpDevelop an oder Visual Studio Express ... Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 27, 2010 Author Report Share Posted August 27, 2010 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 Quote Link to comment Share on other sites More sharing options...
wh Posted August 27, 2010 Report Share Posted August 27, 2010 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 ... Quote Link to comment Share on other sites More sharing options...
wh Posted August 27, 2010 Report Share Posted August 27, 2010 Eddy, setze einfach einen Namespace (package): //C# namespace eddies.indiscsharp { class A {} class B {} } //Java package eddies.indisjava; class A {} Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 27, 2010 Author Report Share Posted August 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 27, 2010 Author Report Share Posted August 27, 2010 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? Quote Link to comment Share on other sites More sharing options...
wh Posted August 27, 2010 Report Share Posted August 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
wh Posted August 27, 2010 Report Share Posted August 27, 2010 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 ... Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 27, 2010 Author Report Share Posted August 27, 2010 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). Quote Link to comment Share on other sites More sharing options...
Eddy Posted August 27, 2010 Author Report Share Posted August 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.