Alligator Indicator For MT5
Table Of Contents:
- Alligator Indicator For MT5
- Alligator Indicator For MT5 Yükleme
- Alligator Indicator For MT5 Parametreleri
- Alligator Indicator For MT5
- Kodun Ana Bölümleri
Alligator Indicator For MT5 , Bill Williams tarafından geliştirilen iyi bilinen bir ticaret sistemine dayanmaktadır. Gösterge, farklı periyotlarda renkler olan 3 basit hareketli ortalama çizer. Mavi hareketli ortalama 13 periyoduna sahiptir ve timsahın çenesi olarak adlandırılır. Kırmızı çizginin süresi 8'dir ve timsahın dişi olarak adlandırılır. Yeşil çizgi 5 periyoduna sahiptir ve timsahın dudakları olarak adlandırılır. Göstergeyi belirlenmiş trendlere girmek için kullanabilirsiniz. Tecrübeli tüccar aynı zamanda çizgilerin konumuna göre trend tersine dönüşlerini görebilir.
Alligator Indicator For MT5 Yükleme
Göstergeyi yukarıdaki form aracılığıyla indirdikten sonra zip dosyasını açmanız gerekir. Ardından alligator.mq5 dosyasını MT5 kurulumunuzun MQL5Indicators klasörüne kopyalamanız gerekir. Bundan sonra lütfen MT5'i yeniden başlatın, ardından göstergeyi göstergeler listesinde görebileceksiniz.
Alligator Indicator For MT5 Parametreleri
Alligator Indicator For MT5 , yapılandırılacak 8 parametrelerine sahiptir.
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
Alligator Indicator For MT5
Alligator Indicator For MT5 , 3 arabelleklerini sağlar.
SetIndexBuffer(0,ExtJaws,INDICATOR_DATA); SetIndexBuffer(1,ExtTeeth,INDICATOR_DATA); SetIndexBuffer(2,ExtLips,INDICATOR_DATA);
Kodun Ana Bölümleri
//| 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); } //+------------------------------------------------------------------+