MetaTrader 4 Build 600 with Updated MQL4 Language and Market of Applications Released - page 35

 

please tell me what to do if statements below:

declaration of 'i' hides global declaration at line 35 PROBA.mq4 82 13
declaration of 'SL' hides global declaration at line 34 PROBA.mq4 105 34
declaration of 'TP' hides global declaration at line 34 PROBA.mq4 105 44
declaration of 'risk' hides global declaration at line 21 PROBA.mq4 121 16
declaration of 'i' hides global declaration at line 35 PROBA.mq4 138 13
0 error(s), 5 warning(s) 1 6

 
danidan:

please tell me what to do if statements below:

declaration of 'i' hides global declaration at line 35 PROBA.mq4 82 13
declaration of 'SL' hides global declaration at line 34 PROBA.mq4 105 34
declaration of 'TP' hides global declaration at line 34 PROBA.mq4 105 44
declaration of 'risk' hides global declaration at line 21 PROBA.mq4 121 16
declaration of 'i' hides global declaration at line 35 PROBA.mq4 138 13
0 error(s), 5 warning(s) 1 6

Don't declare the same variable with global scope and also with local scope . . . if you don't know what that means please show your code. And please use the SRC button if you do . . .
 

Just so you know I have been a software engineer since the mid 70's and have also written compilers.

I do not have time to read all of the threads about the problems with the new build.

I do know that this is total BS.

There are still what I would consider MAJOR bugs.

Templates are broken. One source code file transfered uses a function I wrote years ago called timeGMT.

This is now a built im function so I opened the indicator from Navigator, fixed the error and recompiled.

No errors but when the template is loaded it uses the old version of the indicator!!

In another instance the compiler returned undeclared variable errors for extern int variables that are clearly there.

I added a space, saved, recompiled, abd the indicator worked when placed on a chart.

The template did not work and still used the old version. I deleted the old version from the chart and some of the objects remained.

I deleted the objects from the indicator, placed the new version on the chart and saved the template as the same name.

When I reload the template on another chart the old indicators are still referenced.

I also cannot live trade because I will not start the MT4 attached to my live account because I do not trust the new build to live trade.

A much simpler method of differentiating old MT4 and new MT4 would have been a simple change of file extensions.

That way the folder structure could have remained the same.

Robert Hill

 

I found problem with function ChartID();

After running EA for a longer time, this function returns ID of other probably first chart not current;

I use ChartSetSymbolPeriod() in this EA.

 
ydrol: 2014.02.10 10:16 #

Meanwhile (just in case) I grabbed a copy of the old MQL4 docs using ... wget

Then deleted the /cn/ and /ru/ folders.

I had to wait between pages, if not I got a temporary IP ban :)

Or for HTTrack (which will get the js and css files also with near flag,) users: use connections/second = 0.1
 

oh, I notice that ArrayCopy result data order change from OLHC to OHLC:

old version complied script run on v604:

void DebugRateArray(double rateArray[][6], int count=5)
{
    for(int i=0; i<count; i++)
    {
        Print("T" + i + "=" + TimeToStr(rateArray[i][0]),
            ", O="+DoubleToStr(rateArray[i][1],4),
            ", L="+DoubleToStr(rateArray[i][2],4),
            ", H="+DoubleToStr(rateArray[i][3],4),
            ", C="+DoubleToStr(rateArray[i][4],4));
    }
}

int start()
{
    double RateArray[][6];
    int rateCount = ArrayCopyRates(RateArray, Symbol(), Period());

    Print("rateCount=", rateCount);
    DebugRateArray(RateArray);

    double copyArray[][6];
    int size = ArrayResize(copyArray, 20);

    ArrayCopy(copyArray,RateArray,0, rateCount*6-size, size);
    Print("copyed size=", size);
    DebugRateArray(copyArray);
    return(0);
}

result:

...

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: uninit reason 0

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T4=2014.02.11 12:00, O=1.3670, L=1.3680, H=1.3629, C=1.3648

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T3=2014.02.11 16:00, O=1.3648, L=1.3680, H=1.3637, C=1.3640

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T2=2014.02.11 20:00, O=1.3640, L=1.3641, H=1.3635, C=1.3637

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T1=2014.02.12 00:00, O=1.3638, L=1.3640, H=1.3626, C=1.3628

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T0=2014.02.12 04:00, O=1.3629, L=1.3633, H=1.3629, C=1.3629

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: copyed size=120

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T4=2014.02.11 12:00, O=1.3670, L=1.3629, H=1.3680, C=1.3648

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T3=2014.02.11 16:00, O=1.3648, L=1.3637, H=1.3680, C=1.3640

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T2=2014.02.11 20:00, O=1.3640, L=1.3635, H=1.3641, C=1.3637

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T1=2014.02.12 00:00, O=1.3638, L=1.3626, H=1.3640, C=1.3628

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: T0=2014.02.12 04:00, O=1.3629, L=1.3629, H=1.3633, C=1.3629

2014.02.12 11:45:15.055 testScript2 EURUSD,H4: rateCount=1014

...

ArrayCopyRates result is correct, but ArrayCopy mistake let H<=>L


 
Hmm... I think it's the other way around.. before it was OHLC and now it is OLHC. I guess this was needed for some reason? And just in case you were wondering what 'Green' meant previously. That's been clarified for us now along with all the other color names by making them all start with 'clr' so now Green is clrGreen and White is clrWhite and so on.... now can someone explain the new 'real volume' for me? Can will there soon be a 'fake volume'?.... Hey as long as we are all confused... we may as well laugh about it before we all go crazier.... PipPip...Jimdandy
 
Jimdandy:
Hmm... I think it's the other way around.. before it was OHLC and now it is OLHC. I guess this was needed for some reason? And just in case you were wondering what 'Green' meant previously. That's been clarified for us now along with all the other color names by making them all start with 'clr' so now Green is clrGreen and White is clrWhite and so on.... now can someone explain the new 'real volume' for me? Can will there soon be a 'fake volume'?.... Hey as long as we are all confused... we may as well laugh about it before we all go crazier.... PipPip...Jimdandy
Real Volume vs Volume ( Tick Count ) Real Volume is the volume of lots traded, maybe it would have been better called Traded Volume, the old mql4 Volume is the number of ticks during the bar.
 
RaptorUK:
Real Volume vs Volume ( Tick Count ) Real Volume is the volume of lots traded, maybe it would have been better called Traded Volume, the old mql4 Volume is the number of ticks during the bar.


The data in my build 600 history centre is: Time - Open - High - Low - Close - Volume

Which way round is it supposed to be then, and where is this Real Volume column supposed to appear?

And is the OHLC order being changed why my test results are screwed up? Or is it due to the set file issue, or that the coding needs altering for reasons not yet understood since the changes. What a f'in joke.

 
Jimdandy:
Hmm... I think it's the other way around.. before it was OHLC and now it is OLHC. I guess this was needed for some reason? And just in case you were wondering what 'Green' meant previously. That's been clarified for us now along with all the other color names by making them all start with 'clr' so now Green is clrGreen and White is clrWhite and so on.... now can someone explain the new 'real volume' for me? Can will there soon be a 'fake volume'?.... Hey as long as we are all confused... we may as well laugh about it before we all go crazier.... PipPip...Jimdandy
You can use both White/clrWhite, Green/clrGreen, etc... However MetaEditor intellisense only recognize clrXXXX.
Reason: