Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

DLL Creation, Testing, and Distribution

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    DLL Creation, Testing, and Distribution

    After reading the help regarding DLL creation and distribution and trying a few myself, I must say it is not a very straightforward process. Furthermore, the requirement to move code files in and out of the \Custom\Indicator file to facilitate coding,DLLcreation, and DLL testing is excessive, not to mention prone to inadvertent overwriting of source code orother unintended consequences.

    It also seems to me that what is called a "vendor file" can really be called a "distribution file" sincedevelopers my not what to"vend" their workbut simplyprotect theirIP interests. In addition,developer distribution objectivesmay differ, for example:
    • Developer/Vendor centric - alldeveloper indicators in oneDLL
    • Indicatorcentric - a DLL for eachindicator
    • Suite centric - a DLL for each collection ofindicators
    • User centric - a customized DLL for each user to facilitate user authentication.
    I am sure there are pros / cons to different methods.

    The help was silent on where to place the "distribution" file so as not to confict with the DLLcompile process. I found it best to savethese files above the \bin\Custom folder in its own \Distribution folder during this process. Of course, if you want to test the DLL you've just created, as if you were in a user's environment, it would need to be moved back to the \bin\Custom folder and the original source code in \bin\Custom\Indicator placed elsewhere above the \bin\Custom folder.

    I also found it curious that once the distribution file and DLLare distributed, the end user would need toedit another indicator (not the one they just received but any other one) in order to right click on the chart to reference the DLL globally. If its a global reference, why not just add a "3rd Party Registration" selection of the Tools command on the Control Center.

    I would be very interested in learning more best practices that are in use bythe NinjaTeam or other users/developers regarding effective means to manage code, distribution files, and DLLs in this environment to streamline the process and mitigate the need for moving code about yetbe developer and end user friendly.

    I am a big fan of NinjaTrader,havebeen a DOMuser for a while, andam making great progress coming up to speedwithNinjaScript development.However, the DLL creation and distribution process was an unexpected bump in what hasbeen anotherwise smooth and enjoyablelearning curve.

    Regards,

    Whitmark



    whitmark
    NinjaTrader Ecosystem Vendor - Whitmark Development

    #2
    imported post

    Hi Whitmark,

    For sure there can be improvements made in this area. This was an area we decided to leave as is for now. As you know, sooner or later you have to draw the line and get a product into production. Thisshortcomingis recognized and on our list for development in the next major development cycle.

    At this time, any and all ideas are welcome.


    Ray
    RayNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by Kensonprib, 04-28-2021, 10:11 AM
    5 responses
    191 views
    0 likes
    Last Post Hasadafa  
    Started by GussJ, 03-04-2020, 03:11 PM
    11 responses
    3,229 views
    0 likes
    Last Post xiinteractive  
    Started by andrewtrades, Today, 04:57 PM
    1 response
    14 views
    0 likes
    Last Post NinjaTrader_Manfred  
    Started by chbruno, Today, 04:10 PM
    0 responses
    7 views
    0 likes
    Last Post chbruno
    by chbruno
     
    Started by josh18955, 03-25-2023, 11:16 AM
    6 responses
    441 views
    0 likes
    Last Post Delerium  
    Working...
    X