Hilfe für einen Neuling - Tag- und Zeitfunktionen - Seite 2

 

Warum erhalte ich all diese Fehler, wenn ich den Code kompiliere?

Kompilieren von 'GAPeaOnlySunday.mq4'...
'bool' - Semikolon erwartet Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 3)
'(' - Initialisierung erwartet Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 22)
'TimeDayofWeek' - Komma oder Semikolon erwartet Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 23)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 54)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 70)
'(' - Initialisierung erwartet Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 22)
'TimeDayofWeek' - Komma oder Semikolon erwartet Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 23)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 50)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 54)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 65)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 70)
sunday_cond' - Ausdruck im globalen Bereich nicht zulässig Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
'sunday_cond' - Variable nicht definiert Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
monday_cond' - Ausdruck im globalen Bereich nicht erlaubt Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
'monday_cond' - Variable nicht definiert Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 34)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 20)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 24)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 35)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 43)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 38)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 42)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 57)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 39)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 45)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 20)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 29)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 32)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 53)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 30)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 55)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 40)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 57)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 99)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 107)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 20)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 30)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 28)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 55)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 30)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 57)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 40)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 57)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 99)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 107)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (122, 43)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 27)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 36)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 46)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 69)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 81)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 94)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (124, 66)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (125, 49)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (126, 31)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (127, 44)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (128, 58)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (134, 44)
')' - unsymmetrische rechte Klammer Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (136, 12)
57 Fehler, 2 Warnung(en)

 

LOL - weil Ihr Code fehlerhaft ist.

Fehlersuche.

fangen Sie an, nach einem fehlenden Semikolon zu suchen, wie berichtet, als nach einer fehlenden Klammer.

Codierung ist nicht nur das Schreiben einiger Wörter in einem Editor, die Hauptarbeit besteht darin, den eigenen Code zu debuggen.

 

Oder Sie könnten Ihre Verluste begrenzen und sich an das Guinness-Buch der Rekorde wenden?


CB

 

Es gibt keine Fehler auf meinem EA-Code, nur getestet, um sicher zu sein. Alle diese Fehler kamen, nachdem ich diese vier Codezeilen eingefügt habe:


bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayofWeek(TimeCurrent())==1) && (Hour()<=15);
if(sunday_cond || monday_cond )
if(OrdersTotal()==0)

 
EagleEye:

Es gibt keine Fehler auf meinem EA-Code, nur getestet, um sicher zu sein. Alle diese Fehler kamen, nachdem ich diese vier Zeilen Code eingefügt:


if(OrdersTotal()==0) //sollte hier nicht folgendes folgen -> {

Wenn das alles ist, was Sie eingefügt haben, haben Sie einfach nicht kodiert, was zu tun ist, wenn if wahr ist

wie können Sie sagen, dass "Ihr" (ist es nicht Mikes EA?) ea ist fehlerfrei, nachdem Sie den Code geändert? machen Sie Witze?

 

Anstelle von "TimeDayofWeek" heißt es "TimeDayOfWeek". Der richtige Code lautet:

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);
if(OrdersTotal()==0)
if(sunday_cond || monday_cond )
go_trading();

Ich habe diesen Teil überprüft, so dass der Fehler "unausgewogene rechte Klammer" ein weiteres Problem des restlichen Codes ist.

 
abstract_mind:

Anstelle von "TimeDayofWeek" heißt es "TimeDayOfWeek". Der richtige Code lautet:

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);
if(OrdersTotal()==0)
if(sunday_cond || monday_cond )
go_trading();

Ich habe diesen Teil überprüft, also ist der Fehler "unausgewogene rechte Klammer" ein weiteres Problem des verbleibenden Codes.

if(OrdersTotal()==0)
if( sunday_cond || monday_cond )
go_trading();

das oben ist zumindest schlechter code. kein wunder, dass fehler wie fehlende klammern üblich sind

if(
    (OrdersTotal()==0)
    &&
    (sunday_cond || monday_cond )
  ) 
   {
    go_trading();
   }

Auf diese Weise ist klar zu erkennen, dass die Klammern korrekt sind, und diese Art von Code funktioniert in fast jeder Sprache.

{ } sind unerlässlich für Code, der einfach zu debuggen sein soll.

manchmal notwendig sind, wenn der Code nicht nur aus einer Zeile besteht.

 
meikel:

wenn das alles ist, was Sie eingefügt haben, haben Sie einfach nicht codiert, was zu tun ist, wenn if wahr ist

wie können Sie sagen, dass "Ihre" (ist es nicht Mikes EA?) ea ist fehlerfrei, nachdem Sie den Code geändert? machen Sie Witze?

Nein, ich mache keine Witze. Und wenn Sie es wirklich wissen wollen, Mike, mein Freund, hat es mir schon vor langer Zeit geschickt, weil er wollte, dass ich es ausprobiere.


Wenn ich den EA ohne die 4 Codezeilen kompiliere, gibt es überhaupt keinen Fehler.

Wenn ich die 4 Codezeilen von hier einfüge, macht es alle Fehler.

 
EagleEye:

Nein, das ist kein Scherz. Und wenn du es wirklich wissen willst, Mike, mein Freund, hat es mir schon vor langer Zeit geschickt, weil er wollte, dass ich es ausprobiere.


Wenn ich den EA ohne die 4 Codezeilen kompiliere, gibt es überhaupt keinen Fehler.

Wenn ich die 4 Codezeilen von hier einfüge, macht es alle Fehler.

Folgen Sie dem Hinweis von abstracts_mind.

Sie haben of geschrieben, nicht Of

bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);

all nach dem Gleichheitszeichen ist deshalb falsch, da der Compiler nach sunday_cond ein Semikolon erwartet.

 
meikel:

folgen Sie dem Hinweis von abstracts_mind.

Sie haben of geschrieben, nicht Of

bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);

alles nach dem Gleichheitszeichen ist deshalb falsch, denn der Compiler erwartet ein Semikolon nach sunday_cond.


Wie sollte der Code also aussehen?


Im Moment sieht er so aus:

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);

if(
(OrdersTotal()==0)
&&
(sunday_cond || monday_cond )
)

{
if (Bars<100 || IsTradeAllowed()==false) return;

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

Grund der Beschwerde: