Protecting code - NinjaTrader Programming | futures io social day trading
futures io futures trading


Protecting code
Updated: Views / Replies:11,795 / 30
Created: by sam028 Attachments:0

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors Ė all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you donít need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Reply
 
Thread Tools Search this Thread
 

Protecting code

  #21 (permalink)
Elite Member
Austin, TX
 
Futures Experience: Advanced
Platform: NT/Matlab
Broker/Data: Interactive Brokers
Favorite Futures: FX majors
 
sefstrat's Avatar
 
Posts: 285 since Jun 2009
Thanks: 20 given, 749 received


piersh View Post
any strategy that's for sale is obviously not good enough to make the inventors a ton of money

Well said.

I think usually the reason indicator/strategy salespeople want to hide their code is because customers would be infuriated if they could see the implementation. They would see instantly that they'd been duped.

Anything that is actually good and worth protecting would very likely have an implementation that few people would be able to understand anyways..

Reply With Quote
 
  #22 (permalink)
Trading for Fun
Dallas TX/USA
 
Futures Experience: Advanced
Platform: NinjaTrader
Broker/Data: AMP/CQG
Favorite Futures: ES
 
Posts: 154 since Jun 2009
Thanks: 33 given, 281 received


sefstrat View Post
I think usually the reason indicator/strategy salespeople want to hide their code is because customers would be infuriated if they could see the implementation. They would see instantly that they'd been duped.

... that reasoning doesn't really generalize out to nearly all commercial digital products, where companies attempt to control what you can and can't do with them. It's not always necessarily an attempt to "dupe" people. It's about money. The people that are additionally duping you are just scum.

Not to mention, the majority of duped people will have no programming knowledge, and would say "wow" at the code for an SMA anyway. So, I really can't agree with your reasoning.


Quoting 
Anything that is actually good and worth protecting would very likely have an implementation that few people would be able to understand anyways..

You don't have to understand it to cut and paste it into the public domain. I should know... I started releasing things in open-source form so that people could study and adapt it, and the next thing I know people are posting it all over the place against my explicit wishes. If I cared about making money from the indicators, I'd have pretty much no choice but to try to protect the code. It would have nothing to do with duping people.

Reply With Quote
The following user says Thank You to Richard for this post:
 
  #23 (permalink)
 Vendor: www.tradingstudies.com 
Denver, CO
 
Futures Experience: Intermediate
Platform: NinjaTrader
Broker/Data: Amp Futures/Zen-Fire
Favorite Futures: TF, ES, CL
 
roonius's Avatar
 
Posts: 132 since Jun 2009
Thanks: 20 given, 272 received



Richard View Post
... that reasoning doesn't really generalize out to nearly all commercial digital products, where companies attempt to control what you can and can't do with them. It's not always necessarily an attempt to "dupe" people. It's about money. The people that are additionally duping you are just scum.

Not to mention, the majority of duped people will have no programming knowledge, and would say "wow" at the code for an SMA anyway. So, I really can't agree with your reasoning.



You don't have to understand it to cut and paste it into the public domain. I should know... I started releasing things in open-source form so that people could study and adapt it, and the next thing I know people are posting it all over the place against my explicit wishes. If I cared about making money from the indicators, I'd have pretty much no choice but to try to protect the code. It would have nothing to do with duping people.


From my experience about 90% of commercial indicators are free indicators with hidden settings and colors and changed names.

Take a SMA, rename it into HolyGrailLine, change period setting to 43, add "cool" template with nice looking colors and sell it for $1500. I bet someone will buy it.
But don't forget to protect the code so it will be "harder" to figure it out that it is really SMA.

I am not telling that every commercial indicator is done that way.

From the other hand - if you really developped something "cool" and your product is really worth hacking, there simply no way to protect it... sooner or later it will be hacked.

Reply With Quote
The following 3 users say Thank You to roonius for this post:
 
  #24 (permalink)
Elite Member
Austin, TX
 
Futures Experience: Advanced
Platform: NT/Matlab
Broker/Data: Interactive Brokers
Favorite Futures: FX majors
 
sefstrat's Avatar
 
Posts: 285 since Jun 2009
Thanks: 20 given, 749 received

Richard, I don't blame you for trying to protect your code, from what I've seen you are one of the few honorable indicator vendors who actually writes code and comes up with original ideas.

I was only making a generalization based on my experience which is like that of roonius, that most indicators are either repackaged open source code or extremely simple code masquerading as something complex. Most of them probably have 10x more time spent developing marketing material than the actual products themselves, sadly..

Reply With Quote
The following 3 users say Thank You to sefstrat for this post:
 
  #25 (permalink)
Trading for Fun
Dallas TX/USA
 
Futures Experience: Advanced
Platform: NinjaTrader
Broker/Data: AMP/CQG
Favorite Futures: ES
 
Posts: 154 since Jun 2009
Thanks: 33 given, 281 received


roonius View Post
From my experience about 90% of commercial indicators are free indicators with hidden settings and colors and changed names.

I'm not contesting that, but...


roonius
But don't forget to protect the code so it will be "harder" to figure it out that it is really SMA.

... this is the part that just doesn't match up with my experience. I've coded up stuff for a number of vendors, and not once has any of them told me they were concerned about people figuring out how simple their stuff was. What they all have been explicitly and persistently concerned about was keeping people from sharing their code without getting paid.

I think people with programming ability tend to project their knowledge onto the average consumer. In my experience, you could show consumer Joe the code for your "special" SMA, and even show them the standard Ninja SMA code for comparison. You might lose the customer, but it would be because of boredom and not outrage.


Quoting 
From the other hand - if you really developped something "cool" and your product is really worth hacking, there simply no way to protect it... sooner or later it will be hacked.

I agree with that, too, but at least for now you can still get plenty of honest people to pay even if a pirate version is out in the wild. In a few years, as children of the internet become the consumers, it will be interesting to see if that's still the case.

Reply With Quote
 
  #26 (permalink)
Elite Member
Austin, TX
 
Futures Experience: Advanced
Platform: NT/Matlab
Broker/Data: Interactive Brokers
Favorite Futures: FX majors
 
sefstrat's Avatar
 
Posts: 285 since Jun 2009
Thanks: 20 given, 749 received


Richard View Post
I've coded up stuff for a number of vendors, and not once has any of them told me they were concerned about people figuring out how simple their stuff was. What they all have been explicitly and persistently concerned about was keeping people from sharing their code without getting paid.

I think people with programming ability tend to project their knowledge onto the average consumer. In my experience, you could show consumer Joe the code for your "special" SMA, and even show them the standard Ninja SMA code for comparison. You might lose the customer, but it would be because of boredom and not outrage.

True, however it only takes a few knowledgeable users to spread the word. Once word gets out on the various trading forums that some commercial indicator is a fraud or ripped from a free indicator or just not good or whatever, they are going to have a hard time finding customers.

Reply With Quote
 
  #27 (permalink)
Trading for Fun
Dallas TX/USA
 
Futures Experience: Advanced
Platform: NinjaTrader
Broker/Data: AMP/CQG
Favorite Futures: ES
 
Posts: 154 since Jun 2009
Thanks: 33 given, 281 received


sefstrat View Post
True, however it only takes a few knowledgeable users to spread the word. Once word gets out on the various trading forums that some commercial indicator is a fraud or ripped from a free indicator or just not good or whatever, they are going to have a hard time finding customers.

I respectfully disagree yet again, as many indicator consumers do not frequent trading forums. People such as yourselves are relatively sophisticated, but try to remember that many many people are not like you. A lot of my past customers breathed a sigh of relief if their computer came up properly and they didn't need any help making ninja start up. As a result, the wailing and gnashing of teeth that forum participants do against outright frauds don't usually give them that much trouble.

To put it another way: Remember the time that fraud was exposed on that forum and then they went out of business because they couldn't find customers? Yeah, neither do I.

Reply With Quote
 
  #28 (permalink)
Elite Member
Crete, IL/USA
 
Futures Experience: Intermediate
Platform: NinjaTrader, Mt4
Broker/Data: Tradestation/Tradestation, NinjaTrader, FXCM and Tallinex
Favorite Futures: ES, CL, EUR/USD, TF
 
spinnybobo's Avatar
 
Posts: 171 since Aug 2009
Thanks: 99 given, 48 received


sefstrat View Post
managed interop is as simple as..

using System.Runtime.InteropServices;

then inside your class define method signature from c++ dll, for example:

[DllImport("myUnmanagedDll.dll")]
private static extern bool MethodName(float Open, float Close, float High, float Low, int dateStamp, out float var1, out float var2, out float var3);

then you can just call it like a normal managed method =)

But yeah if you are really interested in security then keep the sensitive parts on the server side, that is the only way to guarantee they can't be decrypted/deobfuscated. Then the only issue is latency but that is probably workable as long as you aren't doing very high frequency trades.


actually it is not this easy to call a custom .dll from another program via Interop because don't you first have to "register" it first with COM ?

once that is done I believe everything else is pretty easy. this is what I am trying to figure out in terms of making trading bridges between Ninja and other trading applications.

Reply With Quote
 
  #29 (permalink)
Elite Member
Chicago, IL
 
Futures Experience: Beginner
Platform: NinjaTrader
Favorite Futures: WTI Crude
 
Trajan's Avatar
 
Posts: 3 since Jul 2014
Thanks: 5 given, 1 received

Protecting code using Machine ID

Hi All,

Would anyone be able to provide some guidance as to how to implement using Machine ID's to lock an indicator to someone for use?

I'm not a vendor or anything but there might be an opportunity for me to program for some people at school who don't want to learn. Not a bad way for me to make some spare cash and actually get some good business experience.

At least some hints as to the proper keywords or areas for me to try and research would be really helpful.

Thanks a lot.

Reply With Quote
 
  #30 (permalink)
Elite Member
Omer עומר / Israel י
 
Futures Experience: Master
Platform: NinjaTrader, Proprietary,
Broker/Data: Ninjabrokerage/IQfeed + Synthetic datafeed
Favorite Futures: 6A, 6B, 6C, 6E, 6J, 6S, ES, NQ, YM, AEX, CL, NG, ZB, ZN, ZC, ZS, GC
 
rleplae's Avatar
 
Posts: 2,494 since Sep 2013
Thanks: 1,705 given, 3,700 received
Forum Reputation: Legendary


There are commercial products with a hardware USB dongle that are pretty 'ok' as a protection.
it gives the customer the ability to move from machine, change hardware without any problems
and he will only be able to run one instance at a time..

The usual obfuscators will not stop anybody from reverse engineering or decompiling the code.

If you link your software to the machine, you will have to be 'bothered' every time they change
the hardware, as the machine ID will change.

You might like this article :

Generating Unique Key (Finger Print) for a Computer for Licensing Purposes - CodeProject

Reply With Quote
The following user says Thank You to rleplae for this post:

Reply



futures io > > > > > Protecting code

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)

Jigsaw Trading: TBA

Elite only

FuturesTrader71: TBA

Elite only

NinjaTrader: TBA

Jan 18

RandBots: TBA

Jan 23

GFF Brokers & CME Group: Futures & Bitcoin

Elite only

Adam Grimes: TBA

Elite only

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Common code re-use LostTrader NinjaTrader Programming 12 October 5th, 2011 06:50 PM
Protecting Your Retirement Portfolio Against Inflation Quick Summary News and Current Events 0 April 25th, 2011 07:20 PM
Can someone code this ? skyfly NinjaTrader Programming 8 April 25th, 2011 01:40 PM
Help with code error kashter NinjaTrader Programming 10 March 8th, 2011 12:16 PM
Protecting the cumulative profit target in an automated strategy nanobiotech NinjaTrader Programming 4 April 1st, 2010 12:24 PM


All times are GMT -4. The time now is 09:35 AM.

Copyright © 2017 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts
Page generated 2017-12-14 in 0.18 seconds with 19 queries on phoenix via your IP 54.82.56.95