EA Compiler Fehler, bitte um Rat

Alex An  

Hallo liebe Moneymaker und Coder,


ich versuche mich kurz zufassen.

Ich hab heute mit EA "coden" angefangen (sitze jetzt ca. seit 6 stunden dran) , benutze jedoch quasi ein Baukasten zum "schreiben". 

Daher bitte ich um Nachsicht und Gnade dass ich nicht direkt Zeile für Zeile im "hallo World" Modus das Coden angehe <3

Wie kann man für mt5 ein ea erstellen der automatisch bei einer Kerzenlänge von 150 pips eine Order von 0.01 in die gegengesetzerichtung ausführt mit einem TP von 62 pips und 102 pips ST.


Meine Code Ausgabe :

input double lotSize = 0.01; // Handelslosgröße
input int candleLength = 150; // Die gewünschte Kerzenlänge in Punkten (Pips)
input int takeProfitPips = 62; // Take Profit in Punkten (Pips)
input int stopLossPips = 102; // Stop Loss in Punkten (Pips)

//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion                                  |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expertenstartfunktion                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   double currentCandleRange = MathAbs(iHigh(Symbol(), 0, 0) - iLow(Symbol(), 0, 0)); // Berechnung der aktuellen Kerzenlänge in Punkten

   if (currentCandleRange >= candleLength * 150)
   {
      // Berechnung der Take Profit- und Stop Loss-Preise
      double takeProfitPrice, stopLossPrice;
      if (iHigh(Symbol(), 0, 0) > iLow(Symbol(), 0, 0))
      {
         // Kauforder (Long) platzieren
         takeProfitPrice = SymbolInfoDouble(Symbol(), SYMBOL_ASK) + takeProfitPips * 62;
         stopLossPrice = SymbolInfoDouble(Symbol(), SYMBOL_BID) - stopLossPips * 102;
         MqlTradeRequest request = {0};
         MqlTradeResult result = {0};
         request.action = TRADE_ACTION_BUY;
         request.symbol = Symbol();
         request.volume = lotSize;
         request.type = ORDER_TYPE_BUY; // Auftragstyp
         request.price = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
         request.slippage = 3;
         request.tp = takeProfitPrice;
         request.sl = stopLossPrice;
         int ticket = OrderSend(request, result);
         if (ticket > 0)
         {
            Print("Kaufauftrag geöffnet: Ticket = ", ticket);
         }
         else
         {
            Print("Fehler beim Öffnen des Kaufauftrags: Fehlercode = ", GetLastError());
         }
      }
      else
      {
         // Verkaufsorder (Short) platzieren
         takeProfitPrice = SymbolInfoDouble(Symbol(), SYMBOL_BID) - takeProfitPips * 62;
         stopLossPrice = SymbolInfoDouble(Symbol(), SYMBOL_ASK) + stopLossPips * 102;
         MqlTradeRequest request = {0};
         MqlTradeResult result = {0};
         request.action = TRADE_ACTION_SELL;
         request.symbol = Symbol();
         request.volume = lotSize;
         request.type = ORDER_TYPE_SELL; // Auftragstyp
         request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID);
         request.slippage = 3;
         request.tp = takeProfitPrice;
         request.sl = stopLossPrice;
         int ticket = OrderSend(request, result);
         if (ticket > 0)
         {
            Print("Verkaufsauftrag geöffnet: Ticket = ", ticket);
         }
         else
         {
            Print("Fehler beim Öffnen des Verkaufsauftrags: Fehlercode = ", GetLastError());
         }
      }
   }
}

//+------------------------------------------------------------------+
//| Experten deinitialisierungsfunktion                               |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   // Platz für Deinitialisierungsaufgaben, falls erforderlich
}

Falsch formatierter Code vom Moderator entfernt

folgende fehler sind aufgetreten :

'ffffff.mq5' ffffff.mq5 1 1

cannot convert 0 to enum 'ENUM_TRADE_REQUEST_ACTIONS' ffffff.mq5 34 37

'TRADE_ACTION_BUY' - undeclared identifier ffffff.mq5 36 27

'slippage' - undeclared identifier ffffff.mq5 41 18

cannot convert 0 to enum 'ENUM_TRADE_REQUEST_ACTIONS' ffffff.mq5 59 37

'TRADE_ACTION_SELL' - undeclared identifier ffffff.mq5 61 27

'slippage' - undeclared identifier ffffff.mq5 66 18

6 errors, 0 warnings 7 1



kann mir jemand helfen ? muss nicht ausführlich werden, ich schätze sehr eure zeit und bin dankbar für jeden Hilfreichen Kommentar.

Lg AL.AN 

Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Handelskonstanten / Typen der Handelsoperationen
Dokumentation zu MQL5: Konstanten, Enumerationen und Strukturen / Handelskonstanten / Typen der Handelsoperationen
  • www.mql5.com
Typen der Handelsoperationen - Handelskonstanten - Konstanten, Enumerationen und Strukturen - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
Carl Schreiber  
Dein Code hat wenig mit MQL5 zu tun und wie ein EA aufgebaut ist.
  1. Bedenke: Es gibt fast nichts, das nicht schon für MT4/5 programmiert wurde!
    Wahrscheinlich gibt es bereits einen EA mit Deiner Idee:
    Suchen, Finden und Kopieren ist viel schneller, als alle Anfängerfehler auszuprobieren!
        => Suchen in den Artikeln: https://www.mql5.com/de/articles
        => Suchen in der Codebase: https://www.mql5.com/de/code
        => Suchen allgemein: https://www.mql5.com/de/search oder über Google mit: "site:mql5.com .." (verzeiht Schreibfehler)
  2. Wenn Du den Cursor auf eine MQL-Funktion setzt und F1 drückst, siehst Du direkt die Referenz, viele mit Beispielen zum Kopieren und Einfügen der schnellsten Form des Programmierens.
  3.     https://www.mql5.com/de/articles/496
        https://www.mql5.com/de/articles/100
        https://www.mql5.com/de/articles/599
        und zur Fehlersuche: https://www.metatrader5.com/de/metaeditor/help/development/debug
        https://www.mql5.com/de/search#!keyword=kochbuch
  4. Fehlersuche: https://www.metatrader5.com/de/metaeditor/help/development/debu
  5. Jeder Artikel erklärt einen (im MT5 integrierten) Indikator und, was er einem sagt, und wie man ihn in einem EA verwenden könnte:
       https://www.mql5.com/de/users/m.aboud/publications


Schnelleinstieg oder Kurzanleitung für Anfänger
Schnelleinstieg oder Kurzanleitung für Anfänger
  • www.mql5.com
Liebe Leser, in diesem Artikel möchte ich Ihnen vermitteln und zeigen, wie man sich möglichst schnell und einfach die Grundlagen der Erstellung automatischer Handelssysteme, wie die Arbeit mit Indikatoren u. a., erschließt. Der Beitrag richtet sich an Neueinsteiger, in ihm kommen weder komplizierte noch schwer zu verstehende Beispiele zur Anwendung.
Grund der Beschwerde: