Aiuta un principiante - Funzioni di giorno e ora - pagina 2

 

Perché ottengo tutti questi errori quando compilo il codice?

Compilazione di 'GAPeaOnlySunday.mq4'...
'bool' - punto e virgola previsto Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 3)
'(' - inizializzazione prevista Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 22)
'TimeDayofWeek' - attesa virgola o punto e virgola Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 23)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 54)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 70)
'(' - inizializzazione prevista Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 22)
'TimeDayofWeek' - attesa virgola o punto e virgola Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 23)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 50)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 54)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 65)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 70)
'sunday_cond' - espressione sullo scopo globale non permessa Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
'sunday_cond' - variabile non definita Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
'monday_cond' - espressione sullo scopo globale non permessa Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
'monday_cond' - variabile non definita Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 34)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 20)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 24)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 35)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 43)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 38)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 42)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 57)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 39)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 45)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 20)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 29)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 32)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 53)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 30)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 55)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 40)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 57)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 99)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 107)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 20)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 30)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 28)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 55)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 30)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 57)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 40)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 57)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 99)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 107)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (122, 43)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 27)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 36)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 46)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 69)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 81)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 94)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (124, 66)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (125, 49)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (126, 31)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (127, 44)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (128, 58)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (134, 44)
')' - parentesi destra sbilanciata Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (136, 12)
57 errore(i), 2 avviso(i)

 

LOL -perché il tuo codice è buggato.

fate il debug.

iniziate a cercare un punto e virgola mancante, come riportato, piuttosto che una parentesi mancante.

codificare non è solo scrivere alcune parole in un editor, il lavoro principale è fare il debug del proprio codice.

 

O potresti tagliare le perdite e contattare il Guinness dei primati?


CB

 

Non ci sono errori nel mio codice EA, l'ho solo testato per essere sicuro. Tutti questi errori sono venuti dopo aver inserito queste quattro righe di codice:


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

 
EagleEye:

Non ci sono errori nel mio codice EA, l'ho solo testato per essere sicuro. Tutti questi errori sono venuti dopo aver inserito queste quattro righe di codice:


if(OrdiniTotali()==0) //non dovrebbe seguire questo -> {

se questo è tutto quello che hai inserito, semplicemente non hai codificato ciò che deve essere fatto quando if è vero

come puoi dire che il "tuo" (non è Mikes EA?) ea è privo di errori dopo che hai cambiato il codice? stai scherzando?

 

Invece di "TimeDayofWeek" è "TimeDayOfWeek". Il codice corretto è:

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

Ho verificato questa parte, quindi l'errore "parentesi destra sbilanciata" è un altro problema del codice rimanente.

 
abstract_mind:

Invece di "TimeDayofWeek" è "TimeDayOfWeek". Il codice corretto è:

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

Ho verificato questa parte, quindi l'errore "parentesi destra sbilanciata" è un altro problema del codice rimanente.

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

questo sopra è almeno un codice di cattivo stile. non c'è da meravigliarsi che errori come i parenti mancanti siano usuali

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

In questo modo è chiaro che le parentesi sono corrette, e questo tipo di codice funziona in quasi tutte le lingue.

I { } sono essenziali per il codice che dovrebbe essere facile da debuggare.

a volte necessari se il codice non è solo in una linea.

 
meikel:

se questo è tutto ciò che avete inserito, non avete codificato ciò che deve essere fatto quando if è vero

Come puoi dire che il "tuo" (non è Mikes EA?) ea è privo di errori dopo aver cambiato il codice? Stai scherzando?

No, non sto scherzando. E se proprio vuoi saperlo Mike, il mio amico, me l'ha mandato molto tempo fa perché voleva che lo provassi.


Quando compilo l'EA senza le 4 linee di codice non c'è nessun errore.

Quando inserisco le 4 linee di codice da qui fa tutti gli errori.

 
EagleEye:

No, non sto scherzando. E se proprio volete saperlo Mike, il mio amico, me l'ha mandato molto tempo fa perché voleva che lo provassi.


Quando compilo l'EA senza le 4 righe di codice non c'è nessun errore.

Quando inserisco le 4 righe di codice da qui fa tutti gli errori.

Segui il suggerimento di abstracts_mind.

hai scritto di, non di

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

tutto dopo il segno di uguale è sbagliato a causa di questo, quindi il compilatore si aspetta un punto e virgola dopo sunday_cond.

 
meikel:

seguire il suggerimento di abstracts_mind.

avete scritto di, non di

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

tutto dopo il segno di uguale è sbagliato a causa di questo, quindi il compilatore si aspetta un punto e virgola dopo sunday_cond.


Quindi come dovrebbe essere il codice?


In questo momento assomiglia a questo:

//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
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();