NexusFi: Find Your Edge


Home Menu

 





Auswirkung DLL Indicator Files


Discussion in German Traders

Updated
    1. trending_up 1,637 views
    2. thumb_up 3 thanks given
    3. group 2 followers
    1. forum 3 posts
    2. attach_file 0 attachments




 
Search this Thread

Auswirkung DLL Indicator Files

  #1 (permalink)
djiym
Atlanta/GA
 
Posts: 12 since Jun 2013
Thanks Given: 37
Thanks Received: 3

Welche Auswirkung haben diese DLL Files und wie funktionieren sie genau?

Konkrete Fragen:
a) Wird der Code jedes Mal bei Ninjatrader Initialisierung vom Server geladen?
b) Koennen sie andere auf dem PC vorhandenen Indikatoren (inkl. Code) extern senden?

Danke im Voraus.

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
My NT8 Volume Profile Split by Asian/Euro/Open
NinjaTrader
New Micros: Ultra 10-Year & Ultra T-Bond -- Live Now
Treasury Notes and Bonds
ZombieSqueeze
Platforms and Indicators
Deepmoney LLM
Elite Quantitative GenAI/LLM
Better Renko Gaps
The Elite Circle
 
  #2 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


djiym View Post
Welche Auswirkung haben diese DLL Files und wie funktionieren sie genau?

Konkrete Fragen:
a) Wird der Code jedes Mal bei Ninjatrader Initialisierung vom Server geladen?
b) Koennen sie andere auf dem PC vorhandenen Indikatoren (inkl. Code) extern senden?

Danke im Voraus.


Eine DLL-Datei ist eine bereits kompilierte und damit lauffähige Datei. Ich werde es einmal am Beispiel eines Indikators erörtern.


Open Source Indikator

Ein offener Indikator kommt bei NinjaTrader als .cs Datei daher. Der Code kann mit einem Editor aufgerufen werden. Du kannst also genau prüfen, was der Indikator im einzelnen macht. Wenn Du den Zip File via File -> Utilities -> Import NinjaScript nach NinjaTrader importierst, dann

- wird der Indikator in das Verzeichnis Dokumente -> NinjaTrader 7 -> bin -> Custom -> Indicator kopiert
- und anschließend (zusammen mit allen anderen Indikatoren, Strategien und benötigten Dateien) kompiliert

Anstelle des Importvorgangs kann man auch einfach die .cs-Datei in das oben genannte Verzeichnis kopieren und dann mit dem Editor irgendeinen Indikator öffnen und kompilieren. Das geht deshalb, weil NinjaTrader beim Kompilieren immer alle Indikatoren gleichzeitig initialisiert.

Der Vorteil des Open Source Indikators ist, dass man genau weiß was der macht.


Lauffähige DLL-Datei

Man kann aber anstelle des Source Codes auch gleich eine kompilierte lauffähige Datei in NinjaTrader einbringen. In diesem Fall wird die DLL-Datei neben der bereits vorhandenen NinjaTrader.Custom.dll im Verzeichnis Dokumente -> NinjaTrader 7 -> bin -> Custom abgelegt. Zusätzlich muss dann noch auf diese DLL-Datei verwiesen werden, was durch eine sogenannte "Reference" erfolgt. Beim Import einer DLL-Datei wird neben dem Kopieren der Datei auch diese Referenz erzeugt.

Bei einer lauffähigen DLL-Datei weiß man nicht, was das Programm eigentlich macht. Der Code ist nicht-öffentlich um das Urheberrecht zu schützen und zu verhindern, dass Raubkopien verbreitet werden. Zusätzlich werden bei der Erzeugung von DLL-Dateien auch Tools einesetzt die das Dekompilieren (Reverse Engineering des Source Code) verhindern oder erschweren.

Jetzt zu Deinen Fragen: Bei einer DLL weiß man im Grunde nicht, was genau sie tut. Sie kann theoretisch chinesische Server anwählen, der NSA Grußbotschaften schicken oder Viren freisetzen. Daher sollte man nur DLLs verwenden, deren Ursprung genau bekannt ist. Wenn es sich um eine lizenzierte Software handelt, dann wird die DLL auch eine Lizenzabfrage an die NinjaTrader Lizenzserver generieren.


Antworten

a) Der Code wird nicht jedes Mal vom Server geladen, sondern liegt in der Regel in lauffähiger Form vor. Allerdings wird bei jedem Neustart von NinjaTrader eine Lizenzabfrage generiert, das heißt es wird überprüft, ob für den PC auf dem der Indikator betrieben wird auf einem der beiden NinjaTrader Lizenzserver eine gültige Lizenz vorliegt.

b) Es wäre technisch machbar über eine DLL andere Indikatoren extern zu senden. Du solltest daher nur DLLs einsetzen, deren Ursprung bekannt ist, und die von Firmen kommen, deren Geschäftsmodell Du nachvollziehen kannst. Für jedes auf Deinem Computer installierte Programm trifft diese Aussage auch zu. Alle unter Windows lauffähigen Programme sind letztendlich DLLs.

Reply With Quote
Thanked by:
  #3 (permalink)
djiym
Atlanta/GA
 
Posts: 12 since Jun 2013
Thanks Given: 37
Thanks Received: 3


Danke fuer deine ausfuehrliche Antwort. Dachte ich mir, dass es eine ernsthafte Angelegenheit ist.

Habe allerdings weitere Fragen:

c) Ich nehme an, dass die Bedrohung der dll Indikatoren erst wirksam wird, wenn
I) der Indikator erstmalig importiert wird
II) der Indikator im Chart aktiv ist
also sozusagen NICHT, wenn es nur im NT Verzeichnis liegt - stimmt das?

d) Ausgehend vom Grundsatz, dass es sich um einen rein dll Indikator handelt, also keine Virusfreisetzung - sind die dll Dateien tatsaechlich in der Lage (neben diesen Lizenzabfragen, welche ich annehme, dass es ueber eine einfache HTTP GET Methode erfolgt) andere Indikatoren (vollstaendige Dateien) an den Server zu senden, OHNE dass das Antivirusprogramm es merkt? Ich kenne mich mit C++ sehr wenig aus, allerdings muessen sie nicht eine kompilierte CGI Serverumgebung oder client http object library (forms), usw. haben um eine POST Methode ausfuehren zu koennen?

Danke

Reply With Quote
  #4 (permalink)
 
Fat Tails's Avatar
 Fat Tails 
Berlin, Europe
Market Wizard
 
Experience: Advanced
Platform: NinjaTrader, MultiCharts
Broker: Interactive Brokers
Trading: Keyboard
Posts: 9,888 since Mar 2010
Thanks Given: 4,242
Thanks Received: 27,102


djiym View Post
Danke fuer deine ausfuehrliche Antwort. Dachte ich mir, dass es eine ernsthafte Angelegenheit ist.

Habe allerdings weitere Fragen:

c) Ich nehme an, dass die Bedrohung der dll Indikatoren erst wirksam wird, wenn
I) der Indikator erstmalig importiert wird
II) der Indikator im Chart aktiv ist
also sozusagen NICHT, wenn es nur im NT Verzeichnis liegt - stimmt das?

d) Ausgehend vom Grundsatz, dass es sich um einen rein dll Indikator handelt, also keine Virusfreisetzung - sind die dll Dateien tatsaechlich in der Lage (neben diesen Lizenzabfragen, welche ich annehme, dass es ueber eine einfache HTTP GET Methode erfolgt) andere Indikatoren (vollstaendige Dateien) an den Server zu senden, OHNE dass das Antivirusprogramm es merkt? Ich kenne mich mit C++ sehr wenig aus, allerdings muessen sie nicht eine kompilierte CGI Serverumgebung oder client http object library (forms), usw. haben um eine POST Methode ausfuehren zu koennen?

Danke

Es ist nicht nötig, dass der Indikator im Chart aktiv ist. Wenn die DLL-Datei importiert wurde, also im entsprechenden Verzeichnis liegt und die References gesetzt wurden, ist der Indikator oder die Strategie praktisch schon aktiv. Zumindest der Code in der Intialize-Section von Indikator oder Strategie wird schon beim Start von NinjaTrader ausgeführt. Sonst könnte man ja einen Indikator gar nicht per Indikator-Box dem Chart hinzufügen. Man könnte also einen Virus in der Initialize Section verstecken.

Einige kommerzielle Indikatoren laden Daten von Servern herunter, also sollte es auch ein leichtes sein, Daten zu versenden oder von der Festplatte Deines PCs zu kopieren.

Reply With Quote
Thanked by:




Last Updated on December 21, 2013


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts