MQL code authorship protection in MT5. - page 11

 
Mischek:

I don't know about the synchronicity of tick generation in the MT5 tester. And on stress tests, it's going to be a grail.

Exactly, it's a tester grail. Or we should make an arbitrage mode of the tester, where the simulated ticks between symbols will be generated without arbitrage. Such a simulation mode would be much heavier (resource intensive) than the classical one.
 
hrenfx:

I gave you the link to the EA description. Ask Rosh, maybe he can explain the described and implemented arbitrage principle and the threat it poses to your multicurrency tester. I think that people, who are familiar with this topic, will also confirm that there is a threat and it is not imaginary.

The easiest way to show it is to rewrite the MQL4 Expert Advisor in MQL5 and run it in the Strategy Tester. Make sure that no stress tests on simulated ticks help.

Such an EA will surely appear in CodeBase one day. And people will embed it in their EAs like the Equity puller in the tester.

How you can fight it, I do not know. Ticks in a day will not help here.

I have read the link and found it to be absolutely non-functional. The reasons - slippage and delays will make such a strategy lose money. Those who have tried this Expert Advisor in practice have been burned immediately.

Obviously, you're not aware of the capabilities of the MetaTrader 5 tester. It already has the "Arbitrary delay" testing mode in several builds, which leaves no chances for Expert Advisors aimed at instant and unconditional execution.

Roughly speaking, in this testing mode the said EA will instantly start losing money.


Write/rewrite your "arbitrage" Expert Advisor for MetaTrader 5 and try it in the specified mode. After that, we'll discuss the matter again.

 
Theoretically, in this case the delay is as likely to produce a loss as it is to produce a profit
 
Renat:

Apparently you are not aware of the MetaTrader 5 tester's capabilities. It already has the "Random Delay" testing mode for several builds, which leaves no chance for Expert Advisors aiming for instant and unconditional execution.

Where can I see a description of "random delay" (not in general terms)?

There is an interesting situation here. You know very well that there are ECN-networks, which execute limiters instantly and you can put them inside the spread. This is not pipsing or anything like that. It is simply putting an order into the market and executing it. No more and no less. You also know that exactly the same principle applies to the exchanges which you are going to connect to the MT5.

Are you going to execute limiters with huge slippages in the tester? Rewriting arbitrage to enter the market not from a market, but from a limiters slightly worse than the market is not a big problem.

And you're going to absolutely market limit execution mechanism in your tester? So many market strategies will get killed in your tester, even though they will work.

For example, the strategy of statistical arbitrage (pair trading, spread trading) with the mode of huge slippage of Limits in the tester will simply kill it. So not only this mode is not marketable (even kitchens do not practise negative slippage of limits), but you will mislead: that statistical arbitrage is not a working strategy.

Although it works great in the market.

P.S. And in general, not going to argue. I only warned. The results of the tester will have to be considered again with a lot of assumptions and suppositions.

 
hrenfx:

Where can I see a description of the "random delay" (not in general terms)?

As usual, in the built-in help (F1 in the tester window):

Arbitrage delay

The random delay mode is intended fortesting Expert Advisors in conditions close to real. From the moment an order is sent until it is executed, the price can change. Depending on the deviation set in the order, it may be executed at the current price (if it is within the deviation) or requoting. Testing in this mode allows you to correctly program the Expert Advisor to handle such situations.

A delay is imitated for all trade requests sent from the terminal (placing of orders, change of stop levels, etc.). The delay in execution is implemented according to the following principle: a random number from 0 to 9 is selected and the delay is implemented for the same number of seconds; if the selected number is 9, another number from the same range is randomly selected and added to the first one. Thus, the probability of a 0-8 second delay is 90%, and the probability of a 9-18 second delay is 10%.


Here we have an interesting situation. You know very well that there are ECN networks that execute limiters instantly and can be placed inside the spread. This is not pipsing or anything like that. It is simply putting an order into the market and executing it. No more and no less. You also know that exactly the same principle applies to the exchanges which you are going to connect to the MT5.

Also there are commissions and unlimited slippages, which will make "arbitrage" strategies even worse. ECN is not an improvement in trading conditions, but rather a deterioration.


Are you going to execute limiters with huge slippages in the tester? Rewriting arbitrage to enter the market not from a market, but from a limiters slightly worse than the market is not a big problem.

And you will absolutely market limit execution mechanism in your tester? So many market strategies will get killed in your tester, even though they will work.

You probably think that there will be 100% probability of your orders being instantly filled on the exchange? This is a conceptual miscalculation due to the lack of practice.


For example, the strategy of statistical arbitrage (pair trading, spread trading) with the mode of huge slippage of Limits in the tester will simply kill this strategy. So not only this mode is not marketable (even kitchens do not practise negative limit slippage), but you will mislead: that statistical arbitrage is not a working strategy.

You will have an excellent opportunity to refute the aggressiveness of the trading strategy tester with a real time stream.


Although it works great in the market.

It's not "great", it's very much "opaque, unreliable and closed". It doesn't even show the list of trades publicly (only the author is allowed to see his own trades!).

When they will create an analogue of Automated Trading Championship with instant display of all trades and execution logs, then we will be able to talk about "excellent" (and in respect of arbitrage as well).

Automated Trading Championship 2010
  • championship.mql5.com
Automated Trading Championship 2010
 
hrenfx:

P.S. Anyway, I'm not going to argue. I just warned you. The results of the tester will have to be considered again with a lot of assumptions and suppositions.

Instead of arguing, just post here the results of the "arbitrage" expert in the MetaTrader 5 trading strategy tester.

 
Renat:

Instead of arguing, just post the results of the "arbitrage" expert here in the MetaTrader 5 trading strategy tester.

that's it! :)

interesting question about

Renat:

Any program has to pass our tests (similar to the 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 does this look like? i understand that the source code of the programme must be provided to you?
 
Renat:

There are also commissions and unlimited slippage, which will make "arbitrage" strategies even worse. ECN is not an improvement in trading conditions, but rather a deterioration.

As someone who practices trading on Currenex (> 20 LPs (liquidity providers). Not MT or Viking, of course), I know what I'm talking about.

You probably think that the exchange will be 100% likely and instantaneous to feed your orders? This is a conceptual miscalculation due to lack of practice.

I am aware of the peculiarities of High-Frequency Trading. I was talking about the mechanism of orders execution in the market.

It's not "great", it's very much "opaque, unreliable and closed". Not even a list of trades is publicly shown there (only the author himself is allowed to see his own trades!).

The history of deals is available (but not for the current day. There are also independent visualizers of performed deals). There is no need to imply that the exchange falsifies such results for the purpose of self-popularization.

 
IgorM:

what does it look like? I understand that the source code of the programme has to be provided to you?

There is no need to provide the source code, the software in the shop is provided in compiled EX5 form.

Stress tests do not require source code.

 
Renat:

Instead of arguing, just post the results of the "arbitrage" expert in the MetaTrader 5 strategy tester.

Let's lay it all out on the shelf. If I present an arbitrage Expert Advisor as a grail in the tester, who gets what benefit?

Let's reason like businessmen, not garden boys.

You will benefit (in real, monetary terms) as a counter-example to your work will be presented. And you will think about how to improve the tester. As the adequacy of the tester is your reputation and money.

What do I get? Of course, the garden boy will get a satisfied ego, some will even praise. But I haven't needed that for a long time, and neither have you.

We can make a deal, I present you with a counter-example and you pay me $5000 (and needless to say, that's a lot, as I represent Metaquotes turnover...). This is a mutually beneficial offer, as both you and I will benefit from it. If I don't present a counter-example, no one loses anything.

And don't get the idea that I'm taking "the easy way out". It would be disrespectful to my Family to work for free.