Was fehlt in diesem einfachen Expert Advisor ?

Einloggen oder registrieren, um einen Kommentar zu schreiben
Kay7667
393
Kay7667  

Guten Abend Leute, und zwar versuche ich hier einen EA zusammen zu basteln, und halte mich an die Anleitung in diesem Link:

https://www.mql5.com/de/articles/4236

Doch irgend was muss fehlt hier in diesem Code.

Mit freundlichen Grüßen.


//+------------------------------------------------------------------+
//|                                                     DREIECK .mq5 |
//|                                                 Copyright 2018,  |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018,"
#property link      "https://www.mql5.com"
#property version   "1.00"

#define O(i) (r[i].open)
#define H(i) (r[i].high)
#define L(i) (r[i].low)
#define C(i) (r[i].close)

//Parameter 
input int      inp_ref=50;

input int      inp_timeout=5;
input bool     inp_bullish_pin_bar = true;
input bool     inp_bearish_pin_bar = true;
input bool     inp_bullish_engulfing = true;
input bool     inp_bearish_engulfing = true;
input double   inp_lot_size=1;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+


CDuration time;

int OnInit()
  {
   time.Start();
   // ... 
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   time.Stop();
   Print("Test lasted "+time.ToStr());
  }

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   //--- bearbeiten der offenen Positionen
   int total= PositionsTotal();
   for(int i=0;i<total;i++)
     {
      PositionSelect(_Symbol);
      datetime t0=datetime(PositionGetInteger(POSITION_TIME));
      if(TimeCurrent()>=(t0+(inp_timeout*3600)))
        {
         trade.PositionClose(PositionGetInteger(POSITION_TICKET));
        }
      else
         break;
     }
   if(IsNewBar()==false)
      return;
//--- prüfen auf vorhandene Muster
   ENUM_PATTERN pat=IsPattern(p_flags,inp_ref);
   if(pat==PAT_NONE)
      return;
//--- Positionseröffnung
   double ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
   if((pat&(PAT_ENGULFING_BULLISH|PAT_PINBAR_BULLISH))!=0)//Kauf     
      trade.Buy(inp_lot_size,_Symbol,ask,NormalizeDouble(ask-inp_sl*_Point,_Digits),NormalizeDouble(ask+inp_tp*_Point,_Digits),DoubleToString(ask,_Digits));
   else//Verkauf
      trade.Sell(inp_lot_size,_Symbol,bid,NormalizeDouble(bid+inp_sl*_Point,_Digits),NormalizeDouble(bid-inp_tp*_Point,_Digits),DoubleToString(bid,_Digits));

  }
//+------------------------------------------------------------------+
Verwenden von OpenCL, um Kerzenmuster zu testen
Verwenden von OpenCL, um Kerzenmuster zu testen
  • www.mql5.com
Wenn Händler anfangen, OpenCL zu beherrschen, stehen sie vor der Frage, wie sie es einsetzen sollen. Solche anschaulichen Beispiele wie die Multiplikation von Matrizen oder das Sortieren großer Datenmengen werden bei der Entwicklung von Indikatoren oder automatisierten Handelssystemen nicht häufig verwendet. Eine weitere gängige Anwendung — das...
Carl Schreiber
Moderator
7826
Carl Schreiber  
Doch irgend was muss fehlt hier in diesem Code.

Frage muss anders lauten: Was fehlt diesem Code nicht?

Zu dem Artikel gibt es eine Zip-Datei mit \Experts, \Include und \Scripts!

Beginne mit der Datei aus \Expert ..

amando
1502
amando  

Ich. Ermute beim komilieren kommen einige fehler

ich seh da kein #include um die ganzen Funktionen einzubinden die da mit eingebunden sind

Kay7667
393
Kay7667  
amando:

Ich. Ermute beim komilieren kommen einige fehler

ich seh da kein #include um die ganzen Funktionen einzubinden die da mit eingebunden sind

Meinst du das include kommt ganz nach oben ? Zu den anderen ? Und was wird included ? 
 Mit freundlichen Grüßen. 
Kay7667
393
Kay7667  
Carl Schreiber:

Frage muss anders lauten: Was fehlt diesem Code nicht?

Zu dem Artikel gibt es eine Zip-Datei mit \Experts, \Include und \Scripts!

Beginne mit der Datei aus \Expert ..

vielen dank, hatte ich übersehen.
Einloggen oder registrieren, um einen Kommentar zu schreiben