Errors, bugs, questions - page 1426

 

When testing multicurrency indicators and EAs in MT5, is it possible to start the test from a date earlier than the beginning of the history for some of the symbols used without any problems? To start using these symbols in the part of the test where history appears on them?

The entire tester log is flooded with XXXYYY: There is no history errors. Is it something I'm doing wrong or such feature is absent?

P.S. Checked it. This error affects the entire history, if the test was run before the start of a particular character's history. If this is the case, very sad. Emailed servicedesk1342540

 
Vladimir Pastushak:
Incorrect stop loss or take profit price.
Good afternoon, Vladimir.
Could you please tell me how to fix it?
 
Сергей Верещак:
Good afternoon, Vladimir.
Could you tell me how to fix this, if it's not difficult?
You need to check which price you put to take and which to stop loss... That's the only thing I can do...
 

I don't know what this bug is, but if we have an EA running with graphical objects on a chart, then after starting the tester, the graphical objects stop being processed in the first window ...

Noticed it just today ...

build 902

 

Hi people! I'm just starting to work with files, so I have one misunderstanding: I want to write a number to the end of a binary file, but it overwrites the previous content. What to do? Thanks in advance!

int file_handle;

file_handle=FileOpen("DEAL.bin",FILE_WRITE|FILE_BIN);

FileSeek(file_handle,0,SEEK_END);

FileWriteDouble(file_handle,12345.12);

FileClose(file_handle);

 
Ekaterina Hinkel:

Hi people! I'm just starting to work with files, so I have one misunderstanding: I want to write a number to the end of a binary file, but it overwrites the previous content. What to do? Thanks in advance!

Есть некоторые особенности работы при указании флагов чтения и записи:
 •Если указан FILE_READ – делается попытка открытия уже существующего файла. Если файл не существует, то открыть файл не получится, новый файл не создается.
 •Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.
 •Если FILE_WRITE –  файл создается заново с нулевым размером.
 
Yury Kirillov:

2.0+2.0 does not necessarily equal 4.0

NormalizeDouble is normalization, not rounding.

When normalizing a number of double type via NormalizeDouble function (for MQL5 and MQL4), the rounding of values to decimal point set in this function is performed since long time ago.

P./S.: This can be checked in different ways. For instance, by creating horizontal lines on a chart using a script with values that differ in decimal places. And where the subsequent mark for the line is determined using the NormalizeDouble function with the digits value decremented by one.

That is, let's say the first line is plotted at some mark with the number of decimals as in the graph. The second line is drawn at the same mark, but with number of decimals (digits) in NormalizeDouble function, smaller by one. The third - also with the initial mark, but with digits in the NormalizeDouble function smaller by two than in the graph. It goes like this.

 
Dear Sirs, when will MT4 become a 64 bit application?
 
Aleksandr Novikov:
Dear Sirs, when will MT4 become a 64 bit application?
Never again. We quadruplets are on the margins of life.
 

Please advise how to determine Stops_Level value.

SymbolInfoInteger(_Symbol, SYMBOL_TRADE_STOPS_LEVEL) returns 0

(It is also 0 in the terminal in the specification window)

But when trying to place an order with a stop of 10 points less than the ASK, SendOrder returns error 10016 (wrong stops in the request)

At the same time, if we check the order using CheckOrder, there is no error.

Just in case, here is the structure of the request:

Req.action = TRADE_ACTION_DEAL;

Req.symbol = _Symbol;

Req.volume = 1;

Req.type=ORDER_TYPE_BUY;

Req.type_filling=ORDER_FILLING_RETURN;

Req.sl = Ask - 10;

Reason: