Halo semua. Saya ingin bantuan dengan kode. Ini adalah peringatan lintas rata-rata bergerak yang saya tambahkan peringatan dan membeli sedikit. Apakah peringatan email akan bekerja karena saya terus mendapatkan 1 kesalahan ketika saya mengkompilasi saya tidak positif. Saya telah menempelkan kode di bawah ini
Saya telah melalui kode beberapa kali dan sepertinya saya tidak dapat menemukan masalah dengan tepat. Terima kasih atas bantuan Anda sebelumnya.
Kesalahan mengatakan ... '\ end_of_program' - kurung kiri yang tidak seimbang
// ----------------------------------------------- -------------------
//| MACrossEarlyAlert.mq4 |
//| Mariano Silva |
//| |
// ----------------------------------------------- -------------------
Hak cipta #property, Mariano Silva
#property tautan
#property indior_chart_window
//- parameter input
Eksternal bool EmailAlert = false;
ekstern int FastMAPeriod = 50;
string ekstern Type = 0-SMA, 1-EMA;
ekstern int FastMAType = 1;
Eksternal int SlowMAPeriod = 1;
Eksternal int SlowMAType = 0;
Eksternal int EarlyPips = 15;
Eksternal int ResetAlert = 20;
warna eksternal LineColor = Oranye;
// ----------------------------------------------- -------------------
//| Fungsi inisialisasi indikator kustom |
// ----------------------------------------------- -------------------
int init ()
//- indikator
//-
kembali (0);
// ----------------------------------------------- -------------------
//| Fungsi deinitialisasi indikator kustom |
// ----------------------------------------------- -------------------
int deinit ()
string LineName;
//-
LineName = StringConenate (FastMAPeriod,, SlowMAPeriod, MA Cross);
ObjectDelete (LineName);
//-
kembali (0);
// ----------------------------------------------- -------------------
//| Fungsi iterasi indikator kustom |
// ----------------------------------------------- -------------------
int start ()
//int counted_bars = IndiorNilai ();
ganda FastMALastBar, SlowMALastBar, PriceToCross, Cross, FastMATest, SlowMATest;
bool AlertEnabled = true;
string LineName = StringConenate (FastMAPeriod,, SlowMAPeriod, MA Cross);
//LineName = StringConenate (FastMAPeriod,, SlowMAPeriod, MA Cross);
//-
if (NewBar ())
FastMALastBar = iMA (NULL, 0, FastMAPeriod, 0, FastMAType, PRICE_CLOSE, 1);
SlowMALastBar = iMA (NULL, 0, SlowMAPeriod, 0, SlowMAType, PRICE_CLOSE, 1);
PriceToCross = Buka [0];
Cross = FastMALastBar-SlowMALastBar;
if (Crossgt; 0.0)
sementara (Crossgt; 0,0)
PriceToCross = PriceToCross-Point;
FastMATest = CalcMA (FastMAPeriod, FastMAType, PriceToCross, FastMALastBar);
SlowMATest = CalcMA (SlowMAPeriod, SlowMAType, PriceToCross, SlowMALastBar);
Cross = FastMATest-SlowMATest;
lain
sementara (Crosslt; 0,0)
PriceToCross = PriceToCross Point;
FastMATest = CalcMA (FastMAPeriod, FastMAType, PriceToCross, FastMALastBar);
SlowMATest = CalcMA (SlowMAPeriod, SlowMAType, PriceToCross, SlowMALastBar);
Cross = FastMATest-SlowMATest;
ObjectDelete (LineName);
drawLine (PriceToCross, LineName, LineColor, 0);
if (AlertEnabled)
if (MathAbs (Close [0] -PriceToCross) lt; = EarlyPips * Point)
Alert (Close to, FastMAPeriod,, SlowMAPeriod, MA Cross on, Symbol (),, Periode ());
jika EmailAlert SendMail (Close to, FastMAPeriod,, SlowMAPeriod, MA Cross on, Symbol (),, Periode ();
AlertEnabled = false;
lain
if (MathAbs (Close [0] -PriceToCross) gt; = ResetAlert * Point)
AlertEnabled = true;
//-
kembali (0);
// ----------------------------------------------- -------------------
double CalcMA (int MAPeriod, int MAType, double PriceTest, double LastMA)
MA ganda, pr;
beralih (MAType)
kasus 0:
MA = -LRB- (LastMA * MAPeriod) -Close [MAPeriod] PriceTest)MAPeriod;
istirahat;
kasus 1:
pr = 2.0(MAPeriod 1);
MA = PriceTest * pr LastMA * (1-pr);
istirahat;
kembali (MA);
membatalkan drawLine (double lvl, nama string, col warna, tipe int)
ObjectCreate (nama, OBJ_HLINE, 0, Waktu [0], lvl);/, Waktu [0], lvl);
if (type == 1)
ObjectSet (nama, OBJPROP_STYLE, STYLE_SOLID);
lain
ObjectSet (nama, OBJPROP_STYLE, STYLE_DOT);
ObjectSet (nama, OBJPROP_COLOR, Col);
ObjectSet (nama, OBJPROP_WIDTH, 1);
kembali;
bool NewBar ()
statis lastbar datetime;
datetime curbar = Waktu [0];
if (lastbar! = curbar)
lastbar = curbar;
kembali (benar);
lain
kembali (salah);