Startseite Systemhandel Beitrag

Multi-Währungs-Nacht Scalper: Der Night Scalper Multi für MetaTrader 5

Anhang
16350.zip (1.72 KB, Herunterladen 0 mal)

Der Night Scalper Multi ist ein vielseitiger Nacht Scalper, der bis Mitternacht nach Terminalzeit innerhalb eines engen Bereichs (r) handelt, der mithilfe des Bollinger Bands Indikators bestimmt wird.

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];

Die Position wird nach der im Start-Parameter angegebenen Stunde eröffnet, sofern keine offenen Positionen für das Symbol bestehen.

if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))

Kaufen, wenn der Preis unter der unteren Grenze der Bollinger Bands liegt und der Kanal kleiner ist als der im Razmah-Parameter angegebene Bereich.

if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);

Verkaufen, wenn der Preis über der oberen Grenze der Bollinger Bands liegt und der Kanal kleiner ist als der im Razmah-Parameter angegebene Bereich.

if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);

Die Positionen werden durch Stop-Loss oder zwangsweise nach Mitternacht geschlossen.

else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);

Der Handel erfolgt mithilfe der SymbolTrade-Funktion und verwendet die СTrade-Klasse:

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);
  }

Handelsoperationen werden auf neuen Balken ausgeführt.

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);

Einstellungen:

input string Symbol1     = "USDCAD";       // Symbol1 Name
input int    StopLoss1   = 370;            // StopLoss1
input int    TakeProfit1 = 20;             // TakeProfit1
input int    BBPeriod1   = 40;             // Bands Period1
input double BBDev1      = 1;              // Bands Deviation1
input double Razmah1     = 450;            // Bands Deviation1 in Points
input int    Start1      = 19;             // Start Time1

input string Symbol2     = "GBPUSD";       // Symbol2 Name
input int    StopLoss2   = 450;            // StopLoss2
input int    TakeProfit2 = 80;             // TakeProfit2
input int    BBPeriod2   = 8;              // Bands Period2
input double BBDev2      = 1;              // Bands Deviation2
input double Razmah2     = 200;            // Bands Deviation2 in Points
input int    Start2      = 20;             // Start Time2

input string Symbol3     = "NZDUSD";       // Symbol3 Name
input int    StopLoss3   = 410;            // StopLoss3
input int    TakeProfit3 = 40;             // TakeProfit3
input int    BBPeriod3   = 4;              // Bands Period3
input double BBDev3      = 1.2;            // Bands Deviation3
input double Razmah3     = 450;            // Bands Deviation3 in Points
input int    Start3      = 19;             // Start Time3

input string Symbol4     = "";             // Symbol4 Name
input int    StopLoss4   = 500;            // StopLoss4
input int    TakeProfit4 = 40;             // TakeProfit4
input int    BBPeriod4   = 24;             // Bands Period4
input double BBDev4      = 1;              // Bands Deviation4
input double Razmah4     = 200;            // Bands Deviation4 in Points
input int    Start4      = 20;             // Start Time4

input string Symbol5     = "";             // Symbol5 Name
input int    StopLoss5   = 500;            // StopLoss5
input int    TakeProfit5 = 40;             // TakeProfit5
input int    BBPeriod5   = 24;             // Bands Period5
input double BBDev5      = 1;              // Bands Deviation5
input double Razmah5     = 200;            // Bands Deviation5 in Points
input int    Start5      = 20;             // Start Time5

input string Symbol6     = "";             // Symbol6 Name
input int    StopLoss6   = 500;            // StopLoss6
input int    TakeProfit6 = 40;             // TakeProfit6
input int    BBPeriod6   = 24;             // Bands Period6
input double BBDev6      = 1;              // Bands Deviation6
input double Razmah6     = 200;            // Bands Deviation6 in Points
input int    Start6      = 20;             // Start Time6

input string Symbol7     = "";             // Symbol7 Name
input int    StopLoss7   = 500;            // StopLoss7
input int    TakeProfit7 = 40;             // TakeProfit7
input int    BBPeriod7   = 24;             // Bands Period7
input double BBDev7      = 1;              // Bands Deviation7
input double Razmah7     = 200;            // Bands Deviation7 in Points
input int    Start7      = 20;             // Start Time7

input string Symbol8     = "";             // Symbol8 Name
input int    StopLoss8   = 500;            // StopLoss8
input int    TakeProfit8 = 40;             // TakeProfit8
input int    BBPeriod8   = 24;             // Bands Period8
input double BBDev8      = 1;              // Bands Deviation8
input double Razmah8     = 200;            // Bands Deviation8 in Points
input int    Start8      = 20;             // Start Time8

input string Symbol9     = "";             // Symbol9 Name
input int    StopLoss9   = 500;            // StopLoss9
input int    TakeProfit9 = 40;             // TakeProfit9
input int    BBPeriod9   = 24;             // Bands Period9
input double BBDev9      = 1;              // Bands Deviation9
input double Razmah9     = 200;            // Bands Deviation9 in Points
input int    Start9      = 20;             // Start Time9

input double Lot         = 1;              // Handelsvolumen

Abb.1. Das Ergebnis des EA Handels. EURUSD, H1

Abb.2. Geschäfte des EA im Journal

Abb.3. Ergebnisse des EA Handels und Optimierung vom 11.01.2016 bis 13.09.2016. USDCAD, GBPUSD, NZDUSD, H1

Tipps:

  • Der EA wird empfohlen, um als Handelsassistent zu fungieren und eigene Strategien zu entwickeln.

Verwandte Beiträge

Kommentar (0)