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

 
serferrer:
There is now no spread value (possibly also exchange volume ) in the MqlRates structure, will this be added later?
Someday, yes, probably
 
stringo:

It's a little more complicated than that. The structure that the dll takes has also changed.

So, you need to rewrite ArrayCopyRates into MqlRates structure array. Also in your dlls you need to replace the description of corresponding structure

 
Patrol:
Unfortunately, I understand it. What I mean is this:

Existing DLLs take as input parameters a reference to such an array and its length by the first dimension. If I call ArrayCopyRates() before each call of a DLL function , passing a reference to array double[][6] as the first parameter and getting the number of actually copied bars as the returned value, we won't have to change anything in the DLL code, right?

Or I'm wrong, and the structure of this array has also changed? It now has the following structure (price order OLHC vs. OHLC in MqlRates):


The new MQL4 produces a real copying into double[][6] array. Everything is as described. You may check it using some script.

However, previously, in the old MQL4, the DLL passed an array of structures, not a two-dimensional double array. This is where it gets tricky. Since the new structure of historical MqlRates data is different from the previous one

 

stringo
:


The new MQL4 makes a real copying into double[][6] array. Everything is as described. You can check it with some script.

However, in the old MQL4, it was not a 2D double array that was passed to the DLL, but an array of structures. This is where it gets tricky. Since the new structure of historical data MqlRates differs from the previous one

Yes, I have already understood that. I wanted to make sure that I understood the new structure correctly, so I referred to MQL4\Samples\DLLSample\DLLSample.cpp in new build 555, but it is still there:

struct RateInfo
  {
   unsigned int      ctm;
   double            open;
   double            low;
   double            high;
   double            close;
   double            vol;
  };

I think it should be this way, as I understand it:

struct MqlRates
  {
   datetime time;         // время начала периода
   double   open;         // цена открытия
   double   high;         // наивысшая цена за период
   double   low;          // наименьшая цена за период
   double   close;        // цена закрытия
   long     tick_volume;  // тиковый объем
   int      spread;       // спред
   long     real_volume;  // биржевой объем
  };

Please make it clear.

 
Replacing the bar structure is not just an ambush, it's an ambush!
 

for some unknown reason I cannot log in to the terminal in µl communiti build 555

 
It is better to use full set (several icons in one file) from 16x16 to 64x64 (128x128) .ico files. Soon programs will be displayed with their native icons directly in operating system interface. <br / translate="no">

Read more about resources:



Is it working or not yet ???

#resource "\\Files\\VR.ico"

trying to insert an image, and nothing.... error

 
VOLDEMAR:


Is it working or not yet ???

trying to insert an image and nothing.... error

#property copyright           "Copyright 2013, Artyom A. Trishkin"
#property link                "artmedia70@gmail.com, Skype: Artmedia70"
#property version             "1.00"
#property description         "This indicator looks for pattern"
#property description         "\" Closing Price Reversal\""
#property description         "   and draw trade levels"
#property icon                "\\files\\CPR32x32.ico";
 
artmedia70:


trade levels

 
The 556 build has been released.
Reason: