MQL code authorship protection in MT5. - page 9

 
hrenfx:

There are EAs that have history sewn into them. Or which are able to read history from history base. Such dummy EAs show remarkable results in the tester. Will there be any protection against this kind of fraud? Especially if the Expert Advisor is delivered together with a DLL.

How will the service fight for its reputation in case of MQL5-code + malicious DLL (from spyware to viruses)?

Nothing will be sold with DLL. This is our conscious move.

The fight against stubborn entry points will be simple - we will specifically implement the standard ways of aggressive testing mode, including auto-shift of history to detect blatantly deceptive EAs.

 
Renat:

Nothing will be sold with the DLL. This is a conscious move on our part.

The fight against stubborn entry points will be simple - we will specifically implement the standard ways of aggressive testing mode, including auto-shift of history to detect blatantly deceptive Expert Advisors.

well, if there will be no shops with DLL, then be kind enough to fill the section https://www.mql5.com/ru/code/libraries with quality code, here is a prime example of already existing library http://imglink.ru/pictures/09-11-10/3fc300a90666621bcc2d74447db572f3.jpg - a lot of information and comments, take it and use it ;)

So that one could look there and get the ready-made mql5 library - without bugs and with a specific description of functions, and the names of functions should look similar in C or Delphi

SZZ: here is a concrete example: spent a day translating library of wavelet transforms into mql5, came across the fact that in mql5 it's impossible to work with multidimensional dynamic arrays, tried to use structures, after writing code I got a semblance of a wavelet transform in mql5, with countless checks and errors. I don't know, connect a DLL and use a ready solution. I think that if I get into genetic algorithms, it would be easier to find a third party DLL with a description than in mql5 library at this stage

MQL5 Code Base: Библиотеки
MQL5 Code Base: Библиотеки
  • www.mql5.com
Библиотека исходных кодов на языке MQL5 для MetaTrader 5
 
YuraZ:

Does it really raise a question? The one who sells, of course, will bind

It takes me between 1 and 5 minutes...

Once the data is received the automatic generation of the release is done,

and everything is solved, right down to automatic release changes...


Or maybe the idea goes further, you sleep and the software is bought from an automated system on the web ? :-)


well, with a little oversight, you can do that too! right on the www.


1-Binding to the same WM payment services

after the payment n 2 3 4

2 - The customer enters his personal data for personalisation, in special fields

3-generation release

4-mailing the release


this also can be solved all ! I do not see a problem !









There is an author, a shop and a buyer. From the moment the author has put his goods in the shop should be considered that he had flown to the moon. Sales should be carried out by the shop without the involvement of the author.

If there has to be a link to the account, it has to be done by the shop. It is possible to steal almost everything, it is a question of money to be spent on it,

defending everything is a matter of money (security is a profitable thing). It is obvious that the protection of a conventional diamond shop and the protection of a software shop

at a price of 5 to 500 Euro, will be different. There is no limit to perfection, it is only a matter of profitability.

 
Renat:

The struggle against the points of entry will be simple - we will specifically implement the usual methods of aggressive testing, including auto-shift of history to detect outright cheating Expert Advisors.

Then consider how you will deal with arbitrage EAs. The arbitrage EA is equal to all aggressive testing modes:

The more aggressive the mode, the lower the profit. But there will always be profit. And only in the tester.

Moreover, it is one thing if arbitrage is considered as a special case. For example, it is only in one of three: EURUSD, GBPUSD and EURGBP.

And it is another thing when the arbitrage is universal: thousands of versions of threes and fours are considered and arbitrage fluctuations are caught (there is such a variant available in MQL4, which also works in the netting mode and requires minimal rework in MQL5). With such an EA, no aggressive mode will help.

P.S. Arbitrage Expert Advisor can be exposed only by means of history. No, this is not the same old chorus. We can make a super-mode tester that tests, for example, only for one day on the tick history. And the tick history is not taken from the trading server, but is collected by itself. I.e., if a user wants to test in the super-mode, let him keep the terminal online during 24 hours to collect ticks.

P.P.S. Moreover, if the terminal collects ticks and provides access to the collected ticks through MQL5, it would be much easier to create EAs for statistical arbitrage, that really exists in exchanges. For example, the RTS index and its futures. I agree, the collection of ticks can be implemented with MQL5 tools and even the access to the collected and collected ticks can be organized for any program in MQL5, but the solution is not very good.

 
Mischek:

There is an author, a shop and a customer. From the moment the author displays his product in the shop, he must be considered to have gone to the moon. Sales should be made by the shop without the author being involved.

If there has to be a link to an account, the shop has to do it. It is possible to steal almost everything, it is a question of money to be spent on it,

defending everything is a matter of money (security is a profitable thing). It is obvious that the protection of a conventional diamond shop and the protection of a software shop

at a price of 5 to 500 Euro, will be different. There is no limit to perfection, it is only a matter of profitability.

Well, then the shop is given functionality to bind - binding takes 5 minutes

In addition, you can also automate tying ...

when you buy something online the buyer enters their account number or name and gets the product

the presence of a developer is not required


I do not see a problem!


--


In general, the original question was about something else - how to bind to hardware or specifically to the account number and name

I'm for binding to name or account number... and against binding to hardware.


at one time I wrote protections that were bound to the iron oddly enough but always found an iron that caused problems

the world is so diverse - and those who deviate from the standards are not few ...

--

for example there are those... I'm not going to write it down, they have a pair of EURUSD called _EURUSD or EURUSD_ for some reason

or EURUSDx...

I just don't understand why they call a pair as it's not called?

Like Ostap said, they should be killed.

--

that's the way it is with hardware... it happens

there's always some ... ...producer... who will make trouble for nothing.

--

Again, I described the inconvenience to the end user

There will be problems with UPGRADE - the inconvenience of working with the product on different machines and so on


but there is an excellent option within the specifics of our - account number or name - if real, to which you can bind


A trader takes the product and may work on it in his account only!

A trader does not depend on the hardware, it may be a laptop, a home computer or even a hotel rental at the resort

and the other is not interested in such a product, the perfect linkage ...


i can't believe it's a real account number and not a product that i would want to link to other traders, it's the perfect link.

I am sure he will answer that my option is better ...

 

Renat:

The best way to look at a working sales scheme is through Apple's AppStore/iTunes. The buyer simply clicks in and purchases the software, without the hassle of having to hand anything over or use keys. A customer just needs to have an MQL5.com account, where they can keep their purchase history and reactivate previously purchased programs.

i just got a live demonstration from an iPhone4 owner of how purchases are made at the appstore. there is a point there: the product being purchased is tied to a hardware id of his phone and will only work on it. this is correct and very sensible for the phone. the phone cannot be upgraded without changing it: for example, the memory, "video card", network cards / interfaces cannot be changed. therefore this hardware connection guarantees the use only by those who bought it on their own phone.

But in our case, the situation is fundamentally different. i am not talking about the situation when you buy new drives, video cards, or the motherboard. i buy an expert that can work on ANY computer. for example, i bought one expert and i will absolutely honestly use it on THREE machines: at home - on my home PC, on the way to work - on a netbook, at work - on the work PC. i can also go on a business trip on a notebook provided by me. Notice - everything is completely fair and legal: I've bought one product and am only using one copy at a time!

If you make the sale ONLY tie to the hardware - you are depriving THIS honest customer of an honest experience with the purchased product. There is only one way out - online activation: I can register a bunch of hardware, but when my Expert Advisor starts, it has to go to mkl5 site to see if the hardware it is currently running on is there and allow it to run on that, while preventing the operation on the other registered hardware. Won't your shop servers feel bad from such load! They can handle it 24/7 (=365) without any temporary absence of site (forum can wait for 503 while EA will never get such delay)?

so your assertions

Which protects the seller much better than keys

и

Our goal is to make the buying/selling process as easy as possible.

of course correct but, this protects the seller simplifies the buying/selling process for YOU but completely discourages you from buying anything for yourself (I personally would not buy anything in the situation I described) and thus, develop something to sell.

Another point that is fundamentally different from selling Aplon toys and music: I can look at the toy on someone else's phone and buy myself the same, I will be 100% that I will have the same toy. But with experts the situation is completely different: an expert with a normal "cutting" deposit of 10K simply will not set normal stops on a $100 deposit, or will not work there due to an error of 130 or the allowable 10K drawdown will take away the $100 deposit in one or two trades.

So i still come back to my suggestion to consider not only selling mechanism but also providing demo or trial (restriction on launch dates, running time, demo account, ... ).

 
ForexTools:

The only solution is online activation: I can register a bunch of hardware, but when I start up the expert has to go to the mcl5 site to see if the hardware it is currently running on is there and allow it to run on it, while preventing it from running on the other registered hardware.

I like the idea very much. A few comments:

  1. The EX5 file is distributed free of charge and contains (in addition to the strategy) an analysis of the iron on which it is running, its identifier and the ability to link to a common database (paid by all users of the EA) of approved iron configurations to run it on the real accounts (not the tester).
  2. User purchases only a cell of the hardware configuration database for the EA he wants to use.
  3. User can change the hardware configuration as many times as he wants.
  4. All the time the EA is connected with the hardware database and asks it whether it can work or not.
  5. The hardware database can contain as many simultaneously active configurations as the user has paid for.
  6. If the user wants the Expert Advisor to run on 11 computers instead of 10 (as now) different computers at the same time, he must pay for this, after which the list of allowed configurations (in the Personal Cabinet) is increased by one item.

I.e. the EX5-file is available to all comers. It will work only on as many configurations of hardware (individual computers) as users have paid in total.

The weak link:

  1. The need for constant communication with the database of approved iron configurations. I.e. the shop will have to handle a huge number of simultaneous requests - the number of simultaneous running of all the ever freely distributed EX5 files in the shop (this may be millions of requests per second). And these are only valid requests. And you can also organise a query attack... which has to be sustained. An expensive solution.
  2. It is always possible to copy actions of an EA on an investment account.
  3. In any case, there will be a comparison somewhere in the EX5 file:
if (CurrentHardware != AllowHardware)
  return;
which will not be hard to find and "comment" (but this is a known problem of all protections and has a lot of solutions of different level of reliability (difficulty of breaking)). In fact, the comparison of the iron with the base will take place in the shop itself, and the advisor will get the result of the comparison (this is necessary so that allowed configurations can't be recognized). But the "commenting" problem will still be present.
 

Our position on automatic protection when selling through our shop:

  1. There will be no binding to account numbers - the user must have the right to run the program on any broker and any account.

    In addition, secondly, there may be no active login or server at the moment of launching the program - the system should not screw the user on delayed account activation.

  2. The buyer only clicks on the "Buy" button using his MQL5.com account and does not disclose anything else.

    Seller can see sales reports with buyer's login details. If the buyer and seller have any questions, they can discuss them in person. Buyers can publicly comment on products purchased and rate them, and sellers have the right to reply.

  3. There will be no "permanent licence checks on the site" mechanism - it's a fabulous failure point that will threaten the entire sales and licence control system.

    It's not even up for discussion. The software purchased must work offline.

  4. Any program sold (indicator or expert) can be downloaded for free and unconditionally for testing in the tester. The seller cannot refuse this opportunity.

    In this case, the demo program is specially automatically recoded and encrypted with the possibility to decrypt and run only on the testing agent. The program cannot even be decrypted and run in the terminal.

    The purpose of the demo-version is an unconditional and obligatory opportunity to verify the seller's honesty and correctness of the program.

  5. Any program should pass our tests (similar to Automated Trading Championship) to evaluate its stability and absence of fraud and outright errors.

    Our goal is to reduce the level of blatant cheating by the grail sellers. Each expert will have their stress test results publicly available.
  6. Each copy of the program sold by EX5 is recompiled into native code, re-protected for the buyer's hardware and signed with our key.

    This protects the seller as much as possible. The customer has a right for up to 3 activations of purchased software on different hardware. Most likely, the seller will be allowed to increase the number of activations to a reasonable amount, but not less than 3.

  7. The ideology of a limited number of activations is based on the seller charging a reasonable price.

    The seller, with a strong licensing control system for its products, should charge a reasonable price. That is, the price should be cheap enough to allow a wide range of users to buy the program even repeatedly (when previous activations have expired).

Selling software is a business.

Therefore, sales should be built from a business perspective, not from a programmer's approach. It is better to trust our experience and capabilities in this matter.

Especially in light of the fact that we will give our shopkeepers direct access to 100% of all terminal users. And this costs much more than the expected 10% commission on sales.

 
well, it's a very convenient approach. for the developer, the question "why can't you make me a demo, a trial, ....? ...." - there is always an excuse - "it's because the developers of the terminal didn't provide for such a possibility" - you may find advantages for yourself ;)


Renat:

In this case the demo program is specially automatically re-encrypted and encrypted with the possibility to decrypt and run only on the test agent. In the terminal, the program cannot even be decrypted and run.

What about the scripts that work on the reset to the chart? Of course, their number will be very small compared to the total volume, but nevertheless: how should I check them in the tester or use the visual testing mode?
Визуализируй стратегию в тестере MetaTrader 5
Визуализируй стратегию в тестере MetaTrader 5
  • 2012.06.08
  • MetaQuotes Software Corp.
  • www.mql5.com
Каждому из нас давно знакома поговорка "Лучше один раз увидеть, чем сто раз услышать". Вы можете прочитать десятки книг о Париже или Венеции, но мысленные образы не позволят вам испытать те же ощущения, как от прогулки по их вечерним улицам. Преимущество визуализации, или наглядного представления, может быть легко спроецировано на любой аспект нашей жизни, включая и работу на рынке, например, анализ цен на графиках при помощи индикаторов, и конечно же, визуализация тестирования стратегий. В данной статье собраны все возможности тестера стратегий MetaTrader 5 по визуализации вычислений.
 
Renat:

Any program has to pass our tests (similar to Automated Trading Championship) to assess the stability and absence of fraud and outright errors.
Our task is to reduce the level of blatant cheating by the grail sellers. Each expert will have their stress test results publicly available.

What about arbitrage testers? It's not even a question of the shop, but of the reputation of the tester's results.