Highest and lowest value of x bars on another timeframe

 

Does anyone here know why this only returns the highest value of the current chart loaded rather than the timeframe

extern int TIMEFRAME=60;

  HighVal=High[iHighest(NULL,TIMEFRAME,MODE_HIGH,MaxBarsBack,MinBarsBack)];//same as below
  LowVal=Low[iLowest(NULL,TIMEFRAME,MODE_LOW,MaxBarsBack,MinBarsBack)];//returns value based on current chart
  
  ATR_1 =iATR(NULL,TIMEFRAME,ATR_Range,0);//returns same value regardless of loaded chart as desired

 

Based on the mql documentation it should be working

int iHighest(string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

Returns the shift of the maximum value over a specific number of periods depending on type.

Parameters:
symbol  -  Symbol the data of which should be used to calculate indicator. NULL means the current symbol.
timeframe  -  Timeframe. It can be any of Timeframe enumeration values. 0 means the current chart timeframe.
type  -  Series array identifier. It can be any of the Series array identifier enumeration values.
count  -  Number of periods (in direction from the start bar to the back one) on which the calculation is carried out.
start  -  Shift showing the bar, relative to the current bar, that the data should be taken from.
Sample:
  double val;
  // calculating the highest value on the 20 consequtive bars in the range
  // from the 4th to the 23rd index inclusive on the current chart
  val=High[iHighest(NULL,0,MODE_HIGH,20,4)];
 

How can I correct this?  

 
jtl:

Does anyone here know why this only returns the highest value of the current chart loaded rather than the timeframe

 

Based on the mql documentation it should be working

int iHighest(string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

Returns the shift of the maximum value over a specific number of periods depending on type.

What does the documentation say for High[]  ?