Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 67

 
alexey1979621:

Quando si testa un Expert Advisor nel diario appare un errore

2013.08.07 12:35:41 2012.06.06 05:29 Puria - 1.452 - SQ EURUSD,M30: Errore 4002 (array index - out of range)

2013.08.07 12:35:41 2012.06.06 05:29 Puria - 1.452 - SQ EURUSD,M30: Tentativo di aprire un ordine di acquisto. In attesa di una risposta.

Di conseguenza, gli ordini non sono aperti. Come eliminare l'errore? Quali sono le ragioni?

Sarei felice di aiutare.

Senza codice, posso solo suggerire che l'indice che punta a una cella dell'array punta all'esterno dell'array. Se una matrice ha dimensione 10 e l'indice ha dimensione 10, l'indice punta all'undicesima cella inesistente della matrice, perché l'indicizzazione delle matrici inizia con zero. Per questo esempio: un array di dimensione 10 è indicizzato da 0 a 9 - un totale di 10.

 
Mepkypuu:
Non molto sarà chiaro dai soli messaggi del terminale, non molto ti aiuterà se non posti il codice EA. Da qualche parte nel tuo array stai scrivendo un lotto di dati inesistente, come uno dei presupposti, ma indovinare non è il mio profilo.
Ho ricevuto questo EA da un amico. L'ho visto funzionare senza errori di persona su Skype. Ho ricevuto l'errore 4002. Cos'altro potrebbe essere?
 
alexey1979621:
Ho avuto questo consigliere da un amico. Funziona senza alcun errore, l'ho visto di persona su Skype. Ho ricevuto l'errore 4002. Cos'altro potrebbe essere?

Vi ho dato una risposta inequivocabile. Non si può riparare senza codice.
 
r772ra:
È possibile.

Grazie! Forse avete visto il dominio pubblico?
 
001:
Grazie! Forse visto nel pubblico dominio?

Qui
 
alexey1979621:
Ho avuto questo consigliere da un amico. Funziona senza alcun errore, l'ho visto di persona su Skype. Ho ricevuto l'errore 4002. Cos'altro potrebbe essere?
Ancora una volta, indovinare non è la mia area di competenza. Guardate il codice, dove si scrivono gli array, lavorate attraverso tutti i possibili modi di raccogliere i dati nella vostra mente, e uno di essi non esisterà. Dovrebbe essere escluso in qualche modo. E in generale, chiedere al tuo amico di affrontare l'errore? È l'autore di Expert Advisor, vero? È di sua competenza assicurarsi che il codice escluda possibili errori di esecuzione.
 

Potete dirmi quanto è corretta una tale voce, per favore?

for(int i=ObjectsTotal(OBJ_HLINE)-1; i>=0; i--) 

Non risulterà che quando ho, per esempio, 3 oggetti orizzontali, e un totale di 10 oggetti, e questi oggetti orizzontali sparsi tra i 10, allora la ricerca 3 top sarà analizzata, ma i prossimi 7, che saranno tutti (o parte) delle linee orizzontali, non verrà? O si ordina automaticamente per linee orizzontali?

E, se quest'ultimo è vero, è possibile fare una tale iscrizione:

for(int i=ObjectsTotal(OBJ_HLINE && OBJ_TREND)-1; i>=0; i--) 
 
Chiripaha:

Potete per favore dirmi se tale voce è corretta:

Potrebbeessere che quando ho, per esempio, 3 oggetti orizzontali, e un totale di 10 oggetti, e questi oggetti orizzontali sparsi tra i 10, allora la ricerca 3 top sarà analizzata, ma i prossimi 7, che saranno tutti (o parte) delle linee orizzontali, non verrà? O si ordina automaticamente per linee orizzontali?

E, se quest'ultimo è vero, è possibile fare una tale iscrizione:

for(int i=ObjectsTotal(OBJ_HLINE && OBJ_TREND)-1; i>=0; i--) 

1. Non funzionerà. Si ordina per orizzontale.

2. Dovrebbe?

 
Ordina per primo e non per orizzontale....
 
artmedia70:

1. Non funzionerà. Si ordina per orizzontale.

2. Dovrebbe?

2. Devo farlo. Ho bisogno di visualizzare 2 tipi di oggetti: linee orizzontali e linee di tendenza. Il resto degli oggetti non sono rilevanti in questa enumerazione.

FAQ:
Ordina per primo e non per orizzontale....
Se ho capito bene, le opinioni sono diverse? o la risposta sulle "prime" non contraddice l'affermazione precedente?