Scalper Malam Multi adalah sistem trading malam yang berfungsi dalam pelbagai mata wang sehingga pukul 12 malam waktu terminal. Ia beroperasi dalam julat 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 selepas waktu yang ditetapkan dalam Start, dan jika tiada posisi terbuka pada simbol tersebut.
if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))
Beli jika harga lebih rendah daripada sempadan bawah Bollinger Bands dan julatnya lebih kecil daripada julat yang ditetapkan dalam pembolehubah Razmah.
if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);
Jual jika harga melebihi sempadan atas Bollinger Bands dan julatnya lebih kecil daripada julat yang ditetapkan dalam Razmah.
if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);
Posisi ditutup melalui stop loss atau ditutup secara paksa selepas pukul 12 malam.
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 Simbol1inputint StopLoss1 = 370; // StopLoss1inputint TakeProfit1 = 20; // TakeProfit1inputint BBPeriod1 = 40; // Tempoh Bands1inputdouble BBDev1 = 1; // Penyimpangan Bands1inputdouble Razmah1 = 450; // Penyimpangan Bands1 dalam Poininputint Start1 = 19; // Waktu Mula1inputstring Symbol2 = "GBPUSD"; // Nama Simbol2inputint StopLoss2 = 450; // StopLoss2inputint TakeProfit2 = 80; // TakeProfit2inputint BBPeriod2 = 8; // Tempoh Bands2inputdouble BBDev2 = 1; // Penyimpangan Bands2inputdouble Razmah2 = 200; // Penyimpangan Bands2 dalam Poininputint Start2 = 20; // Waktu Mula2inputstring Symbol3 = "NZDUSD"; // Nama Simbol3inputint StopLoss3 = 410; // StopLoss3inputint TakeProfit3 = 40; // TakeProfit3inputint BBPeriod3 = 4; // Tempoh Bands3inputdouble BBDev3 = 1.2; // Penyimpangan Bands3inputdouble Razmah3 = 450; // Penyimpangan Bands3 dalam Poininputint Start3 = 19; // Waktu Mula3inputstring Symbol4 = ""; // Nama Simbol4inputint StopLoss4 = 500; // StopLoss4inputint TakeProfit4 = 40; // TakeProfit4inputint BBPeriod4 = 24; // Tempoh Bands4inputdouble BBDev4 = 1; // Penyimpangan Bands4inputdouble Razmah4 = 200; // Penyimpangan Bands4 dalam Poininputint Start4 = 20; // Waktu Mula4inputstring Symbol5 = ""; // Nama Simbol5inputint StopLoss5 = 500; // StopLoss5inputint TakeProfit5 = 40; // TakeProfit5inputint BBPeriod5 = 24; // Tempoh Bands5inputdouble BBDev5 = 1; // Penyimpangan Bands5inputdouble Razmah5 = 200; // Penyimpangan Bands5 dalam Poininputint Start5 = 20; // Waktu Mula5inputstring Symbol6 = ""; // Nama Simbol6inputint StopLoss6 = 500; // StopLoss6inputint TakeProfit6 = 40; // TakeProfit6inputint BBPeriod6 = 24; // Tempoh Bands6inputdouble BBDev6 = 1; // Penyimpangan Bands6inputdouble Razmah6 = 200; // Penyimpangan Bands6 dalam Poininputint Start6 = 20; // Waktu Mula6inputstring Symbol7 = ""; // Nama Simbol7inputint StopLoss7 = 500; // StopLoss7inputint TakeProfit7 = 40; // TakeProfit7inputint BBPeriod7 = 24; // Tempoh Bands7inputdouble BBDev7 = 1; // Penyimpangan Bands7inputdouble Razmah7 = 200; // Penyimpangan Bands7 dalam Poininputint Start7 = 20; // Waktu Mula7inputstring Symbol8 = ""; // Nama Simbol8inputint StopLoss8 = 500; // StopLoss8inputint TakeProfit8 = 40; // TakeProfit8inputint BBPeriod8 = 24; // Tempoh Bands8inputdouble BBDev8 = 1; // Penyimpangan Bands8inputdouble Razmah8 = 200; // Penyimpangan Bands8 dalam Poininputint Start8 = 20; // Waktu Mula8inputstring Symbol9 = ""; // Nama Simbol9inputint StopLoss9 = 500; // StopLoss9inputint TakeProfit9 = 40; // TakeProfit9inputint BBPeriod9 = 24; // Tempoh Bands9inputdouble BBDev9 = 1; // Penyimpangan Bands9inputdouble Razmah9 = 200; // Penyimpangan Bands9 dalam Poininputint Start9 = 20; // Waktu Mula9inputdouble Lot = 1; // Volume Trading

Fig1. Hasil trading EA. EURUSD, H1

Fig.2. Transaksi EA dalam jurnal

Fig.3. Hasil trading dan pengoptimuman EA dari 11.01.2016 hingga 13.09.2016. USDCAD, GBPUSD, NZDUSD, H1
Tips:
- EA ini disyorkan untuk digunakan sebagai pembantu trading dan untuk membangunkan strategi anda sendiri.

Komen 0