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

How to protect my source code

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

    How to protect my source code

    Hi Ninjas,

    I'm developing several indicator and strategies, I'd like to know is how can I protect them within my NT software from non-authorized views? For example if I'm in an office working with my automated trading using NT how can I hide'em?

    I've read secure system if you're going to export them

    Thanks

    #2
    Hello pstrusi,
    Thanks for writing in and I am happy to assist you.

    Yes, you can use the Clisecure protector to protect your code. Please refer to the below links to know more




    Please let me know if I can assist you any further.
    JoydeepNinjaTrader Customer Service

    Comment


      #3
      Thanks Joydeep for your quick response, however I still have some doubts..let's say that I export them as NT can do it under zip files, but after that: how is it supposed that I work with those zip files within my NT as usual? How can I integrate them within NT as a protected code?

      Comment


        #4
        Just re-import the zip file.

        Comment


          #5
          Hello pstrusi,
          Just import the assembly as Radical said. But you have to first remove the unprotected NinjaScript code from your machine.

          Please let me know if I can assist you any further.
          JoydeepNinjaTrader Customer Service

          Comment


            #6
            Hi guys, please help me. Need your advice.

            I would like to check the account number and don't know how to get this.
            I need this to avoid sharing my indicator.

            would like to do smth like:

            if (! accNumber.CompareTo("123456"))
            {
            Alert(message);
            return;
            }

            Comment


              #7
              Hello,

              There is no supported method to access the users account number running your strategy.

              -Brett

              Comment


                #8
                Hi, Brett

                Thank you for so quick reply.
                Can we check programatically let say machine ID or smth else which is unique for concrete person / machine / account??

                --
                Andriy

                Comment


                  #9
                  No supported NinjaScript to access to that yourself. The supported way would be to use our vendor licensing system. Please contact sales at ninjatrader dot com ATTN: Business development and ask to use the 3rd party vendor system. They will send you the requirements to do this.

                  -Brett

                  Comment


                    #10
                    in the ninja user guide it says:

                    You may want to provide other NinjaTrader users with access to your proprietary indicators or strategies in a secure format preventing them from being able to see your proprietary source code. You can do this by exporting your NinjaScript indicators as a compiled Microsoft .NET assembly (DLL) file.

                    This is a great distribution option if your proprietary indicator or strategy files do not reference external DLL's

                    Does the above mean that if I use the NT DLL (ATI) method to send orders using this command "
                    int Command(stringcommand, stringaccount, stringinstrument, stringaction, intquantity, stringorderType, doublelimitPrice, doublestopPrice,
                    stringtimeInForce, stringoco, stringorderId, stringstrategy, stringstrategyId)

                    if i use the above place order command in my NinjaScript code (is this possible to use the above "int" command in ninjascript or can it only be used in TradeStation EL codes?) does this mean i am "referencing external DLL's", is the ninja DLL (the Ninja DLL that contains all of the Ninja functions) an external or internal DLL? if i use the above place order command can i still export my ninja strategy as a compiled Microsoft .NET assembly (DLL) file, and, also then use CliSecure for protecting my NinjaScript assemblies?
                    Last edited by Rocket130713; 12-06-2013, 02:48 AM.

                    Comment


                      #11
                      Hello Rocket130713,

                      Thanks for your post.

                      Yes, you may export your NinjaScript as an assembly when referencing the internal NinjaTrader dll.
                      BrandonNinjaTrader Customer Service

                      Comment


                        #12
                        when it says:
                        This is a great distribution option if your proprietary indicator or strategy files do not reference external DLL's

                        what is an "external DLL", can you please give me an example?

                        At the moment I'm using the Ninja DLL method to send orders, as I in my tradestation code I refer to ninja functions like OrderStatus(), etc.

                        Are the ninja functions like OrderStatus() stored in an "external" or "internal" DLL?

                        thank you in advance.

                        Comment


                          #13
                          Hello,

                          Thanks for writing in.

                          These would all be items included within NinjaTrader.
                          I would recommend reading the following forum topic for an example of an external DLL.
                          Hi, I'm afraid i don't understand what you are writing. On your page i see info about DDE and no scripts . I'm using chrome. But i'm not looking for DDE or DDE libraries. Simply the code on how to call an external dll from NinjaTrader 7. Lets say i have an dll that does one thing adding two numbers. MyCalc.dll The function is AdUp(nbrfirst as double, nbrSecond as double) as double How can i use the function from the dll in ninjatrader. It could be you answered my question perfectly but …
                          BrandonNinjaTrader Customer Service

                          Comment


                            #14
                            Hi Ninjas,

                            Protecting the source code is a very important thing to care of. I've read and used ClicSecure for NT, but I've read from a couple of sources that actually that is not good enough, cause it's still possible reversal engineering; so, searching further I've came across with these people: http://www.eziriz.com/dotnet_reactor.htm which it seems pretty strong, so I have two questions:

                            1. Have you heard of them before, what your opinion?

                            2. In case positive, how should I use this new protection software ?

                            Thanks

                            Comment


                              #15
                              Hello pstrusi,
                              I took a look at the link you provided.
                              In my experience I have not used / heard of their software before. I did look into the features it has and it looks like it possibly could be used to secure a fully completed assembly that has been exported using NinjaTrader.

                              With that being said, the process of using this would be more complicated than the process that is supported through NinjaTrader. I realize that securing code is an important aspect of designing indicators and strategies. If you truly need higher security than what NinjaTrader can provide then all I can recommend is that you download their software as a demo and try to secure the assembly’s that you need higher security for. If you secure them and are able to re import or reference the assembly’s and it works then great, if it does not work then you can always look into other third party options and retry.

                              Unfortunately at NinjaTrader we can only support the methods we have in place for securing an assembly so I can’t really tell you a solid answer either way on this one.

                              Please let me know if I may be of further assistance.
                              JesseNinjaTrader Customer Service

                              Comment

                              Latest Posts

                              Collapse

                              Topics Statistics Last Post
                              Started by PaulMohn, Today, 03:49 AM
                              0 responses
                              1 view
                              0 likes
                              Last Post PaulMohn  
                              Started by inanazsocial, Today, 01:15 AM
                              1 response
                              6 views
                              0 likes
                              Last Post NinjaTrader_Jason  
                              Started by rocketman7, Today, 02:12 AM
                              0 responses
                              10 views
                              0 likes
                              Last Post rocketman7  
                              Started by dustydbayer, Today, 01:59 AM
                              0 responses
                              2 views
                              0 likes
                              Last Post dustydbayer  
                              Started by trilliantrader, 04-18-2024, 08:16 AM
                              5 responses
                              23 views
                              0 likes
                              Last Post trilliantrader  
                              Working...
                              X