[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 157

 
wolf05632:
Ciao a tutti! Provato attraverso la ricerca - non ha trovato! Come spezzare una lunga linea di codice in diverse linee più corte?

Fammi un esempio.

Se stiamo parlando di confronto (if), allora potete scrivere in variabili di tipo bool - ogni condizione in una linea separata, e nell'if finale sostituire solo le variabili.

 

Cari professionisti, il tester dà un errore:

ERRORE_INVALIDO_FUNZIONE_VALORE_PARAM.4051Valore del parametro della funzione non valido


Ecco il log nel file di registro:

2011.09.08 20:40:02 2010.12.28 10:00 Robot 2 EURUSD,H1: aperto #277 compra 0,50 EURUSD a 1,32316 ok

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: Errore OrderClose 4051

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: ticket non valido per la funzione OrderClose

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: chiudere #276 comprare 0,50 EURUSD a 1,32347 al prezzo 1,32114


Cioè, commercia bene prima e dopo. Per favore, ditemi, cosa significa e come correggerlo?

 
TheXpert:
Quindi gli MC devono attraversare tutto il terminale perché non si possono contare gli zeri?

Una seccatura? È un bug e dovrebbe essere risolto come qualsiasi altro.

All'Avto-VAZ, probabilmente ragionano come te - l'autista si annoia a correre dietro la macchina per raccogliere i pezzi di ferro che cadono, e devono scavare in tutta la macchina per questo?

 
Xaoss1990:

Cari professionisti, il tester dà un errore:

Potete dirmi cosa significa questo errore?
dice

2011.09.08 20:40:02 2010.12.28 09:00 Robot 2 EURUSD,H1: ticket non valido per la funzione OrderClose
 
sergeev:
dice



Cosa significa? Numero d'ordine errato per la funzione di chiusura dell'ordine? Cioè sta cercando di chiudere un ordine che non esiste?
 
Xaoss1990:
Cosa significa questo? Il numero d'ordine sbagliato per la funzione di chiusura dell'ordine? Cioè sta cercando di chiudere un ordine che non esiste?

Aggiungete alcuni avvisi temporanei al modulo OrderClose(), e metteteci delle variabili (numero del biglietto, ecc.) - poi controllate i loro valori nel log.

 
chief2000:

Fammi un esempio.

Se si tratta di confronto (if), potete scrivere in variabili bool - ogni condizione su una linea separata, e mettere solo le variabili nell'if finale.




Stiamo parlando di "WOW"! Supponiamo una lunga espressione matematica. In VBA, diciamo, per dividere una lunga stringa in due, in qualsiasi posto valido di questa stringa dobbiamo mettere _

e l'espressione rimanente può essere aggiunta su una nuova linea.

 
chief2000:

Aggiungete alcuni avvisi temporanei al modulo OrderClose(), e metteteci dentro delle variabili (numero del biglietto ecc.) - poi controllate i loro valori nel log.



Aggiunto, questo è quello che ho ottenuto:

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: aperto #12 comprare 0,10 EURUSD a 1,45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: chiudere #12 comprare 0,10 EURUSD a 1,45027 a 1,45083

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: Allarme: OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: ticket non valido per la funzione OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: errore OrderClose 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1: aperto #13 comprare 0,10 EURUSD a 1,45243 ok

E così via....

Non capisco quale sia la ragione di questo errore ((

 
Xaoss1990:

L'ho aggiunto, questo è quello che ho ottenuto:

2011.09.08 21:26:15 2010.01.13 11:00 Robot 2 EURUSD,H1: aperto #12 comprare 0,10 EURUSD a 1,45027 ok

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: chiudere #12 comprare 0,10 EURUSD a 1,45027 al prezzo 1,45083

2011.09.08 21:26:15 2010.01.13 17:00 Robot 2 EURUSD,H1: Allarme: OrderTicket() = 12, lots = 0.1, Bid = 1.4508

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: ticket non valido per la funzione OrderClose

2011.09.08 21:26:15 2010 01.13 17:00 Robot 2 EURUSD,H1: errore OrderClose 4051

2011.09.08 21:26:15 2010.01.14 01:00 Robot 2 EURUSD,H1: aperto #13 comprare 0,10 EURUSD a 1,45243 ok

E così via....

Non capisco cosa causa questo errore ((

Ho dato un esempio di come debuggare un problema.

Ecco un esempio di soluzione in un caso: "Biglietto non valido per la funzione OrderClose" - https://www.mql5.com/ru/forum/100874

Se questo non aiuta, c'è Google.

 
chief2000:

Ho dato un esempio di come debuggare il problema, e poi bisogna capire il codice.

Ecco un esempio di soluzione in un caso: "Biglietto non valido per la funzione OrderClose" - https://www.mql5.com/ru/forum/100874

Se non aiuta, c'è Google.

Non riesco a capire cosa significa questo errore ##4051

ERRORE_INVALIDO_FUNZIONE_VALORE_PARAM.4051Valore del parametro della funzione non valido


Cosa significa? Numero d'ordine errato per la funzione di chiusura dell'ordine? Cioè sta cercando di chiudere un ordine che non esiste?

Esce non appena l'ordine viene chiuso con uno stop. E i grilletti di arresto...

Aiuto, per favore... Ho lottato per giorni....