New Version of MetaTrader 4 Client Terminal Build 451 - page 3

 

I saw 2 bugs and they cannot be really classed as a features:

 

 zero line level

Bug 1: 

I am recoding  for multitimeframe, so I place 2 timeframes on the same window.

Example on the picture is the same indicator twice on the screen but 1 shows current period, the other shows 4 hours.

Each of the indicators has #property indicator_level1 0

However now the screen displays 2 zero levels as seen on the picture. There is a way to enforce this by setting indicator_minimum and indicator_maximum, but this will make the a massive visual difference since the higher timeframe values are a lot larger.

Which takes us to bug 2.

 

Bug 2: 

to go around the previous issue I thought of rescaling the values by using WindowPriceMax of the window for both indicators windows.

But,    

int win_idx1=WindowFind(indicator_names[0]);

int win_idx2=WindowFind(indicator_names[1]); 

One of them always returns -1. Both names are valid One is XYZ_M15, the other is XYZ_H4, it can always find one of them but the other one it always returns -1.

So 2 indicators on the same window, it will only be able to find one. 

 

 This is version 451 of terminal.

 
RaptorUK:

I ran my code as an EA and it works just fine . . .  you can see the tick count increasing.

 

2013.01.26 17:30:23 2013.01.08 14:15  dougie_II USDJPYi,H1: sTest = 4.00

2013.01.26 17:30:23 2013.01.08 14:15  dougie_II USDJPYi,H1: sTest = 2.00

2013.01.26 17:30:23 2013.01.08 14:15  dougie_II USDJPYi,H1: sTest = 1.00

2013.01.26 17:30:23 2013.01.08 14:14  dougie_II USDJPYi,H1: sTest = 14.00

2013.01.26 17:30:23 2013.01.08 14:14  dougie_II USDJPYi,H1: sTest = 12.00

2013.01.26 17:30:23 2013.01.08 14:14  dougie_II USDJPYi,H1: sTest = 11.00

2013.01.26 17:30:23 2013.01.08 14:14  dougie_II USDJPYi,H1: sTest = 10.00

 

Well... I don't know what you people did, but 

I think there's something wrong when you're accessing indicators on "other" timeframes.

for example:

backtesting on an H1 time frame using the following 2 lines

double cVolume; 

cVolume = iVolume( NULL, PERIOD_M1, 0 )

 

cVolume is intermittently showing 0 for me depending on start/end dates.

I would appreciate it if you would review your code changes.

Doug - 

 
dougie_II:

Well... I don't know what you people did, but 

I think there's something wrong when you're accessing indicators on "other" timeframes.

for example:

backtesting on an H1 time frame using the following 2 lines

double cVolume; 

cVolume = iVolume( NULL, PERIOD_M1, 0 )

 

cVolume is intermittently showing 0 for me depending on start/end dates.

I would appreciate it if you would review your code changes.

Doug - 

What people are you on about ? and why do I need to review my code ? ?

 

Regarding the statement above in bold,  have you checked that you have M1 data for the date and time in question ? 

 

How do I check if I have M1 data?

 

Interesting Raptor,

I think you might be onto something.

It looks like it backtests ok if I switch to: 

cVolume = iVolume( NULL, PERIOD_M5, 0 )

 
dougie_II:

How do I check if I have M1 data?

Open a M1 chart and navigate to the date time in question.
 
My MetaTrader is currently showing build 464 (12 Feb 2013). What are the differences with build 451?
 
And now we are at build 469 already when using web-setup from https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4setup.exe  No mention anywhere about this build. What´s up Metaquotes?
 
geektrader:
And now we are at build 469 already when using web-setup from https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4setup.exe  No mention anywhere about this build. What´s up Metaquotes?

Hm, did download it, and got build 468... Real strange! What is ongoing? Also this Broker (Nord Group Investment Inc)  has a lot of different feeds and spreads for the same Currency pairs, check out Market watch right click show all. Which to use for testing? Its all a bit irritating.
 

Recently, I am facing odd behaviour that deinit() / init() are not triggered for custom indicators, when account changes (deinit reason 6). For experts it works well.  Now I need to check account number in the start() to call the deinit()/init() code from the start().

 Is this a bug or a feature?