Errors, bugs, questions - page 2286

 
Ilyas:

Thanks for the message,

What should I do with it?

Forum on trading, automated trading systems and strategy testing

Errors, bugs, questions

A100, 2018.09.01 15:25

Execution error: Cannot find 'g' in 'Test2.ex5'

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

And if you remove the line with (*) in Test1.mq5, it's OK. How does it affect it? Build 1881\32

It's not the usual compile-time error - the program won't run (and ArrayPrint is just there as an example - you can replace it with another suitable function)

After all, this error was already discovered a year ago... It was fixed many times but kept reappearing. And it doesn't work here eitherhttps://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

What folder of the Terminal via mklink should be placed on the RAMdisk so that data is read/written from memory rather than from the SSD? I'm willing to provide data on how much speed-up this will give during Optimisation.

Tester folder moved to 5GbRAMDisk and in MT5 directory performed

mklink /j Tester z:\Tester


SSD is now sleeping peacefully, Optimization is ~1.5 times faster (by eye), for free!

 

Forum on trading, automated trading systems and trading strategy testing

Bugs, bugs, questions

fxsaber, 2017.01.26 17:33

Since the optimizer model is agent based, what prevents you from implementing a single run already passed through the optimizer not yet completed?

For example, optimizing. There are still a few hours left. But I already see interesting results. I want to see some good single results - to run in the backtester. But at the same time not to stop optimizing (especially relevant to GAs). Is it possible in this situation to release one of local agents and send it a single run. And then continue to load this agent with optimization packs.

Now studies are stalled until the optimizer finishes. And this sometimes takes a very long time.

Relevant, in spite of excellent caches. Please open the format of opt-files.

As an example, why do I need it. Here I've sorted out results of Profitability Optimization (PF)

Look at the number of trades - they statistically mean nothing: less than 30. But their PF is off the charts and there are hundreds/thousands of these results. So why is this rubbish in the table?

If the opt-format was open, then this rubbish could be automatically killed, leaving only interesting more or less statistically significant results.

What to say about custom sorting by multiple criteria at the same time, etc.


ZZY It is supposed to be possible not only to read but also to write opt-files yourself. And then feed it to the tester, as it is already implemented

Thereby using all the GUI advantages of the tester for rubbish free cache. To do this, just open the opt-format.

 

Optimisation results can be sorted according to various criteria

MT5 already has a mechanism for specifying text formulas for so-called formula synthetics.

I propose to use the same mechanism of text formulas to set arbitrary sorting criteria.

 
Slava:

"Everything has already been stolen before you".

At the start of the day, full tick. Then bid and/or ask and/or flipper full, everything else in increments if available. The average is 10 bytes per tick.

Since access to ticks is strictly sequential, there's no problem organizing quick access to each element of the array

Yes, really. Great!
Admittedly, I only researched the bars. And came to the hasty conclusion that it was the same situation with tics. I was wrong.
But then it's strange - why are the bars kept virtually unpackaged?

It's easy to check: look at the file size of hcc for any year, and then count the number of bars for that year with the function Bars. It is ~42.2 bytes per 1 minute bar. That's less than 60, but clearly redundant.

 
fxsaber:

Tester folder moved to 5GbRAMDisk and in MT5 directory performed


SSD is now sleeping peacefully, Optimisation is ~1.5 times (by eye) faster, free!

Wow, what a simple and unexpected solution.
Awesome! and Bravo!

 

a strange bug in the 1881 build of 9 July.

Didn't understand it right away.

I minimised the terminal window, set all the parameters and entered a deposit of $100.

I opened the window to the full screen and pressed start. An hour after optimizing.... After an hour I found out that there was not $100 but $10,000.


When I extend the terminal to the full screen - the Deposit field is reset to its default values!




The same bug appears even when Optimisation is already running


 
Comments not relevant to this topic have been moved to "FAQ on the Signals service".
 
fxsaber:
A big request in the tester is to close by Bid/Ask, if the last known last is zero.

In the video

Stock instrument on real ticks. Bars are built by Bid, no fin-data, BUY position opened. It is clearly seen that the current price of closing the position

PositionGetDouble(POSITION_PRICE_CURRENT)

equals zero all the time, despite the fact that the Bid is changing significantly. How can we explain to the tester that the stock symbol should close the BUY position by Bid? Now even equity is not calculated.

 
Each time I do a single run, it starts with this entry
Core 1  MetaTester 5 forced to stop

What is the reason?


Every single run ends with ExpertRemove.