Jump to content
Tom Next - Daytrading Community

Methodenbibliothek


Eddy

Recommended Posts

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);

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 ...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?
Link to comment
Share on other sites

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 ...

Link to comment
Share on other sites

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).

Link to comment
Share on other sites

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.

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...