New MetaTrader 5 platform build 2085: Integration with Python and Strategy Tester improvements - page 2

 
Sergey Golubev:

IMHO, I want to suggest a simulation mode called "Every last real tick"...

 
I would like to report a bug. Is this the correct place?
 
Jhojan Alberto Tobon Monsalve:
I would like to report a bug. Is this the correct place?

Yes, you can report .. but I am not sure that the developers will react ... they may react if you provides all the proofs in details, and if they are able to reproduce this bug (for example: your code without any bug are making the bug).
Means - if it is the general bug (not for you only).

 
Sergey Golubev:

Yes, you can report .. but I am not sure that the developers will react ... they may react if you provides all the proofs in details, and if they are able to reproduce this bug (for example: your code without any bug are making the bug).
Means - if it is the general bug (not for you only).

Ok thank you Sergey for your reply.

 

Hello Development Team of Metaquotes.

This is the problem that I am having with a simple EA in tester mode. This very simple EA should draw arrows on high price of each candle but it doesn't. The EA is drawing randomly the arrows. I know how to code an indicator for this purpose but in this case I had to draw arrows in an EA for my client this way, and I couln´t to fix this problem, so I told my client that this was a bug of tester, and he trusted me, I would like to know if I was right or there is something that I can do with this code to fix it.


This is the code BTW.

//+------------------------------------------------------------------+
//|                                             SimpleDrawArrows.mq5 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version   "1.00"

int OnInit()
  {

   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {

   
  }

void OnTick()
  {  
     static datetime t1 = iTime(NULL,0,0);
     datetime t2 = 0;
     
     if(t1!=t2)
     {
         DrawArrow("Arrow",iTime(NULL,0,1),iHigh(NULL,0,1),234);
         t2 = t1;
     }
        
   
  }

string DrawArrow(string name,datetime time,double price,uchar code,color clr=clrOrange,long size=1)
{
     int chart_ID = 0;
     int sub_window=0;

     
     ResetLastError();
     name+=(string)price;
 
     if(!ObjectCreate(chart_ID,name,OBJ_ARROW,sub_window,time,price))
         Print(GetLastError());
     ObjectSetInteger(chart_ID,name,OBJPROP_ARROWCODE,code);
     ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
     ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,ANCHOR_BOTTOM); 
     ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,size);
     ChartRedraw();
     return name;
}

And this is the result. Random arrows.


And this is what I expected the EA to do. This is an indicator BTW.



Kind regards.

 
Jhojan Alberto Tobon Monsalve:

Hello Development Team of Metaquotes.

This is the problem that I am having with a simple EA in tester mode. This very simple EA should draw arrows on high price of each candle but it doesn't. The EA is drawing randomly the arrows. I know how to code an indicator for this purpose but in this case I had to draw arrows in an EA for my client this way, and I couln´t to fix this problem, so I told my client that this was a bug of tester, and he trusted me, I would like to know if I was right or there is something that I can do with this code to fix it.


This is the code BTW.

And this is the result. Random arrows.


And this is what I expected the EA to do. This is an indicator BTW.



Kind regards.

I see how this could be resulting in duplicate chart object names:

name+=(string)price;
 
Andriy Moraru:

I see how this could be resulting in duplicate chart object names:

Hi Andriy, thank you so much for your reply, dude. That  was the problem. Now the arrows are drawing perfectly.

Kind regards.

 

The thread was started (machine translation) -

Forum on trading, automated trading systems and testing trading strategies

MetaTrader 5 Trading Strategy Tester Development Plans

Renat Fatkhullin , 2019.09.09 23:03

Do not be alarmed by the teardown status of the tester in beta versions. We specifically rolled out all intermediate versions in beta to get results faster.


How do we reform the strategy tester:

  1. To facilitate the understanding of beginners, we introduce a new kind of tester start page where research options are visible:




  2. We put a lot of emphasis on storing all the results of previous tests, when an easy search allows you to return to viewing previous tests

    Using the search bar, you can easily find past results in addition to direct loading from a file.

  3. Among the previous tests, we will make a comparison






  4. Most likely we’ll add new optimization options

  5. Dramatically expand the detailed testing settings with commissions, conditions for triggering orders, slippage, etc.

    So far, in beta versions, we have turned on the testing mode in pips, which drastically reduces the amount of modeling and speeds up tests.

    We will introduce a full set of settings a little later.

  6. We rewrite the mechanisms for preparing the initial data in order to reduce the costs of agent synchronization

    Especially it will be seen acceleration on local agents, where you do not have to pump large volumes and there will not be many copies of historical data.

  7. New 3D visualization engine and display of test results in full-fledged windows

  8. We are reforming the cloud network with a more detailed control of the conditions of each expert in order to individually select a group of agents

    The goal is to maximize task acceleration so that there are no delays due to inappropriate or inhibitory agents.


In addition, the MQL5 language itself is actively developing, we have included scopes in it, expanded support for templates, working with implicitly created classes, etc.

Most likely, we will soon include new features:

  • Sqlite database
  • graphic library extension including 3D


Later we will move on to the revolutionary task of incorporating modules into the language.

These are C ++ libraries recompiled into EX5 format and available for direct use from MQL5 code. That is, we will begin work on recompiling open source libraries when their low-level / dangerous calls are fully mapped into our secure runtime and safe wrappers are made for MQL5 code.

Due to this, we plan to increase the functionality of the language without losing security. Assembly modules are available only to us, which gives a certain level of security of the received solutions.

This mechanism is already working.

For example, part of the functionality of the MQL5 environment has long been natively embedded directly into EX5 code during compilation, which allows very good optimization at the assembly level.


 
It may be related to this thread (just to keep everything in one place):
The crazy styler
Reason: