Errors, bugs, questions - page 2337

 

To the developers. Please fix a bug in MQL4.

Fixed scale created manually through F8, "General" tab, "Fix scale 1:1" checkbox does not correspond to the values of a similar function ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value).

How to reproduce. The script in the application run on the chart, the above function will be called. The Comment field will have the following values:

Comment("result = ", result, "; WindowPriceMax = ", WindowPriceMax, "; WindowPriceMin = ", WindowPriceMin);

These will also be visible if you press F8, General tab, see fields - "Fix maximum", "Fix minimum". Record these values (1).

Next, cancel the fixed scale by unchecking the "Fix scale" box, the "Fix scale 1:1" checkbox will be automatically unchecked.

Manually fix the scale by F8, General tab, checking "Fix scale 1:1" will automatically uncheck the "Fix scale" box.

Confirm the action by pressing OK. Press F8 again and record the values "Fix maximum", "Fix minimum" (2).

Compare the recorded values (1) and (2).

For example, for me, after the script works:

Fix maximum - 112.004
Secure the minimum - 111.420

After setting manually:

Secure high - 112.004
Secure the minimum - 111.398

PS: Checked again. Looks like it's not MQL4 bug, but terminal 4.00 Build 1147 16 Nov 2018
 

The following files are not available via MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 and *.ex5. The reason is clear.

What other files are restricted?

 

After closing the terminal, the objects in the graphical objects are losing their tooltips! Dear developers, please fix it.

MT5, build 1940 x64.

Test script for testing:

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

After closing the terminal, the objects in the graphical objects are losing their tooltips! Dear developers, please fix it.

MT5, build 1940 x64.

Test script for testing:

Don't get your hopes up, this question was already raised 5 years ago.

Answer = the tooltip is not written anywhere and is stored while the program is running.

 

Is this a valid mismatch in the Documentation?

AccountInfoInteger

Returns the value of the relevant invoice property.

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

Parameters

property_id

[in] Identifier of the property. The value can be one ofENUM_ACCOUNT_INFO_INTEGER.

 
Regarding bug report. Checked it again. It seems to be a bug in the terminal 4.00 Build 1147 16 Nov 2018, not in MQL4
 

Forum on trading, automated trading systems and trading strategy testing

Bugs, bugs, questions

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

Actually means.

void f()
{
}
static b;
static a;

first of all separate static, well in {} then


The same code (complex) executes differently on MT4/5 due to different execution sequence in MT4/5. Writing a simple example didn't work.

 
fxsaber:

The following files are not available via MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 and *.ex5. The reason is clear.

What other files are restricted?

I suspect that *.cmd *.ts and other files which have inadvertently fallen into the corresponding registry branch.
That is, anything that, when opened via eXporter, can cause an application/ service to be started

 
fxsaber:
The same code (complex) is executed differently on MT4/5 because of the different execution sequence in MT4/5. Writing a simple example didn't work.

I believe. I don't.

 
A100:

actually means

firstly the freestanding static, well in {} then

There seems to be a recent change in behaviour. Some time ago the order was different - global variables and statics were initialised in the same order (in declaration order). I.e. in this case first a and then b. Could be wrong, but unlikely.