Alligator Indicator For MT5
Table Of Contents:
- Alligator Indicator For MT5
- Instaliranje riječi Alligator Indicator For MT5
- Parametri Alligator Indicator For MT5
- Puferi Alligator Indicator For MT5
- Glavni dijelovi kodeksa
Alligator Indicator For MT5 zasnovan je na dobro poznatom trgovinskom sustavu koji je razvio Bill Williams. Indikator crta tri jednostavna pomična prosjeka s različitim razdobljima boja. Plavi pomični prosjek ima razdoblje 13 i naziva se čeljust aligatora. Crvena linija ima razdoblje 8 i naziva se zubima aligatora. Zelena linija ima razdoblje 5 i naziva se usnama aligatora. Pomoću indikatora možete ući u ustaljene trendove. Iskusni trgovac također može vidjeti preokret trenda na temelju položaja linija.
Instaliranje riječi Alligator Indicator For MT5
Nakon što preuzmete indikator preko gornjeg obrasca, morate raspakirati zip datoteku. Tada morate kopirati datoteku alligator.mq5 u mapu MQL5Indicators vaše MT5 instalacije. Nakon toga ponovno pokrenite MT5 i tada ćete indikator moći vidjeti na popisu pokazatelja.
Parametri Alligator Indicator For MT5
Alligator Indicator For MT5 ima 8 parametre za konfiguriranje.
input int InpJawsPeriod=13; // Jaws period input int InpJawsShift=8; // Jaws shift input int InpTeethPeriod=8; // Teeth period input int InpTeethShift=5; // Teeth shift 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
Puferi Alligator Indicator For MT5
Alligator Indicator For MT5 osigurava 3 međuspremnike.
SetIndexBuffer(0,ExtJaws,INDICATOR_DATA); SetIndexBuffer(1,ExtTeeth,INDICATOR_DATA); SetIndexBuffer(2,ExtLips,INDICATOR_DATA);
Glavni dijelovi kodeksa
//| Alligator OnCalculate function | //+------------------------------------------------------------------+ 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 &TickVolume[], const long &Volume[], const int &Spread[]) { //--- check for rates total if(rates_total lt ExtBarsMinimum) return(0); // not enough bars for calculation //--- not all data may be calculated int calculated=BarsCalculated(ExtJawsHandle); if(calculated lt rates_total) { Print("Not all data of ExtJawsHandle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } calculated=BarsCalculated(ExtTeethHandle); if(calculated lt rates_total) { Print("Not all data of ExtTeethHandle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } calculated=BarsCalculated(ExtLipsHandle); if(calculated lt rates_total) { Print("Not all data of ExtLipsHandle is calculated (",calculated,"bars ). Error",GetLastError()); return(0); } //--- we can copy not all data int to_copy; if(prev_calculated gt rates_total || prev_calculated lt 0) to_copy=rates_total; else { to_copy=rates_total-prev_calculated; if(prev_calculated gt 0) to_copy++; } //---- get ma buffers if(IsStopped()) return(0); //Checking for stop flag if(CopyBuffer(ExtJawsHandle,0,0,to_copy,ExtJaws) lt =0) { Print("getting ExtJawsHandle is failed! Error",GetLastError()); return(0); } if(IsStopped()) return(0); //Checking for stop flag if(CopyBuffer(ExtTeethHandle,0,0,to_copy,ExtTeeth) lt =0) { Print("getting ExtTeethHandle is failed! Error",GetLastError()); return(0); } if(IsStopped()) return(0); //Checking for stop flag if(CopyBuffer(ExtLipsHandle,0,0,to_copy,ExtLips) lt =0) { Print("getting ExtLipsHandle is failed! Error",GetLastError()); return(0); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+