Have you try unplugging it and plugging it back in?
explain me "unplugging it and plugging it" please
"Doesn't work" is meaningless - just like saying the car doesn't work. Doesn't
start, won't go in gear, no electrical, missing the key, flat tires -
There are no mind readers here and our crystal balls are cracked.
No useful information given, no useful reply possible.
No useful information given, no useful reply possible
This is meesage what appears on the screen.
When I click on metatrader icon this message appear and program not run
If you run new metatrader release 1755 on windows 10 build 17093 you see what metatrader don't run
Scuse me, explain me please,
the crystal balls are cracked because they fell on the ground?
Dear MetaQuotes Software Corp.!
A bug appeared during getting the Daily High/Low values. There were no bugs in that funtion during the past 6-7 years but in the new version sometime it gives back wrong value.
The exact situation:
I open for exampe an H1 chart and let an EA run. It works with the Daily High/Low values as well. The Daily chart is not opened. I experienced that the iHigh(NULL,PERIOD_D1,0) and iLow(NULL,PERIOD_D1,0) functions give back sometime wrong value for the current day. I started to print the values and also counting the Daily High/Low values from the hourly chart and If it missmatched it printed. Unfortunately it get proved that the iHigh(NULL,PERIOD_D1,0) and iLow() does not refresh itself always and gives back different valuse than the real High/Low value. There are missmatches at the start of the new hour If it is a High or Low value, and also sometimes the iHigh(NULL,PERIOD_D1,0) and iLow funtions are not refreshed during the days, If new daily High or Low values are hit.
Here is the part of the code which I let run and it printed the errors. Prints were appeared at 4-5 independent brokerages as well so it is not broker side error.
double HDay0 = iHigh(NULL,PERIOD_D1,0);
double LDay0 = iLow(NULL,PERIOD_D1,0);
HDay0 = iHigh(NULL,PERIOD_D1,0);
LDay0 = iLow(NULL,PERIOD_D1,0);
int today = TimeDay(TimeCurrent());
int TimeShift = 0;
for(int td = 0; td<25; td++)
if( TimeDay(iTime(NULL, PERIOD_H1, td)) != today )
TimeShift = td;
//TimeShift = TimeHour(TimeCurrent())+1;
int BarShift = iHighest(NULL,PERIOD_H1,MODE_HIGH,TimeShift,0);
double HDay0_H1 = iHigh(NULL,PERIOD_H1,BarShift);
int BarShift_L = iLowest(NULL,PERIOD_H1,MODE_LOW,TimeShift,0);
double LDay0_H1 = iLow(NULL,PERIOD_H1,BarShift_L);
if( Norm(HDay0) != Norm(HDay0_H1) )
if(print_)Print(Number, ": ", "HDay0: ", DoubleToString(HDay0,5), "; HDay0_H1: ", DoubleToString(HDay0_H1,5), "; TimeShift:", TimeShift, "; BarShift: ", BarShift);
if( Norm(LDay0) != Norm(LDay0_H1) )
if(print_)Print(Number, ": ", "LDay0: ", DoubleToString(LDay0,5), "; LDay0_H1: ", DoubleToString(LDay0_H1,5), "; TimeShift:", TimeShift, "; BarShift_L: ", BarShift_L);
I attached 1 log file, for exapmle in that situation the iLow(NULL,PERIOD_D1,0) function gave back wrong value because it was not refreshed, it gave 1.23255 value almost for an hour meanwhile the Daily low was already at 1.23239 on EURUSD at around 2018.February 6. 14:06.
I hope you can solve this bug soon.
Thank you in advance!
Please use the </> button to post your code.
You start with
LDay0: 1.23255; LDay0_H1: 1.23239;
and you end with
I don't see any problem with this.
No new low was hit for D1 so i don't understand the problem.