Scalper Malam Multi-Mata Wang: Sistem Trading Terbaik untuk MetaTrader 5

Mike 2017.01.18 18:24 167 0 0
Lampiran

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.
Senarai
Komen 0