Code Correction

 

Hey, first of all: I have literally no Idea how to code. 

But I managed to ask Chatgpt to code me what I wanted my EA to do.
Unfortunately I have 4 Errors and Chatgpt doesnt know how to remove them. Which is basically why I am asking you guys for help.

I think the main issue of the code is that it is expecting a proper closing of the line. I hope this won't be a big issue.

The Code has german words in it but I hope it doesnt bother you since you already know what the Code is saying.


The Code has these Errors:

';' - open parenthesis expected Line 63 Split 55

';' - open parenthesis expected Line 64 Split 68

';' - open parenthesis expected Line 77 Split 55

';' - open parenthesis expected Line 78 Split 68



And this is the code:

//+------------------------------------------------------------------+
//|                                                      SimpleBot.mq5 |
//|                        Copyright 2023, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
input int BullCandles = 5; // Anzahl der bullischen Kerzen
input int BearCandles = 5; // Anzahl der bärischen Kerzen
input int EntryTime = 5;   // Zeit in Minuten vor dem Beginn der nächsten Kerze
input int TakeProfit = 300; // Take-Profit in Pips

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   // Aktuelle Zeit und Kerzengröße abrufen
   datetime currentTime = TimeCurrent();
   int candleSize = PeriodSeconds(PERIOD_M30);
   
   // Aktuelle und vorherige Kerzen abrufen
   double currentCandleOpen = iOpen(Symbol(), PERIOD_M30, 0);
   double currentCandleClose = iClose(Symbol(), PERIOD_M30, 0);
   double prevCandleOpen = iOpen(Symbol(), PERIOD_M30, 1);
   double prevCandleHigh = iHigh(Symbol(), PERIOD_M30, 1);
   double prevCandleClose = iClose(Symbol(), PERIOD_M30, 1); // Hinzugefügt
   
   // Anzahl der bullischen und bärischen Kerzen zählen
   int bullCount = 0;
   int bearCount = 0;
   for (int i = 0; i < BullCandles; i++)
   {
      if (iClose(Symbol(), PERIOD_M30, i) > iOpen(Symbol(), PERIOD_M30, i))
         bullCount++;
   }
   for (int i = 0; i < BearCandles; i++)
   {
      if (iOpen(Symbol(), PERIOD_M30, i) > iClose(Symbol(), PERIOD_M30, i))
         bearCount++;
   }
   
   // Wenn bullische Bedingung erfüllt ist
   if (bullCount >= BullCandles && currentCandleClose < prevCandleOpen)
   {
      datetime entryTime = currentTime + EntryTime * 60;
      if (TimeCurrent() < entryTime)
      {
         double stopLoss = prevCandleHigh + 10 * Point; // Stop-Loss 10 Pips über dem höchsten Wert der vorherigen Kerze
         double takeProfit = currentCandleOpen - TakeProfit * Point; // Take-Profit auf Basis des Open-Preises der aktuellen Kerze
         
         // Hier kannst du deinen Verkaufs-Trade platzieren
         // Verwende die OrderSend-Funktion, um eine Verkaufsorder zu platzieren
      }
   }
   
   // Wenn bärische Bedingung erfüllt ist
   if (bearCount >= BearCandles && currentCandleOpen < prevCandleClose)
   {
      datetime entryTime = currentTime + EntryTime * 60;
      if (TimeCurrent() < entryTime)
      {
         double stopLoss = prevCandleHigh + 10 * Point; // Stop-Loss 10 Pips über dem höchsten Wert der vorherigen Kerze
         double takeProfit = currentCandleOpen + TakeProfit * Point; // Take-Profit auf Basis des Open-Preises der aktuellen Kerze
         
         // Hier kannst du deinen Kauf-Trade platzieren
         // Verwende die OrderSend-Funktion, um eine Kauforder zu platzieren
      }
   }
}

Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
Entdecken Sie neue Möglichkeiten des MetaTrader 5 mit MQL5 Gemeinschaft und Services
  • 2023.08.05
  • www.mql5.com
MQL5: eine Sprache von Handelsstrategien, eingebaut in die Handelsplattform MetaTrader 5, mit der man eigene Handelsroboter, technische Indikatoren, Skripte und Funktionsbibliotheken
 

Ich glaube nicht das dir jemand helfen wird den code zu korrigieren.

lern programmieren oder erstelle einen Auftrag in der freelance section

mql5 lernen
mql5 lernen
  • 2023.06.23
  • www.mql5.com
hi :) habt ihr empfehlungen wie ich am einfachsten mql lernen kann...
 
  1. Wir können hier Deutsch sprechen :) 
  2.  "Es gibt fast nichts, das nicht schon für MT4/5 programmiert wurde!" (Carl Schreiber)
        => 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)
  3. Indikatoren: siehe diese Artikelserie:
        https://www.mql5.com/de/users/m.aboud/publications
        Jeder Artikel erklärt einen (im MT5 integrierten) Indikator und, was er einem sagt, und wie man ihn in einem EA verwenden könnte.
Artikel über MQL5
Artikel über MQL5
  • www.mql5.com
Artikel über das Programmieren in MQL5
 
j0rdnerik:

Hey, first of all: I have literally no Idea how to code. 

But I managed to ask Chatgpt to code me what I wanted my EA to do.
Unfortunately I have 4 Errors and Chatgpt doesnt know how to remove them. Which is basically why I am asking you guys for help.

I think the main issue of the code is that it is expecting a proper closing of the line. I hope this won't be a big issue.

The Code has german words in it but I hope it doesnt bother you since you already know what the Code is saying.


The Code has these Errors:

';' - open parenthesis expected Line 63 Split 55

';' - open parenthesis expected Line 64 Split 68

';' - open parenthesis expected Line 77 Split 55

';' - open parenthesis expected Line 78 Split 68



Bitte poste deinen Code korrekt, keiner kann das lesen. Benutze den Code-Button und bearbeite deinen Beitrag mit dem "bearbeiten" Link unten rechts.
 
Dominik Egert #:

Bitte poste deinen Code korrekt, keiner kann das lesen. Benutze den Code-Button und bearbeite deinen Beitrag mit dem "bearbeiten" Link unten rechts.

Hey, danke für den Tipp. Habs geändert :)

 
j0rdnerik:

Hey, first of all: I have literally no Idea how to code. 

But I managed to ask Chatgpt to code me what I wanted my EA to do.
Unfortunately I have 4 Errors and Chatgpt doesnt know how to remove them. Which is basically why I am asking you guys for help.

I think the main issue of the code is that it is expecting a proper closing of the line. I hope this won't be a big issue.

The Code has german words in it but I hope it doesnt bother you since you already know what the Code is saying.


The Code has these Errors:

';' - open parenthesis expected Line 63 Split 55

';' - open parenthesis expected Line 64 Split 68

';' - open parenthesis expected Line 77 Split 55

';' - open parenthesis expected Line 78 Split 68



And this is the code:


Allgemein gilt, in mql5 Foren helfen wir nicht mit ChatGPT, denn wir unterstützen nur echte Entwickler.

Was du aber machen kannst ist, ChatGPT nach lösungen fragen zu den Problemen, die du mit dem Code hast, die dir ChatGPT eingebrockt hat.

Wie man aus ChatGPT guten Code herausholen kann, wird in einigen YouTube Videos erklärt. Es ist alles eine Frage der Fragestellung....


 
j0rdnerik:

Hallo,

hier ist von den Fehler korrigierter Code.


//+------------------------------------------------------------------+
//|                                                      SimpleBot.mq5 |
//|                        Copyright 2023, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
input int BullCandles = 5; // Anzahl der bullischen Kerzen
input int BearCandles = 5; // Anzahl der bärischen Kerzen
input int EntryTime = 5;   // Zeit in Minuten vor dem Beginn der nächsten Kerze
input int TakeProfit = 300; // Take-Profit in Pips

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   // Aktuelle Zeit und Kerzengröße abrufen
   datetime currentTime = TimeCurrent();
   int candleSize = PeriodSeconds(PERIOD_M30);
   
   // Aktuelle und vorherige Kerzen abrufen
   double currentCandleOpen = iOpen(Symbol(), PERIOD_M30, 0);
   double currentCandleClose = iClose(Symbol(), PERIOD_M30, 0);
   double prevCandleOpen = iOpen(Symbol(), PERIOD_M30, 1);
   double prevCandleHigh = iHigh(Symbol(), PERIOD_M30, 1);
   double prevCandleClose = iClose(Symbol(), PERIOD_M30, 1); // Hinzugefügt
   
   // Anzahl der bullischen und bärischen Kerzen zählen
   int bullCount = 0;
   int bearCount = 0;
   for (int i = 0; i < BullCandles; i++)
   {
      if (iClose(Symbol(), PERIOD_M30, i) > iOpen(Symbol(), PERIOD_M30, i))
         bullCount++;
   }
   for (int i = 0; i < BearCandles; i++)
   {
      if (iOpen(Symbol(), PERIOD_M30, i) > iClose(Symbol(), PERIOD_M30, i))
         bearCount++;
   }
   
   // Wenn bullische Bedingung erfüllt ist
   if (bullCount >= BullCandles && currentCandleClose < prevCandleOpen)
   {
      datetime entryTime = currentTime + EntryTime * 60;
      if (TimeCurrent() < entryTime)
      {
         double stopLoss = prevCandleHigh + 10 * _Point; // Stop-Loss 10 Pips über dem höchsten Wert der vorherigen Kerze
         double takeProfit = currentCandleOpen - TakeProfit * _Point; // Take-Profit auf Basis des Open-Preises der aktuellen Kerze
         
         // Hier kannst du deinen Verkaufs-Trade platzieren
         // Verwende die OrderSend-Funktion, um eine Verkaufsorder zu platzieren
      }
   }
   
   // Wenn bärische Bedingung erfüllt ist
   if (bearCount >= BearCandles && currentCandleOpen < prevCandleClose)
   {
      datetime entryTime = currentTime + EntryTime * 60;
      if (TimeCurrent() < entryTime)
      {
         double stopLoss = prevCandleHigh + 10 * _Point; // Stop-Loss 10 Pips über dem höchsten Wert der vorherigen Kerze
         double takeProfit = currentCandleOpen + TakeProfit * _Point; // Take-Profit auf Basis des Open-Preises der aktuellen Kerze
         
         // Hier kannst du deinen Kauf-Trade platzieren
         // Verwende die OrderSend-Funktion, um eine Kauforder zu platzieren
      }
   }
}

Gruß Igor