Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Telegram!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Expert Advisors

Der mehrwährungs- nächtliche Night Scalper Multi - Experte für den MetaTrader 5

Ansichten:
1770
Rating:
(38)
Veröffentlicht:
2017.02.07 14:47
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Der mehrwährungs- nächtliche Scalper Night Scalper Multi bis zur 12 Uhr nachts nach der Terminalzeit im engen Umfang (r), der nach dem Indikator Bollinger Bands definiert 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 Stunde geöffnet, die in der Variable Start angegeben ist, und wenn es keine geöffneten Positionen nach dem Symbol gibt.

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

Wir kaufen, wenn der Preis niedriger als die untere Grenze Bollinger Bands ist und der Kanal weniger als Umfang ist, der in der Variable Razmah angegeben ist.

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

Wir verkaufen, wenn der Preis höher als die obere Grenze Bollinger Bands ist und der Kanal weniger als Umfang ist, der in der Variable Razmah angegeben ist.

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

Die Schließung der Position geschieht nach den Stopps oder zwangsläufig nach 12 Uhr nachts.

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

Wir handeln mit Hilfe der Funktion SymbolTrade und verwenden die KlasseС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);
  }

Die Handelsoperationen werden auf der neuen Bar durchgefü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;              // Trade Volume

in Abb.1. Das Ergebnis des Handels des Experten. EURUSD, H1

in Abb.2. Die Trades des Experten im Journal

in Abb.3. Das Ergebnis des Handels und der Optimierung des Experten von 11.01.2016 bis 13.09.2016. USDCAD, GBPUSD, NZDUSD, H1


Tipps:

  • Es soll wie ein Helfer im Handeln und für die Entwicklung Ihrer eigenen Strategien verwendet werden.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/16350

Der schlauer Mittelwertbilder Hello Smart Der schlauer Mittelwertbilder Hello Smart

Der Experte mittelt die verlustbringenden Positionen nach dem bestimmten Algorithmus.

XvaMA_HTF XvaMA_HTF

Der Indikator XvaMA mit der Veränderungsmöglichkeit des Timeframes des Indikators in den Eingangsparametern.

JSatl_HTF JSatl_HTF

Der Indikator JSatl mit der Veränderungsmöglichkeit des Timeframes des Indikators in den Eingangsparametern.

AFL_WinnerV2_HTF AFL_WinnerV2_HTF

Der Indikator AFL_WinnerV2 mit der Veränderungsmöglichkeit des Timeframes des Indikators in den Eingangsparametern.