I don't know about the rest of the NT community (maybe it's just my inexperience), but I have failed to do the following simple steps with NT6.5 on all occasions:
1. I have NT6.5 Script and its API, exposed (made available) in one (or several) of its lib files
2. The API is primarily exposed in C# (or any of the .Net stuff)
Now,
Q1. Ideally, one would need one or few clear "lib" files (.dll, .so, etc.) that will clearly
provide an 'Interface' (definition and usage) for Strategies and Indicators development.
What I mean here, is 'include' (import, 'Using' in this case) one or few specific lib files
will give me access to 'Indicators' and 'Strategies' "public" methods.
Specifically:
Within my C# dev env (MS Vis. Studio, etc.), I include say NT7A.dll and NT7B.dll, then
I can call/use 'Indicators' methods and 'Strategies' methods and stuff.
I say 'stuff', because it can be:
a. Strategies methods such as: HighestBar, CrossAbove, etc.
b. Price bars, Position data, IOrder objects, etc.
c. 'Properties': CalculationMode, etc.
d. And more.
Now many will argue that it can currently be done. I'm sure it can, but not without any 'deep' knowledge of these 'lib files' and probably some sort of tweaking. Not in the 'straight form' of:
- Include, compile and run.
What I am talking about is a well published and 'for the purpose' built libraries:
'Include' in your C# code
- For strategies methods and properties: NT7A.dll
- For Indicator methods and properties: NT7B.dll
Q2. Existing 'lib files' are overlapping, meaning some API methods can partly be found in
one lib file and some others in other lib files. and 'including' both 'lib files' causes NT6.5
to throw an exception at run-time that some of the 'lib files' or methods were already
included.
In these issues, even if it is my understanding on the usage of these 'libraries' that is skewed, it highlights the need for a clean, clear libraries designation for developer who would venture to capitalize on the advantage provided by the C# programming language.
If forcing people to use just the NT6 (or 7) environment for any strategy development, that will remove any advantage of using such a high-level prog language and you might as well use any kind of toy scripting language for that matter.
Obi

Comment