Jump to content
Tom Next - Daytrading Community

NinjaTrader Scriptsprache und Win32 DLLs...


zentrader

Recommended Posts

@all,

 

Ninjatrader sieht ja auf den ersten Blick sehr interessant aus: als Testplattform ohne Brokeranbindung kostenlos und auch EOD-Kurse kostenlos... :-)

 

Eine Frage an die NT-Programmiergurus habe ich, da ich gar nicht soweit in die NT-Scriptsprache einsteigen moechte, sondern existierende Windows DLLs einbinden moechte.

 

Zur Klarstellung:

es sind sog. industry standard Win32 DLLs (die also ohne Runtime etc. direkt auf dem Betriebsystem laufen) und keine COM-DLLs oder .NET-DLLs.

 

Normalerweise kann ja z.B. C#.Net per pInvoke auch solche Standard DLLs einbinden - sollte also eigentlich auch mit NinjaTrader Script (das ja auf C# basiert) moeglich sein...

 

Kann mir das jemand bestaetigen?

 

ciao,

zentrader

Edited by zentrader
Link to comment
Share on other sites

Ninjatrader ist C# und kein Scripting.

PInvoke/Interop sollten kein Problem darstellen.

Native geht da alles was nicht in der CLR läuft.

 


//muss eingetragen werden im Indicator oder Strategie
using System.Runtime.InteropServices;

 


[DllImport("deinedll.dll")]

 

Google mal InteropServices + Ninjatrader und hier

Link to comment
Share on other sites

Win32 DLL ist unmanaged Code? Ich denke, bin mir da aber nicht sicher.

Ich hatte mal eine Schnittstelle zwischen ALMO

und .Net geschrieben. Der C-Code war der reinste Horror. Habe glaube ich auch nur Win32 DLL

gemacht und die DLL über Interop eingebunden.

Link to comment
Share on other sites

Ich entwickle meine HS-Logik in C# unter Visual Studio und erzeuge dann eine DLL. Ich nutzte die NinjaTrader-Funktion zum Bekanntmachen der DLL. Im NT-Script binde ich die notwendigen Namespaces mit 'using xxx' ein. Hat bisher sehr gut funktioniert. Ist allerdings eine statische Einbindung.
Link to comment
Share on other sites

Ich entwickle meine HS-Logik in C# unter Visual Studio und erzeuge dann eine DLL. Ich nutzte die NinjaTrader-Funktion zum Bekanntmachen der DLL. Im NT-Script binde ich die notwendigen Namespaces mit 'using xxx' ein. Hat bisher sehr gut funktioniert. Ist allerdings eine statische Einbindung.

 

Hi Eddy,

 

was Du machst, ist die Einbindung einer "managed" DLL (geht ja mit C# nicht anders) in NT. Schonmal gut, dass NT so erweiterbar ist. Wenn das gleiche auch fuer "unmanaged" DLLs (also DLLs die z.B. mit C/C++, Delphi oder PowerBasic entwickelt wurden) funktioniert, waere es natuerlich optimal.

 

Werde mir NT mal laden und ein wenig probieren... :-)

 

ciao,

zentrader

Link to comment
Share on other sites

@all,

 

das probieren habe ich mir ersparen koennen, dank einer qualifizierten Antwort des NT Supports:

 

"...NinjaScript editor is based on C# and you can use all the features available in the C# editor. Coming specifically to your query, you can call native dlls, for example if you want to call the GetWindow function of the user32.dll then simply add the following code:

 

[DllImport("user32.dll", SetLastError = true)]

static extern IntPtr GetWindow(IntPtr hWnd, GetWindow_Cmd uCmd); "

 

D.h. maximale unter Windows moegliche Programmierflexibilitaet!

 

ciao,

zentrader

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