New MetaTrader 5 Platform Build 2280 - page 3

 
Dear MetaQuotes Software Corp.!

It would be very useful if we can programming with non-type template arguments like
integer literals and compilation time computable expressions of them. For example
for arrays and template metaprogramming. Please implement these facilities for the

MQL4 and MQL5 programming languages.

Many thanks for considering my request!

Yours faithfully and best wishes: László Müller, Dombóvár, Hungary.
How to Order a Trading Robot in MQL5 and MQL4
How to Order a Trading Robot in MQL5 and MQL4
  • www.mql5.com
The main advantage of the MetaTrader trading terminal is the ability to create automated trading systems that can perform trading operations without the intervention of the trader, thus eliminating the influence of psychology on the results of the trade. To do this, we need to formulate a trading strategy and implement it in the form of a...
 

Dear MetaQuotes Software Corp.!

I think that your developers must implement the  functions of the MQL preoprocessor
as the C/C++ CPP functions. With the following code snippet the second macro for the
indirection is now not necessary.

#define p_paste(arg_0, arg_1, arg_2) arg_0##arg_1##arg_2
#define p_evaluate_paste(arg_0, arg_1, arg_2) p_paste(arg_0, arg_1, arg_2)
#define apple 11
#define mouse 12
#define table 13

void f()
{
    int i = 10 + p_evaluate_paste(apple, mouse, table);
    PrintFormat("%d\n", i);
    return;
}

After the recent updates the `p_evaluate_paste' macro is not necessary anymore.
But why? Now it is not possible to pass for example the `apple' argument as a string
to a macro without the replacement of it. The solution is not complete now and not
a good solution. You have to implement the MQL preprocessor facilities and functions
to operate similar as the facilities and functions of the C/C++ CPP, the C preprocessor.

Please consider this issue too! You have to program the preprocessor with the above
mentioned possibility. The correct solution is the usage for example the `p_paste' and
the `p_evaluate_paste' macros, whichever you need!

Please fix these issues as soon as possible! I have at least 400,000 lines of MQL code
in my ATS framework now and I have to program with some advanced features like
this.

Many thanks for considering my request!

Yours sincerely: László Müller, Dombóvár, Hungary.

Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
  • www.mql5.com
//| Expert initialization function                                   | //| Expert deinitialization function                                 | //| Expert tick function                                             | //| test1                                                            |...
 

Dear MetaQuotes Software Corp.!

There is another small issue with templates. Consider the following code snippet and create a
compilable `.mq4' or `.mq5' file with it. Why is the `main_1' not compilable? I think it should be.

#property strict

int func_0 (int x)
{
    return 5 + x;
}

int func_1(int x)
{
    return 8 + x;
}

typedef int (*funcs_type)(int);

template<typename value_type, typename func_0_type, typename func_1_type>
value_type apply(value_type x, func_0_type func_0, func_1_type func_1)
{
    return func_1(func_0(x));
}

//This is compilable with 0 errors, 0 warnings.
void main_0()
{
    funcs_type f_0 = func_0;
    funcs_type f_1 = func_1;
    int x = 10;
    PrintFormat("%d\n", apply(x, f_0, f_1));
    return;
}

//This is not compilable! Why it is necessary to
//create a function type with a `typedef' and to
//create 2 variables with that type? Please fix
//this issue!
void main_1()
{
    int x = 10;
    PrintFormat("%d\n", apply(x, func_0, func_1));
    return;
}

//This is not compilable! Just for trying something.
void main_2()
{
    int x = 10;
    PrintFormat("%d\n", apply(x, &func_0, &func_1));
    return;
}

//This is compilable! Just for trying something. But
//why is the cast necessary?
void main_3()
{
    int x = 10;
    PrintFormat("%d\n", apply(x, (funcs_type)func_0, (funcs_type)func_1));
    return;
}

Please fix these issues! With the template metaprogramming and the multiple inheritance
from interfaces your MQL4 and MQL5 languages (MQL) will be really useful with many many
functions and opportunities! This is a must.

Many thanks for considering my requests!

Yours sincerely and best wishes: László Müller, Dombóvár, Hungary.

Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
  • www.mql5.com
//| Expert initialization function                                   | //| Expert deinitialization function                                 | //| Expert tick function                                             | //| test1                                                            |...
 

Dear MetaQuotes Software Corp.!

Please change the current "right click" -> `New File' function of the MetaEditor!
After the activation of the `MQL Wizard: File' -> `Include (*.mqh)' function, one can
set the `Name' field which was setted to `Include\' as the default. Why have I to
set  manually the entire relative path name of the file which will be generated? Why
this is functioning well just for the `MQL5\Include' subdirectory? Not everybody create
source code files just in that directory. I have a big MQL source code base entirely
externally from the `Data Folder' and I create soft links to the appropriate directories
of my bigger project. The wizard must set the relative path with computation from the
location of the subdirectory whose icon was selected with the computer mouse click.
And this must functioning well outside the `MQL5\Include' subdirectory, for example
for a subdirectory under `MQL5\_link\_exte\'... Of course I set the include pathes relative
to the `MQL5\Include' subdirectory.

Please improve this function in the above described way and with the option of
empty `.mqh' files too! Not everybody wants the default file templates. Of course
I can delete the content manually. This is not important.

Many thanks for considering my requests!

Yours sincerely and best wishes: László Müller, Dombóvár, Hungary.

Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
Documentation on MQL5: Constants, Enumerations and Structures / Named Constants / Predefined Macro Substitutions
  • www.mql5.com
//| Expert initialization function                                   | //| Expert deinitialization function                                 | //| Expert tick function                                             | //| test1                                                            |...
 

Hi,

I'm experiencing windows 10 crashing during the backtest optimalisation. Mouse and keyboard is freezing and I can't do anything anymore. The only thing I can do is a hard reset of my computer.

I was optimising with OHLC data over 2.5 year history data.

Also CTRL+ALT+DEL does not work.

It's possible that it's related with the latest windows 10 update.

What I've seen also is that although the backtester was not running, that the process-manager still shows several metatrader 5 jobs running. I see very often memory problems showing up. Sometimes after the optimising, the computer starts behaving very slow and the only way to resolve it, is by restarting the computer.


Regards,

Danny

Testing trading strategies on real ticks
Testing trading strategies on real ticks
  • www.mql5.com
The article provides the results of testing a simple trading strategy in three modes: "1 minute OHLC" using only Open, High, Low and Close prices of minute bars; detailed modeling in "Every tick" mode, as well as the most accurate "Every tick based on real ticks" mode applying actual historical data. Comparing the results allows us to assess...
 
I cant place a new trade in binary.com mt5, The "new trade" button is greyed out. I have reintalled after unintalling. Other things such as deposit and withdrawal, experts, one click trading are all greyed out. Any help please
 
László Müller:

Dear MetaQuotes Software Corp.!

There is another small issue with templates. Consider the following code snippet and create a
compilable `.mq4' or `.mq5' file with it. Why is the `main_1' not compilable? I think it should be.

Please fix these issues! With the template metaprogramming and the multiple inheritance
from interfaces your MQL4 and MQL5 languages (MQL) will be really useful with many many
functions and opportunities! This is a must.

Many thanks for considering my requests!

Yours sincerely and best wishes: László Müller, Dombóvár, Hungary.

That's a whole bunch of complaints!

Have you taken into consideration that they are trying to keep the language as simple and less confusing, for everyone's use? I think they had pretty good reasons as to why they didn't include the things you mentioned as "MUST". 

I'd only request that they add a "Center_Mode" for metaeditor in full screen. It's not a must though. 

Btw, Metaquotes Software Corp. Thank you very much for the good job you are doing. I cannot imagine the hustle you go through trying to make everyone comfortable with both the trading and the dev's platforms. Keep it up!!!

Peace.

 

build 2301 is available now -


 
Sergey Golubev:

build 2301 is available now -



On my computer, the 2301 version of the strategy tester failed to perform optimization tests properly.


The same EA, the same parameter input, the same optimization task, each run returns a different set of error results:

First run:


Second run:

Third run:

Fourth run:


Only the values of the custom criterion returned on the fourth optimization (the green box in the figure) are correct, and all other results were wrong.

In my EA, the calculations for the custom criterion are only relevant to the tick price/time, not the transaction.

So, of all the 24*4==96 passes, all of the trades calculations were wrong, and most calculations about ticks were wrong.


However, all the individual tests were good.

In single test mode, all combinations of 24 parameter inputs returned correct results.


The previous version of the strategy tester worked fine on my computer without any errors.

So the latest 2301 version of the strategy tester may have significant bugs.

 
Sergey Golubev:

build 2301 is available now -


2302 beta build -


Reason: