WIESO FÜHRT MEIN CODE KEIN TRADE????

 
//+------------------------------------------------------------------+
//|                                                      SimpleEA.mq5|
//|                        Copyright 2024, MetaTrader 5              |
//|                        Autor: Dein Name                          |
//+------------------------------------------------------------------+
#property strict

// Parameter für die Order
input double LotSize = 0.1;                // Lotgröße, kleiner Wert für Tests
input int StopLossPoints = 40;             // Stop Loss in Punkten (Pips)
input int TakeProfitPoints = 150;          // Take Profit in Punkten (Pips)

//+------------------------------------------------------------------+
//| Expert Tick Funktion                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   // Aktuelle Zeit abrufen und in eine Struktur umwandeln
   datetime currentTime = TimeCurrent();
   MqlDateTime timeStruct;
   TimeToStruct(currentTime, timeStruct);
   
   // Stunden und Minuten abrufen
   int currentHour = timeStruct.hour;
   int currentMinute = timeStruct.min;
   
   // Prüfen, ob es 15:29 Uhr ist
   if(currentHour == 15 && currentMinute == 29)
     {
      // Überprüfen, ob keine offene Position vorhanden ist
      if (PositionsTotal() == 0)
        {
         // Preis für SL und TP berechnen
         double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);  // Punktwert des Symbols
         double price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);    // Kaufpreis (Ask)
         double sl = price - StopLossPoints * point;              // Stop Loss
         double tp = price + TakeProfitPoints * point;            // Take Profit
         
         // MQL5 OrderSend-Struktur verwenden
         MqlTradeRequest request;
         MqlTradeResult result;

         // Struktur zurücksetzen
         ZeroMemory(request);
         ZeroMemory(result);

         // Order konfigurieren
         request.action = TRADE_ACTION_DEAL;  // Ordertyp: Marktausführung
         request.symbol = _Symbol;            // Symbol
         request.volume = LotSize;            // Lotgröße
         request.type = ORDER_TYPE_BUY;       // Kauf-Order
         request.price = price;               // Kaufpreis (Ask)
         request.sl = sl;                     // Stop Loss
         request.tp = tp;                     // Take Profit
         request.deviation = 10;              // Slippage (Erhöht für bessere Ausführung)
         request.magic = 123456;              // Magic Number
         
         // Order senden
         if (OrderSend(request, result))
           {
            if (result.retcode == TRADE_RETCODE_DONE)
              {
               Print("Order erfolgreich gesendet. Ergebniscode: ", result.retcode);
              }
            else
              {
               Print("OrderSend fehlgeschlagen mit Code: ", result.retcode, " - ", GetLastError());
              }
           }
         else
           {
            Print("OrderSend fehlgeschlagen: ", result.retcode, " - ", GetLastError());
           }
        }
      else
        {
         Print("Es sind bereits Positionen offen.");
        }
     }
   else
     {
      Print("Aktuelle Zeit: ", currentHour, ":", currentMinute, " - Keine Order ausgeführt.");
     }
  }
//+------------------------------------------------------------------+

 
  1. Bitte hier nicht schreien (Großbuchstaben), ist unhöflich.
  2. Wen ein EA  (Programm) nicht macht, was es soll, lässt man ihn im Debugger laufen:
        https://www.metatrader5.com/de/metaeditor/help/development/debug
        Zur Fehlerbehebung von MQL5-Programmen (Debugging) : https://www.mql5.com/de/articles/654
        Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators, Siehe Ende: Starten und Debuggen     https://www.mql5.com/de/articles/35
        Die Fehlerverarbeitung und Protokollierung in MQL5:     https://www.mql5.com/de/articles/2041
        https://www.mql5.com/de/articles/272
        Fehler finden und Protokollierung     https://www.mql5.com/de/articles/150
  3. Hier noch Tipps für Anfänger:
    Quickstart for newbies: https://www.mql5.com/de/articles/496
    und: https://www.mql5.com/de/articles/100
    (Schrittweiser Leitfaden für Anfänger zum Schreiben eines Expert Advisors in MQL5)
    Kochbücher: https://www.mql5.com/de/search#!keyword=kochbuch
    https://www.mql5.com/en/forum/447439
    https://www.mql5.com/en/forum/9950
    Bedenke, es gibt fast nichts, was nicht schon für MT4/MT5 programmiert wurde => Suchen ist unsere AI: https://www.mql5.com/de/search

Code-Debugging - Programme entwickeln - MetaEditor Hilfe
  • www.metatrader5.com
MetaEditor hat einen eingebauten Debugger, mit dem Sie die Programmausführung Schritt für Schritt (durch einzelne Funktionen) ü...
 
Sie können den EA komplimentieren im MQL Writer, öffnen sie dazu einfach den Source Code und es wird sich automatisch öffnen im Startbildschirm ihres Computers. (Auf Komplimentieren klicken) Dann die Fehler ausbessern Im Journal lesen und gegebenenfalls im Internet den Fehlercode Nachschlagen. (Neues Schreiben anstelle des falschen Codes). Meistens sind die Fehler schon bekannt und sie können es schnell ausbessern.