MetaTrader 4 Build 529 beta released with new compiler - page 104

 
artmedia70:

It's funny. The name of Expert Advisor includes names of its subfolders.

This unnecessarily increases the size of the expert's name.

For example: If the name of the Expert Advisor is Expert and it is stored in Terminal_directory\MQL4\experts\Orders\Nickname,

then the name of the Expert Advisor would not be Expert, but Orders\Customer_name\Expert. If names of objects include Expert_name and object_name_time, it is already overrun by the number of characters, and the object will be output at zero price and zero time.

If object names include an EA name to be cleaned up when deinitialised, this leaves very little space for the object name itself.

Will this be changed, or will it remain so?


To be changed.
 
Renat:

Look in the logbook - does it say what is downloading and what has downloaded?


Not downloading the help update

Now it's like this

 

Guys, as far as I remember in the early versions of the terminals such a thing worked

extern double sig[3]= {12,0.548,0.21,0.413};

But now it generates an error, what's wrong?

Second question

When installing a terminal with the portable flag on a flash drive, does it work correctly? I remember earlier there were problems with displaying account names and with astronomical amounts on accounts...

 
VOLDEMAR:

Guys, as far as I remember in the early versions of the terminals such a thing worked

But now it generates an error, what's wrong?

Second question

When installing a terminal with the portable flag on a flash drive, does it work correctly? I remember there were problems with displaying account names and astronomical amounts on accounts before...


An array of three elements is declared, but four elements are written to it. Definitely an error. When the initialization list is large, you'd better do it this way:

double sig[]= {12,0.548,0.21,0.413};

The compiler will calculate it by itself.

And declaring an array as a setting parameter - how?

 
Scriptong:


An array of three elements is declared, but four elements are written to it. Definitely an error. When the initialization list is large, it's better to do it this way:

The compiler will do the math itself.


Nope, not working.

 
VOLDEMAR:


Nope, not working


Well, it says it in plain English: it's not allowed in the settings. One constant value is expected :)
 
Scriptong:

Well, it's written in plain English: not allowed in the settings. One constant value is expected :)

I don't know English (((, but I've seen codes where a lot of parameters were entered in the settings via ( ; ) ...
 
VOLDEMAR:

Guys, as far as I remember in the early versions of the terminals such a thing worked

But now it's getting an error, what's wrong?



It didn't work before either. Remove the extern modifier
 

Tell me, I don't understand the reasons why this is happening. Reference:

Событие Deinit генерируется для экспертов и индикаторов в следующих случаях:

-beforeunloading an mql4-program.

Unloading of an Expert Advisor attached to a chart is performed in the following cases

-closing the terminal (if an Expert Advisor has been attached to a chart);

1) in OnInit the Expert Advisor creates 400 graphical objects (using classes through new object)

2) Deletes in OnDeinit ( the delete operator deletes the object created by the new operator)

When deleting an EA, everything goes smoothly (created objects are deleted)

When switching the TF, if the history is loaded - everything goes smoothly (created objects are deleted, new ones are created)

When switching the TF, if the history is not loaded for this TF - this happens about 3 times OnDeinit and OnInit , and quickly

(sometimes objects are not created at all and the terminal gives no error)

Closing and restarting the terminal causes 400 errors 4200 - object already exists.

Closing the terminal does not cause OnDeinit?

How can I delete 400 objects manually? Add "delete all objects" button from the current chart surely suggested?

(p.s. Dear developers, will the order of creation of objects be corrected soon (month)?

to make order dependence not on name, but on how objects are created in the code)

// alexey_pak thanks, didn't know that Ctrl + A works in the "list of objects"

 

Colleagues, I get a warning on compilation:

possible use of uninitialized variable 'PipStep'

for a chunk like this:

      PipStep = NormalizeDouble(InitPipStep * MathPow(PipStepExp, BuyOrders - StartDynStep + 1),0);
      LastBuyPrice = FindLastBuyPrice();
      if(Ask < LastBuyPrice - (PipStep * Point))//для ЭТОЙ строки выдало possible use of uninitialized variable 'PipStep' 

All variables are initialised as double, what's wrong with it?

Reason: