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.
elseif(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"; doubleAsk=SymbolInfoDouble(symb,SYMBOL_ASK); doubleBid=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); } elseif(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:
inputstring Symbol1 = "USDCAD"; // Nama Simbol 1inputint StopLoss1 = 370; // StopLoss 1inputint TakeProfit1 = 20; // TakeProfit 1inputint BBPeriod1 = 40; // Periode Bands 1inputdouble BBDev1 = 1; // Deviasi Bands 1inputdouble Razmah1 = 450; // Deviasi Bands 1 dalam Poininputint Start1 = 19; // Waktu Mulai 1inputstring Symbol2 = "GBPUSD"; // Nama Simbol 2inputint StopLoss2 = 450; // StopLoss 2inputint TakeProfit2 = 80; // TakeProfit 2inputint BBPeriod2 = 8; // Periode Bands 2inputdouble BBDev2 = 1; // Deviasi Bands 2inputdouble Razmah2 = 200; // Deviasi Bands 2 dalam Poininputint Start2 = 20; // Waktu Mulai 2inputstring Symbol3 = "NZDUSD"; // Nama Simbol 3inputint StopLoss3 = 410; // StopLoss 3inputint TakeProfit3 = 40; // TakeProfit 3inputint BBPeriod3 = 4; // Periode Bands 3inputdouble BBDev3 = 1.2; // Deviasi Bands 3inputdouble Razmah3 = 450; // Deviasi Bands 3 dalam Poininputint Start3 = 19; // Waktu Mulai 3inputstring Symbol4 = ""; // Nama Simbol 4inputint StopLoss4 = 500; // StopLoss 4inputint TakeProfit4 = 40; // TakeProfit 4inputint BBPeriod4 = 24; // Periode Bands 4inputdouble BBDev4 = 1; // Deviasi Bands 4inputdouble Razmah4 = 200; // Deviasi Bands 4 dalam Poininputint Start4 = 20; // Waktu Mulai 4inputstring Symbol5 = ""; // Nama Simbol 5inputint StopLoss5 = 500; // StopLoss 5inputint TakeProfit5 = 40; // TakeProfit 5inputint BBPeriod5 = 24; // Periode Bands 5inputdouble BBDev5 = 1; // Deviasi Bands 5inputdouble Razmah5 = 200; // Deviasi Bands 5 dalam Poininputint Start5 = 20; // Waktu Mulai 5inputstring Symbol6 = ""; // Nama Simbol 6inputint StopLoss6 = 500; // StopLoss 6inputint TakeProfit6 = 40; // TakeProfit 6inputint BBPeriod6 = 24; // Periode Bands 6inputdouble BBDev6 = 1; // Deviasi Bands 6inputdouble Razmah6 = 200; // Deviasi Bands 6 dalam Poininputint Start6 = 20; // Waktu Mulai 6inputstring Symbol7 = ""; // Nama Simbol 7inputint StopLoss7 = 500; // StopLoss 7inputint TakeProfit7 = 40; // TakeProfit 7inputint BBPeriod7 = 24; // Periode Bands 7inputdouble BBDev7 = 1; // Deviasi Bands 7inputdouble Razmah7 = 200; // Deviasi Bands 7 dalam Poininputint Start7 = 20; // Waktu Mulai 7inputstring Symbol8 = ""; // Nama Simbol 8inputint StopLoss8 = 500; // StopLoss 8inputint TakeProfit8 = 40; // TakeProfit 8inputint BBPeriod8 = 24; // Periode Bands 8inputdouble BBDev8 = 1; // Deviasi Bands 8inputdouble Razmah8 = 200; // Deviasi Bands 8 dalam Poininputint Start8 = 20; // Waktu Mulai 8inputstring Symbol9 = ""; // Nama Simbol 9inputint StopLoss9 = 500; // StopLoss 9inputint TakeProfit9 = 40; // TakeProfit 9inputint BBPeriod9 = 24; // Periode Bands 9inputdouble BBDev9 = 1; // Deviasi Bands 9inputdouble Razmah9 = 200; // Deviasi Bands 9 dalam Poininputint Start9 = 20; // Waktu Mulai 9inputdouble 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.

Komentar 0