MA Cross Alert Once Indicator For MT4
Table Of Contents:
- MA Cross Alert Once Indicator For MT4
- Установка MA Cross Alert Once Indicator For MT4
- Параметры MA Cross Alert Once Indicator For MT4
- Буферы MA Cross Alert Once Indicator For MT4
- Основные части кодекса
MA Cross Alert Once Indicator For MT4 перекрестного оповещения MA MA Cross Alert Once Indicator For MT4 перекрестного оповещения MA для MT4 - это яркий индикатор, который сигнализирует вам о различных моментах пересечения, создаваемых скользящими средними. Это классический способ торговли с использованием скользящих средних на торговых рынках, где ваша более быстрая скользящая средняя является вашей сигнальной линией, поэтому всякий раз, когда она пересекает «более медленную» скользящую среднюю с верхней стороны, она отмечает покупку стрелкой вверх и всякий раз, когда более быстрый Movin Среднее пересекает более медленное скользящее среднее с верхней стороны, тогда оно обозначает возможность продажи, которая обозначена стрелкой вниз. Индикатор MA Cross Alert Once для MT4 включает в себя различные настройки уведомлений, начиная от всплывающих предупреждений и заканчивая возможностью получать уведомления по электронной почте.
Установка MA Cross Alert Once Indicator For MT4
После того, как вы загрузили индикатор через форму выше, вам необходимо распаковать zip-файл. Затем вам нужно скопировать файл MA_Cross_Alert_Once_b.mq4 в папку MQL4Indicators вашей установки MT4 . После этого перезапустите MT4, и вы сможете увидеть индикатор в списке индикаторов.
Параметры MA Cross Alert Once Indicator For MT4
MA Cross Alert Once Indicator For MT4 имеет параметры 16 для настройки.
input bool Cross_Alert = true; // Alert input bool Sound_Only = false; // Sound Only input bool Cross_PN = false; // Push Notification input bool Cross_Email = false; // Email input int Slow_MA_Period = 7; // Slow Period input int Slow_MA_Shift = 0; // Slow Shift input ENUM_MA_METHOD Slow_MA_Method = 0; // Slow Method input ENUM_APPLIED_PRICE Slow_MA_Price = 0; // Slow Price input int Fast_MA_Period = 1; // Fast Period input int Fast_MA_Shift = 0; // Fast Shift input ENUM_MA_METHOD Fast_MA_Method = 0; // Fast Method input ENUM_APPLIED_PRICE Fast_MA_Price = 0; // Farst Price input string Key; input string Price = "Close Price : Open Price : High Price : Low Price"; input string Price_= "Median Price (high+low)/2 : Typical Price (high+low+close)/3"; input string Price__ = "Weighted Price (high+low+close+close)/4";
Буферы MA Cross Alert Once Indicator For MT4
MA Cross Alert Once Indicator For MT4 предоставляет буферы 2 .
SetIndexBuffer(0, CrossUp); SetIndexBuffer(1, CrossDown);
Основные части кодекса
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[]) { int limit, i; double Fast_MA_Bar_0, Slow_MA_Bar_0, Fast_MA_Bar_1, Slow_MA_Bar_1; int counted_bars=IndicatorCounted(); //---- check for possible errors if(counted_bars lt 0) return(-1); //---- last counted bar will be recounted if(counted_bars gt 0) counted_bars--; limit=Bars-counted_bars; for(i = 0; i lt = limit; i++) { Fast_MA_Bar_0 = iMA(NULL, 0, Fast_MA_Period, Fast_MA_Shift, Fast_MA_Method, Fast_MA_Price, i+1); Fast_MA_Bar_1 = iMA(NULL, 0, Fast_MA_Period, Fast_MA_Shift, Fast_MA_Method, Fast_MA_Price, i+2); Slow_MA_Bar_0 = iMA(NULL, 0, Slow_MA_Period, Slow_MA_Shift, Slow_MA_Method, Slow_MA_Price, i+1); Slow_MA_Bar_1 = iMA(NULL, 0, Slow_MA_Period, Slow_MA_Shift, Slow_MA_Method, Slow_MA_Price, i+2); static datetime PrevSignal = 0, PrevTime = 0; if(ALERT_BAR gt 0 && Time[0] lt = PrevTime) { return(0); } PrevTime = Time[0]; if(PrevSignal lt = 0) { if((Fast_MA_Bar_1 lt Slow_MA_Bar_1) && (Fast_MA_Bar_0 gt Slow_MA_Bar_0)) // For Examples see: https://book.mql4.com/samples/indicators if( M_1 lt S_1 && M_0 gt S_0 ) { CrossUp[i=1] = Low[i=1] - iATR(NULL,0,20,i)/2; PrevSignal = 1; if(Sound_Only) { PlaySound("Alert.wav"); } if(Cross_Alert && Sound_Only == false) { Alert("BUY cross: ",Symbol(), " ", TM , " - ",IntegerToString(SMP)," ",MA," ",IntegerToString(SMS)," ",DoubleToStr(Ask,Digits)," ",TimeToStr(TimeCurrent(),TIME_SECONDS)," ",TimeToStr(TimeCurrent(),TIME_DATE)," ",AccountCompany()); } if(Cross_Email) { SendMail ("Buy cross -" + Symbol() + "-" + TM + "-" + AccountCompany(), "Buy Cross Alert" + " " + "--------------------" + " " + "Symbol : " + " " + Symbol() + " " + "Period : " + " " + TM + " " + "Slow MA : " + IntegerToString(SMP)+" "+MA+" "+IntegerToString(SMS)+ " " + "Fast MA : " + IntegerToString(FMP)+" "+MA+" "+IntegerToString(FMS)+ " " + "Ask Price : " + DoubleToStr(Ask,Digits)+ " " + "Time and Date : " + TimeToStr(TimeCurrent(), TIME_SECONDS)+ " " + TimeToStr(TimeCurrent(), TIME_DATE) + " " + "Broker : " + " " + AccountCompany() + " " + "Account # : " + " " + IntegerToString(AccountNumber())); } if(Cross_PN) { SendNotification("BUY: " + Symbol() + " " + TM + " lt " + IntegerToString(SMP) + " " + MA + " " + IntegerToString(SMS) + " gt " + DoubleToStr(Ask,Digits) + " " + " "+ TimeToStr(TimeCurrent(),TIME_SECONDS)+" "+TimeToStr(TimeCurrent(),TIME_DATE)+" " + AccountCompany()); } } } if(PrevSignal gt = 0) { if((Fast_MA_Bar_1 gt Slow_MA_Bar_1) && (Fast_MA_Bar_0 lt Slow_MA_Bar_0)) // For Examples see: https://book.mql4.com/samples/indicators ( if( M_1 gt S_1 && M_0 lt S_0 ) { CrossDown[i=1] = High[i=1] + iATR(NULL,0,20,i)/2; PrevSignal = -1; if(Sound_Only) { PlaySound("Alert.wav"); } if(Cross_Alert && Sound_Only == false) { Alert("SELL cross: ",Symbol(), " ", TM , " - ",IntegerToString(SMP)," ",MA," ",IntegerToString(SMS)," ",DoubleToStr(Bid,Digits) + " ",TimeToStr(TimeCurrent(),TIME_SECONDS)," ",TimeToStr(TimeCurrent(),TIME_DATE)," ",AccountCompany()); } if(Cross_Email) { SendMail ("Sell cross -" + Symbol() + "-" + TM + "-"+ "-" + AccountCompany(), "Sell Cross ALert" + " " + "--------------------" + " " + "Symbol : " + " " + Symbol() + " " + "Period : " + " " + TM + " " + "Slow MA : " + IntegerToString(SMP)+" "+MA+" "+IntegerToString(SMS)+ "-" + " " + "Fast MA : " + IntegerToString(FMP)+" "+MA+" "+IntegerToString(FMS)+ " " + "Bid Price : " + DoubleToStr(Bid,Digits)+ " " + "Time and Date : " + TimeToStr(TimeCurrent(), TIME_SECONDS)+ " " + TimeToStr(TimeCurrent(), TIME_DATE) + " " + "Broker : " + " " + AccountCompany() + " " + "Account # : " + " " + IntegerToString(AccountNumber())); } if(Cross_PN) { SendNotification("SELL: " + Symbol() + " " + TM + " lt " + IntegerToString(SMP) + " " + MA + " " + IntegerToString(SMS) + " gt " + DoubleToStr(Bid,Digits) + " " + " " + TimeToStr(TimeCurrent(),TIME_SECONDS)+" "+TimeToStr(TimeCurrent(),TIME_DATE)+" " + AccountCompany()); } } } } return(rates_total); }