MA Cross Alert Once Indicator For MT4
Table Of Contents:
- MA Cross Alert Once Indicator For MT4
- Memasang MA Cross Alert Once Indicator For MT4
- Parameter MA Cross Alert Once Indicator For MT4
- MA Cross Alert Once Indicator For MT4
- Bahagian Utama Kod
The MA Cross Alert Once Indicator For MT4 MA Cross Alert Once Indicator For MT4 adalah penunjuk cemerlang kerana ia memberi isyarat kepada anda berbagai momen crossover yang dibuat oleh Moving Average. Ini adalah cara klasik untuk berdagang dengan menggunakan Pergerakkan Rata-rata dalam pasaran perdagangan di mana Pergerakan Bergerak anda lebih cepat adalah barisan isyarat anda sehingga setiap kali ia melintasi purata bergerak "perlahan" dari terbalik ia menandakan pembelian dengan anak panah ke atas dan bila Movin lebih cepat Rata-rata menyeberang lebih lambat Bergerak Rata-rata dari terbalik maka ia menandakan peluang jualan yang dibatasi oleh anak panah ke bawah. The MA Cross Alert Once Indicator For MT4 menyediakan pelbagai pemberitahuan pemberitahuan amaran yang terdiri daripada peringatan pop timbul sehingga mempunyai keupayaan untuk anda menerima notifikasi e-mel.
Memasang MA Cross Alert Once Indicator For MT4
Selepas anda memuat turun penunjuk melalui borang di atas, anda perlu unzip fail zip. Kemudian anda perlu menyalin fail MA_Cross_Alert_Once_b.mq4 ke folder MQL4Indicators pemasangan MT4 anda. Selepas itu sila mulakan MT4 dan kemudian anda akan dapat melihat penunjuk dalam senarai petunjuk.
Parameter MA Cross Alert Once Indicator For MT4
MA Cross Alert Once Indicator For MT4 mempunyai parameter 16 untuk mengkonfigurasi.
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 menyediakan buffer 2 .
SetIndexBuffer(0, CrossUp); SetIndexBuffer(1, CrossDown);
Bahagian Utama Kod
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); }