Jump to content
Tom Next - Daytrading Community

Recommended Posts

Posted (edited)

@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
Posted

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

Posted

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.

Posted

@wh,

 

genau in der .NET Sprache heisst dies heute "unmanaged code".

 

Der DLLImport-Konstrukt kommt mir bekannt vor (GFT macht das mit CTL genauso, um DLLs einzubinden). Das muesste so dann wohl gehen...

 

Danke.

 

ciao,

zentrader

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

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

Posted

@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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...