Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Methodenbibliothek

Geschrieben

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

Featured Replies

Geschrieben

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

Geschrieben
  • Autor

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?

Geschrieben

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.

Geschrieben
  • Autor

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.

Geschrieben

Na wenn Eclipse und Java dann C#/NinjaScript und Editor deiner Wahl kein Problem.

Schaue Dir mal SharpDevelop an oder Visual Studio Express ...

Geschrieben
  • Autor

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

Geschrieben

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

Geschrieben

Eddy, setze einfach einen Namespace (package):

 


//C#
namespace eddies.indiscsharp
{
   class A {}
   class B {}
}
//Java
package eddies.indisjava;
  class A {}

Geschrieben
  • Autor

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.

Geschrieben
  • Autor
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?
Geschrieben
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.
Geschrieben

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

Geschrieben
  • Autor

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

Geschrieben
  • Autor

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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.