Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
let me first give you my opinion on protection and reverse engineering: Almost any protection can be bypassed or a code that is protected can be reverse engineered. This is usually a question of time and resources (where skill is one resource, too). The best protection always is not giving your code away. Once you give it out you are losing control over it in a way.
If you distribute an indicator in SEF format you might not find anyone willing to pay a skilled guy a couple of weeks/month to get behind your logic. If you give out the holy grail of automated trading there will be someone willing to pay any amount. But then again shame on you for giving it out
Back to the original question, let me give you some comments from the MC forums by MC support staff.
Stan Bokov wrote:
Dave Masalov wrote:
Bottom line in my opinion is that SEF protection in MC is decent enough for most cases.
Regards,
ABCTG
The following user says Thank You to ABCTG for this post:
GetUserID and GetUserName are two values MC returns and they are individual for a client. You would use it similar to the string you posted under 3.
The User ID is locked to the MC registrar and the computer MC runs on. It will be different if you install your MC on a second machine even if you use the same Registration Name and Registration Code. So a user could only use a code that is locked to a user id on one machine.
The user name is the same even on different machines if the installation was done using the same Registration Name and Registration Code. As MC prevents you from using two copies with realtime data using the same user name at the same time this can be a more convenient way of protection for the user.
Regards,
ABCTG
The following user says Thank You to ABCTG for this post:
Considering that reverse engineering is always possibile, the only way to fully protect a code is to make disadvantageous the dectyption work, making it more expensive than the content of the code.
So, how much cost approximately a decryption work for a MC code, secured with SEF protection and password ?
To summarise, if MultiCharts uses 256 bit encryption, then there doesn't seem to be enough money in the world to pay for a brute force decryption attempt.
However, hiring a team of programmers/hackers to find a bug in the encryption process that's used by MultiCharts is always an option of course, and something that's much cheaper (relatively speaking). Or hack into your computer or eaves-drop on your internet connection, which is likely more affordable. Or even cheaper would be to travel to your home with a gun and force you to hand over the algorithms.
That's pretty grim; I'm just saying that there are a range of options that someone could employ if they really wanted your algo's. In other words, if you're really really paranoid, then the encryption with SEF files probably need to be the least of your concerns.
The following user says Thank You to Jura for this post:
There is no built-in password protection for studies in MultiCharts .Net. The most effective protection is to move the main part of the code into C++ library and then reference this library from C# study.