Aidez un débutant - Fonctions jour et heure - page 2

 

Pourquoi est-ce que j'obtiens toutes ces erreurs lorsque je compile le code ?

Compilation de 'GAPeaOnlySunday.mq4'...
bool' - point-virgule attendu Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 3)
'(' - initialisation attendue Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 22)
TimeDayofWeek' - virgule ou point-virgule attendu Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 23)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 54)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 70)
'(' - initialisation attendue Z:\ForexTrading\GabEA_From MikeGAPeaOnlySunday.mq4 (87, 22)
TimeDayofWeek' - virgule ou point-virgule attendu Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 23)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 50)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 54)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 65)
')' - Parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 70)
sunday_cond' - expression sur la portée globale non autorisée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
sunday_cond' - Variable non définie Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
monday_cond' - expression sur la portée globale non autorisée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
'monday_cond' - Variable non définie Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 34)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 20)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 24)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 35)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 43)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 38)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 42)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 57)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 39)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 45)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 20)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 29)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 32)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 53)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 30)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 55)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 40)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 57)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 99)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 107)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 20)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 30)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 28)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 55)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 30)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 57)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 40)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 57)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 99)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 107)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (122, 43)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 27)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 36)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 46)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 69)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 81)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 94)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (124, 66)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (125, 49)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (126, 31)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (127, 44)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (128, 58)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (134, 44)
')' - parenthèse droite non équilibrée Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (136, 12)
57 erreur(s), 2 avertissement(s)

 

LOL - Parce que votre code est buggé.

Déboguez-le.

Commencez à chercher un point-virgule manquant, comme signalé, plutôt qu'une parenthèse manquante.

coder n'est pas seulement écrire quelques mots dans un éditeur, le travail principal est de déboguer son propre code.

 

Ou bien vous pourriez arrêter les frais et contacter le Livre Guinness des records ?


CB

 

Il n'y a pas d'erreurs dans mon code EA, je l'ai juste testé pour être sûr. Toutes ces erreurs sont apparues après que j'ai inséré ces quatre lignes de code :


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

 
EagleEye:

Il n'y a pas d'erreurs dans mon code EA, je l'ai juste testé pour être sûr. Toutes ces erreurs sont apparues après que j'ai inséré ces quatre lignes de code :


if(OrdersTotal()==0) //ne devrait pas suivre ce qui suit -> {

Si c'est tout ce que vous avez inséré, vous n'avez pas codé ce qui doit être fait lorsque if est vrai.

comment pouvez-vous dire que "votre" (n'est-ce pas Mikes EA ?) ea est sans erreur après avoir changé le code ? vous plaisantez ?

 

Au lieu de "TimeDayofWeek", c'est "TimeDayOfWeek". Le code correct est :

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

J'ai vérifié cette partie, donc l'erreur "parenthèse droite non équilibrée" est un autre problème du code restant.

 
abstract_mind:

Au lieu de "TimeDayofWeek", c'est "TimeDayOfWeek". Le code correct est :

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

J'ai vérifié cette partie, donc l'erreur "parenthèse droite déséquilibrée" est un autre problème de code restant.

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

ce qui précède est au moins un code de mauvais style. il n'est pas étonnant que des erreurs comme les parenthèses manquantes soient habituelles

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

De cette façon, il est clair que les parenthèses sont correctes, et ce type de code fonctionne dans presque toutes les langues.

Les { } sont essentiels pour le code qui doit être facile à déboguer.

parfois nécessaires si le code ne tient pas sur une seule ligne.

 
meikel:

Si c'est tout ce que vous avez inséré, vous n'avez pas codé ce qui doit être fait quand if est vrai.

comment pouvez-vous dire que "votre" (n'est-ce pas Mikes EA ?) ea est sans erreur après avoir changé le code ? vous plaisantez ?

Non, je ne plaisante pas. Et si vous voulez vraiment savoir, Mike, mon ami, me l'a envoyé il y a longtemps parce qu'il voulait que je l'essaie.


Quand je compile l'EA sans les 4 lignes de code, il n'y a pas d'erreur du tout.

Quand j'insère les 4 lignes de code d'ici, il fait toutes les erreurs.

 
EagleEye:

Non, je ne plaisante pas. Et si vous voulez vraiment savoir, Mike, mon ami, me l'a envoyé il y a longtemps parce qu'il voulait que je l'essaie.


Quand je compile l'EA sans les 4 lignes de code, il n'y a pas d'erreur du tout.

Quand j'insère les 4 lignes de code d'ici, il fait toutes les erreurs.

Suivez le conseil d'abstracts_mind.

vous avez écrit of, pas Of

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

tout après le signe égal est faux à cause de cela, donc le compilateur s'attend à un point-virgule après sunday_cond.

 
meikel:

suivez le conseil d'abstracts_mind.

vous avez écrit of, pas Of

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

tout après le signe égal est faux à cause de cela, donc le compilateur s'attend à un point-virgule après sunday_cond.


A quoi devrait ressembler le code ?


Pour l'instant, il ressemble à ceci :

//+------------------------------------------------------------------+
//| 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() ;