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.

[Supprimé]  

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