Night Scalper Multi adalah sistem trading malam yang dirancang untuk melakukan perdagangan hingga pukul 0:00 waktu terminal, dengan fokus pada kisaran yang sempit (r), yang ditentukan menggunakan indikator Bollinger Bands.
BBHandle=iBands(symb,0,per,0,dev,0); CopyBuffer(BBHandle,1,0,1,up); CopyBuffer(BBHandle,2,0,1,dn); double r=up[0]-dn[0];
Posisi akan dibuka setelah jam yang ditentukan dalam Start, dan jika tidak ada posisi terbuka pada simbol tersebut.
if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))
Beli jika harga lebih rendah dari batas bawah Bollinger Bands dan saluran lebih kecil dari kisaran yang ditentukan dalam variabel Razmah.
if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);
Jual jika harga lebih tinggi dari batas atas Bollinger Bands dan saluran lebih kecil dari kisaran yang ditentukan dalam variabel Razmah.
if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);
Posisi akan ditutup oleh stop loss atau ditutup paksa setelah pukul 0:00.
else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);
Operasi trading dilakukan dengan bantuan fungsi SymbolTrade dan menggunakan kelas СTrade:
void SymbolTrade(string symb,int stop,int take,int per,double dev,double razmah,int start) { string s=(string)start+":00"; double Ask=SymbolInfoDouble(symb,SYMBOL_ASK); double Bid=SymbolInfoDouble(symb,SYMBOL_BID); BBHandle=iBands(symb,0,per,0,dev,0); CopyBuffer(BBHandle,1,0,1,up); CopyBuffer(BBHandle,2,0,1,dn); double r=up[0]-dn[0]; if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s)) { if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point); if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point); } else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb); }
Operasi trading dilakukan pada bar baru.
if(bars!=Bars(NULL,0)) { if(Symbol1!="") SymbolTrade(Symbol1,StopLoss1,TakeProfit1,BBPeriod1,BBDev1,Razmah1,Start1); if(Symbol2!="") SymbolTrade(Symbol2,StopLoss2,TakeProfit2,BBPeriod2,BBDev2,Razmah2,Start2); if(Symbol3!="") SymbolTrade(Symbol3,StopLoss3,TakeProfit3,BBPeriod3,BBDev3,Razmah3,Start3); ... } bars=Bars(NULL,0);
Pengaturan:
input string Symbol1 = "USDCAD"; // Nama Simbol 1 input int StopLoss1 = 370; // StopLoss 1 input int TakeProfit1 = 20; // TakeProfit 1 input int BBPeriod1 = 40; // Periode Bands 1 input double BBDev1 = 1; // Deviasi Bands 1 input double Razmah1 = 450; // Deviasi Bands 1 dalam Poin input int Start1 = 19; // Waktu Mulai 1 input string Symbol2 = "GBPUSD"; // Nama Simbol 2 input int StopLoss2 = 450; // StopLoss 2 input int TakeProfit2 = 80; // TakeProfit 2 input int BBPeriod2 = 8; // Periode Bands 2 input double BBDev2 = 1; // Deviasi Bands 2 input double Razmah2 = 200; // Deviasi Bands 2 dalam Poin input int Start2 = 20; // Waktu Mulai 2 input string Symbol3 = "NZDUSD"; // Nama Simbol 3 input int StopLoss3 = 410; // StopLoss 3 input int TakeProfit3 = 40; // TakeProfit 3 input int BBPeriod3 = 4; // Periode Bands 3 input double BBDev3 = 1.2; // Deviasi Bands 3 input double Razmah3 = 450; // Deviasi Bands 3 dalam Poin input int Start3 = 19; // Waktu Mulai 3 input string Symbol4 = ""; // Nama Simbol 4 input int StopLoss4 = 500; // StopLoss 4 input int TakeProfit4 = 40; // TakeProfit 4 input int BBPeriod4 = 24; // Periode Bands 4 input double BBDev4 = 1; // Deviasi Bands 4 input double Razmah4 = 200; // Deviasi Bands 4 dalam Poin input int Start4 = 20; // Waktu Mulai 4 input string Symbol5 = ""; // Nama Simbol 5 input int StopLoss5 = 500; // StopLoss 5 input int TakeProfit5 = 40; // TakeProfit 5 input int BBPeriod5 = 24; // Periode Bands 5 input double BBDev5 = 1; // Deviasi Bands 5 input double Razmah5 = 200; // Deviasi Bands 5 dalam Poin input int Start5 = 20; // Waktu Mulai 5 input string Symbol6 = ""; // Nama Simbol 6 input int StopLoss6 = 500; // StopLoss 6 input int TakeProfit6 = 40; // TakeProfit 6 input int BBPeriod6 = 24; // Periode Bands 6 input double BBDev6 = 1; // Deviasi Bands 6 input double Razmah6 = 200; // Deviasi Bands 6 dalam Poin input int Start6 = 20; // Waktu Mulai 6 input string Symbol7 = ""; // Nama Simbol 7 input int StopLoss7 = 500; // StopLoss 7 input int TakeProfit7 = 40; // TakeProfit 7 input int BBPeriod7 = 24; // Periode Bands 7 input double BBDev7 = 1; // Deviasi Bands 7 input double Razmah7 = 200; // Deviasi Bands 7 dalam Poin input int Start7 = 20; // Waktu Mulai 7 input string Symbol8 = ""; // Nama Simbol 8 input int StopLoss8 = 500; // StopLoss 8 input int TakeProfit8 = 40; // TakeProfit 8 input int BBPeriod8 = 24; // Periode Bands 8 input double BBDev8 = 1; // Deviasi Bands 8 input double Razmah8 = 200; // Deviasi Bands 8 dalam Poin input int Start8 = 20; // Waktu Mulai 8 input string Symbol9 = ""; // Nama Simbol 9 input int StopLoss9 = 500; // StopLoss 9 input int TakeProfit9 = 40; // TakeProfit 9 input int BBPeriod9 = 24; // Periode Bands 9 input double BBDev9 = 1; // Deviasi Bands 9 input double Razmah9 = 200; // Deviasi Bands 9 dalam Poin input int Start9 = 20; // Waktu Mulai 9 input double Lot = 1; // Volume Trading

Gambar 1. Hasil trading EA. EURUSD, H1

Gambar 2. Transaksi EA dalam jurnal

Gambar 3. Hasil trading EA dan optimasi dari 11.01.2016 hingga 13.09.2016. USDCAD, GBPUSD, NZDUSD, H1
Tips:
- EA ini direkomendasikan untuk digunakan sebagai asisten trading dan untuk mengembangkan strategi Anda sendiri.