MA Cross Alert Once Indicator For MT4
Table Of Contents:
- MA Cross Alert Once Indicator For MT4
- Installera MA Cross Alert Once Indicator For MT4
- Parametrar för MA Cross Alert Once Indicator For MT4
- Buffertar från MA Cross Alert Once Indicator For MT4
- Huvuddelar i koden
MA Cross Alert Once Indicator For MT4 Cross Cross Alert-indikator för MT4 är en lysande indikator genom att den signalerar de olika övergångsmoment som gjorts av de rörliga medelvärdena. Detta är ett klassiskt sätt att handla med rörliga medelvärden på handelsmarknaderna, varvid ditt snabbare rörliga medelvärde är din signallinje så när den korsar det "långsammare" rörliga genomsnittet uppifrån markerar det ett köp med en uppåtpil och när den snabbare Movin Genomsnittskorsning över den långsammare rörliga genomsnittet uppifrån och sedan markerar det försäljningsmöjlighet som avgränsas av nedåtpilen. MA Cross Alert Once Indicator For MT4 kommer olika inställningar för varningsmeddelanden som sträcker sig från popup-varningar direkt till att ha möjligheter för dig att få e-postvarningar.
Installera MA Cross Alert Once Indicator For MT4
När du har laddat ner indikatorn via formuläret ovan måste du packa upp zip-filen. Sedan måste du kopiera filen MA_Cross_Alert_Once_b.mq4 till mappen MQL4Indicators för din MT4 installation. Efter det kan du starta om MT4 så kan du se indikatorn i listan över indikatorer.
Parametrar för MA Cross Alert Once Indicator For MT4
MA Cross Alert Once Indicator For MT4 har parametrar för 16 att konfigurera.
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";
Buffertar från MA Cross Alert Once Indicator For MT4
MA Cross Alert Once Indicator For MT4 tillhandahåller 2 buffertar.
SetIndexBuffer(0, CrossUp); SetIndexBuffer(1, CrossDown);
Huvuddelar i koden
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); }