Errors, bugs, questions - page 1341

 

metaeditor(64)?.exe has a built-in compiler, doesn't it? Correspondingly mql(64)?.exe is that "stand-alone", self-contained compiler.

That's why my question was correct and your answer was "In any case, no smart placements of ex? files are made from the command line. Only the editor can do that and only in windowed mode." answers it perfectly.

For that, in fact, I thank you.

 

The search path set in the MetaEditor as R:\

It appears in the search results as R:\\\

Not affected, but please check for hidden errors (e.g. you can enter R:\\\\\\\)

 

Windows 10, MT4 Build 854 strange titles (instead of spread it says "!"), not all menu items are translated and there is an empty menu item:


 
Unintended change of the value
#import "Test.dll"
        void f( const int& x[] );
#import
void OnStart()
{
        int x[ 1 ] = { 1 };
        int y = x[ 0 ];
        Print( "y=", y ); //  здесь y = 1
        f( x );
        Print( "y=", y ); //а здесь y = 2, но я его явно не менял
}
//Test.cpp
void WINAPI f( int x[] ) { x[ 0 ] = 2; }

It is clear that f() is incorrectly described in #import here, but the question is not what x has changed, but what y has changed.

Maybe it makes sense for the compiler to consider x to be volatile (in the sense of not optimizing code affecting variables passed by reference to functions called from the .dll). Considering that the absence of such optimization will be practically imperceptible, while its consequences will be significant for the result.

 
Artyom Trishkin:

Windows 10, MT4 Build 854 strange titles (instead of spread it says "!"), not all menu items are translated and there is an empty menu item:

Confirmed.
 

I could be wrong, but NULL when used to zero variables, initialises the variable with zero.

In help it says

Синтаксически тип void является фундаментальным типом наравне с типами char, uchar, bool, short, ushort, int, uint, color, long, ulong, datetime, float, double и string. 
Этот тип используется либо для указания того, что функция не возвращает значения, либо в качестве параметра функции обозначает отсутствие параметров.

Предопределенная константная переменная NULL имеет тип void. Она может быть присвоена переменным любых других фундаментальных типов без преобразования. 
Также допускается сравнение переменных фундаментальных типов со значением NULL

Theoretically, when using NULL, the variable should be empty as in the case of variable string type and contain neither 0, nor -, nor +.

When initializing a variable of type string text = NULL; the variable is empty and is assigned 0 when initializing other types.

 
Artyom Trishkin:

Windows 10, MT4 Build 854 strange title (instead of spread it says "!")

spread is too broad a name, in MT5 both in Overview and in Quotes window it was always !

 
A100:

spread is too broad a name, in MT5 both in the Overview and in the Quotes window it has always been !

Maybe I wasn't paying attention, but at least "SP" would have been more informative
 

There is another interesting bug in the 854 build

I have test folder which is in experts, it contains source code and excerset file with name test.

I have a file with name test in main ekspert folder which also contains source and excerpt, but when I compile the latter the first one is installed in terminal for test.

That is, I want to test the Expert Advisor with name and location Xperts\\Test but the terminal automatically sets Xperts\\Test every time during the compilation so I have to rearrange the EA every time.

This is annoying...

 

Hello traders,

Please help me solve a problem:

SymbolInfoDouble( _Symbol,SYMBOL_TRADE_TICK_VALUE) function for instrument #IBM_L returns 0.

LiteForex MT5 Terminal x64 build 1150 (Liteforex Investments Limited).

Account currency EUR.

Test script in the application.

Journal shows:

2015.08.12 22:23:51.930 TestTickValue (#IBM_L,H1) Tick value = 0.00000.

I need this value to calculate the trade volume.

double lots = loss * cSymbolInfo.TickSize() / ( priceDiff * cSymbolInfo.TickValue() );

I choose cSymbolInfo.Name(symbol) correctly in the code before calling TickValue(). The code works for other instruments, e.g. EURUSD.

Files:
Reason: