MQL code authorship protection in MT5. - page 10

 
ForexTools:

What about the scripts that are based on resetting to chart? they will of course be rather few in number, but nevertheless: how can they be checked in the tester or will there be a visual testing mode?

Scripts are not checked in the tester, but their "useful work" is much easier to control (errors and direct cheating in scripts is much lower than in Expert Advisors).

That is, for scripts, visual confirmation is sufficient: descriptions, screenshots, reports and logs.

 
hrenfx:

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

Very simply - if you see hundreds of scalper deals with paltry profits, you should draw the appropriate conclusions.

For our part, we will:

  1. we will add aggressive modes of testing, including artificial disturbances in the generation of multicurrency flows - this will immediately show the failure of arbitrageurs, who fit the model of tick development
  2. reports will include human recommendations of the"number of trades and profit per trade clearly point to ......" type
Our task: to explicitly instill in traders the position "an Expert Advisor can be considered robust only after passing N standard MetaTrader 5 tester stress tests".
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 
Renat:

Very simply - if you see hundreds of scalper trades with paltry profits, then conclusions should be made accordingly.

You apparently do not understand what arbitration is. There can be hours between trades. There are multi-currency hedges all the time, so you can go twenty-four hours without making a trade, only the swaps will be negative.

Again, no amount of stress testing based on tick simulation will kill an arbitrage robot. Arbitrage is not pipsing or scalping at all.

Look at the multi-currency hedge (no matter how the market behaves, Equity will stand virtually still):

An example of a multi-currency hedge. Equity is almost independent of the market.

This follows simply from the fact that the amount of each currency available (if you count the open positions) is zero (see top right corner on the screenshot).

P.S. This is a huge threat to the reputation of the MT5 tester. Any Expert Advisor can be extended with an arbitrage (thank God the OOP allows that easily), and if the Equity Tester is not going the way you want, include arbitrage. When it gets better, it is to be disabled. It is unreal to guess where arbitrage is activated, and where the classic trade is. And the tester will show the lie.

P.P.S. It will turn out that the tester can be trusted only on monocurrency.

 
hrenfx:

You apparently do not understand what arbitration is. There can be hours between trades. There are multi-currency hedges all the time, so you can go twenty-four hours without making a trade, only the swaps will be negative.

Again, no amount of stress testing based on tick simulation will kill an arbitrage robot. Arbitrage is not pipsing or scalping at all.

Look at the multi-currency hedge (no matter how the market behaves, Equity will stand virtually still):

This follows simply from the fact that the amount of each currency available (if you count the open positions) is zero (see top right corner on the screenshot).

P.S. This is a huge threat to the reputation of the MT5 tester. Any Expert Advisor can be extended with an arbitrage (thank God the OOP allows that easily) and if Equity has not gone the way you want, include arbitrage. When it gets better, it is to be disabled. It is unreal to guess where arbitrage is used and classical trading is used. And the tester will show the lie.

P.P.S. It will turn out that the tester can be trusted only on monocurrencies.

give your definition of arbitrage, no pictures
 
Mischek:
Give me your definition of arbitrage, no pictures
The only place I know where arbitrage is fully explained is the Trade-Arbitrage EA description.
Trade-Arbitrage - MQL4 Code Base
  • www.mql5.com
Trade-Arbitrage - MQL4 Code Base: советники и эксперты для МетаТрейдера
 
hrenfx:
The only place I know where arbitrage is fully explained is the Trade-Arbitrage EA description.
I wanted it to be unreferenced, short and generally accepted
 
Mischek:
Wanted to be unreferenced, short and to the point

Tomato1 is sold cheaper than Tomato2 is bought (and vice versa).

Tomato1 and Tomato2 are priced the same 99.9% of the time within the spread. This is not the case in the tester.

 
hrenfx:

You apparently do not understand what arbitration is. There can be hours between trades. There are multi-currency hedges all the time, so you can go twenty-four hours without making a trade, only the swaps will be negative.

Rather you don't describe your question clearly enough, attributing some indirectly appropriate processes to the well-established notion of arbitrage.


You asked the following question, promoting the idea "the tester has a problem with tick prediction, it can be fought with real tick history", which quite clearly creates the following understanding of the problem "the tester can be fooled by using a predictable tick generation pattern in a multi-currency environment". This is the understanding that emerges from your statement.

Then think about how you will deal with arbitrage advisors. Arbitrage Expert Advisor 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 trade server, but is collected by itself. I.e., if a user wants to test in the super-mode, let him/her keep the terminal online during a day to collect ticks.

From this understanding I respond with "an aggressive testing method using randomization of the tick generation process" will allow tester inter-peer arbitrageurs to be outed.


Your subsequent statements about "there could be hours between trades" completely disavow your previous words. Either tick tester arbitrage or multi-hour trades or "reduce the position to zero and try to bail out into positive swaps".

I think you are mixing different concepts into one pile. The screenshot is also not illustrative or probative, because it doesn't contain a conclusion. Where is the clearly articulated and understandable profit?


If someone wants to reduce positions to zero by means of mass transactions through a serious loss on spreads and execution quality (one pip slipped and the entire balancing model was destroyed), then no one minds. Especially after looking at the trade report. Or is looking at the balance curve enough for you?

The problem "this is a huge threat to the reputation of the MT5 tester" is fundamentally far-fetched.

 
Renat:

The "this is a huge threat to the reputation of the MT5 tester" problem is fundamentally far-fetched.

I gave you the link to the description of the Expert Advisor. Ask Rosh, maybe he can explain the arbitrage principle described and implemented, 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 anymore. Ticks in a day will not help.

 
hrenfx:

Tomato1 is sold cheaper than Tomato2 is bought (and vice versa).

Tomato1 and Tomato2 are priced the same 99.9% of the time within the spread. This is not the case in the tester.

The first tomato is for example a cross, the second one consists of two straight pairs taking into account the volume.

I don't know about the synchronous ticks generation in the MT5 tester. And on the stress tests it will be a grail.


Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
Reason: