look at the code, please note that the parameters is "13,9,9,6,5,3".
Use it on EURUSD and the result is :
We can see the result of iGator() is shifted. And if we try to add system built-in gator indicator to EURUSD Chart. And see Data Window, the result is:
It also tell us system built-in iGator() function is wrong !!!
You compare the parameters you use 13,9,9 with 13,9,5. Who is wrong?
Perhaps you should read the manual, especially the examples.
How To Ask Questions The Smart Way. (2004
How To Interpret Answers.
RTFM and STFW: How To Tell You've Seriously Screwed Up.
They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020.03.08)
How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020.07.05)
How to call indicators in MQL5 - MQL5 Articles (12 March 2010
You compare the parameters you use 13,9,9 with 13,9,5. Who is wrong?
The picture (13,9,5) means "13,9,9,6,5,3".
Perhaps you should read the manual, especially the examples.
How To Ask Questions The Smart Way. (2004
How To Interpret Answers.
RTFM and STFW: How To Tell You've Seriously Screwed Up.
They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020.03.08)
How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020.07.05)
How to call indicators in MQL5 - MQL5 Articles (12 March 2010
It is none of them business, just some bug on built-in function.
It is none of them business, just some bug on built-in function.
I have the same issue when using iGator mql5 call with error when changing parameters
The bug happens when I change the Teeth Shift
//+------------------------------------------------------------------+ //| Gator.mq5 | //| Copyright 2000-2025, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2000-2025, MetaQuotes Ltd." #property link "https://www.mql5.com" #property description "Gator Oscillator" #property description "example of bug on shift of teeth" //******************************************************************** //******************************************************************** //--- indicator settings #property indicator_separate_window #property indicator_buffers 7 #property indicator_plots 2 #property indicator_type1 DRAW_COLOR_HISTOGRAM #property indicator_type2 DRAW_COLOR_HISTOGRAM #property indicator_color1 Green,Red #property indicator_color2 Green,Red #property indicator_width1 2 #property indicator_width2 2 #property indicator_label1 "Gator Upper" #property indicator_label2 "Gator Lower" //--- input parameters input int InpJawsPeriod=25; // Jaws period input int InpJawsShift=16; // Jaws shift input int InpTeethPeriod=16; // Teeth period input int InpTeethShift=6; // Teeth shift (bug here) input int InpLipsPeriod=5; // Lips period input int InpLipsShift=3; // Lips shift input ENUM_MA_METHOD InpMAMethod=MODE_SMMA; // Moving average method input ENUM_APPLIED_PRICE InpAppliedPrice=PRICE_MEDIAN; // Applied price //--- indicator buffers double ExtUpperBuffer[]; double ExtUpColorsBuffer[]; double ExtLowerBuffer[]; double ExtLoColorsBuffer[]; int ExtHandle; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,ExtUpperBuffer,INDICATOR_DATA); SetIndexBuffer(1,ExtUpColorsBuffer,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,ExtLowerBuffer,INDICATOR_DATA); SetIndexBuffer(3,ExtLoColorsBuffer,INDICATOR_COLOR_INDEX); //--- set indicator digits IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1); //--- sets first bar from what index will be drawn PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,InpTeethShift+InpTeethPeriod); PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpLipsShift+InpLipsPeriod); //--- line shifts when drawing PlotIndexSetInteger(0,PLOT_SHIFT,InpTeethShift); PlotIndexSetInteger(1,PLOT_SHIFT,InpLipsShift); //--- name for indicator subwindow label string short_name=StringFormat("Gator(%d,%d,%d)",InpJawsPeriod,InpTeethPeriod,InpLipsPeriod); IndicatorSetString(INDICATOR_SHORTNAME,short_name); //--- sets drawing line empty value PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0); // bug is here: ExtHandle = iGator( _Symbol, PERIOD_CURRENT, InpJawsPeriod, InpJawsShift, InpTeethPeriod, InpTeethShift, InpLipsPeriod, InpLipsShift, InpMAMethod, InpAppliedPrice ); if(ExtHandle == INVALID_HANDLE) { printf("Error=%d cannot create iGator",GetLastError()); return INIT_FAILED; } return INIT_SUCCEEDED; } //+------------------------------------------------------------------+ //| Gator Oscillator | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { CopyBuffer(ExtHandle,0,0,rates_total,ExtUpperBuffer); CopyBuffer(ExtHandle,1,0,rates_total,ExtUpColorsBuffer); CopyBuffer(ExtHandle,2,0,rates_total,ExtLowerBuffer); CopyBuffer(ExtHandle,3,0,rates_total,ExtLoColorsBuffer); //--- return(rates_total); } //+------------------------------------------------------------------+

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use

look at the code, please note that the parameters is "13,9,9,6,5,3".
Use it on EURUSD and the result is :
We can see the result of iGator() is shifted. And if we try to add system built-in gator indicator to EURUSD Chart. And see Data Window, the result is:
It also tell us system built-in iGator() function is wrong !!!