Errore numero 6 - pagina 28

 
Questo è quello che ho ricevuto ieri. Build 183 beta di 7/10. Dopo il riavvio manuale tutto va bene.

18:29:55 TradeContext: inizio connessione
18:29:55 'Alpari-Demo': inizio connessione
18:29:56 '67794' - errore di login (6, 10054)
18:29:56 '67794': impossibile effettuare il login [Nessuna connessione].
18:30:35 'TradeContext': inizio connessione
18:30:35 'Alpari-Demo': inizio connessione
18:30:35 '67794' - errore di login (6, 10054)
18:30:35 '67794': impossibile effettuare il login [Nessuna connessione].
18:31:03 'TradeContext': inizio connessione
18:31:03 'Alpari-Demo': inizio connessione
18:31:03 '67794' - errore di login (6, 10054)
18:31:03 '67794': impossibile accedere [No connection]
18:31:10 'TradeContext': inizio connessione
18:31:10 'Alpari-Demo': inizio connessione
18:31:10 '67794' - errore di login (6, 10054)
18:31:10 '67794': impossibile effettuare il login [Nessuna connessione].
18:31:11 'TradeContext': inizio connessione
18:31:11 'Alpari-Demo': inizio connessione
18:31:11 '67794' - errore di login (6, 10054)
18:31:11 '67794': impossibile effettuare il login [Nessuna connessione].
18:31:20 'TradeContext': inizio connessione
18:31:20 'Alpari-Demo': inizio connessione
18:31:20 '67794' - errore di login (6, 10054)
18:31:20 '67794': impossibile accedere [No connection]
18:31:27 'TradeContext': inizio connessione
18:31:27 'Alpari-Demo': inizio connessione
18:31:27 '67794' - errore di login (6, 10054)
18:31:27 '67794': impossibile effettuare il login [Nessuna connessione].
 
xxx
 
Risultati del test esperto proposto da Slava "prendilo da questo thread ed eseguilo".
"L'ho eseguito su due computer con diverse versioni di MT4 dalle 18:00 alle 24:00 del 11.10.2005.
Primo computer: versione Extended Logging del 05.10.2005: 114 errori 146 e 1 errore 138.
Secondo computer: versione ufficiale del 07.10.2005: 278 errori numero 146

Spiega, Slava...
 
Prima comp: versione con log esteso dal 05.10.2005: 114 ошибок номер 146 и 1 номер 138
Seconda comp: versione ufficiale dal 07.10.2005: 278 errori numero 146

Spiega, Slava...

Lasciatemi spiegare. per escludere l'errore 146 (il contesto commerciale è occupato), è necessario mettere in pausa prima di rilasciare il semaforo. invece di
if(!IsTesting()) GlobalVariableSet(strTradeSemaphore, 0.0)
;


scrivere

	if(!IsTesting()) { Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); }


la dimensione del ritardo dovrebbe essere regolata "organoletticamente". può essere diversa per diversi computer

 
<br / translate="no"> la dimensione del ritardo deve essere regolata "organoletticamente". può essere diverso per diversi computer
Fico!
"Qualcosa nel mio motore ha iniziato a battere
Sentiamo
E c'è un odore di benzina che viene dalla cabina.
Annusiamolo".
 
Sleep(1000); - l'errore non è scomparso
Sleep(10000); - l'errore non è scomparso
Come si fa a farlo "organoletticamente"?
 
Sleep(1000); - l'errore non è scomparso<br / translate="no"> Sleep(10000); - l'errore non è scomparso
Qual è il modo "organolettico" per farlo?

trova il valore quando l'errore scompare. riporta questo valore e invia i log di Expert Advisor dal valore precedente (ancora errato) a stringoATmetaquotesDOTru
 
Dopo aver pensato un po' si è scoperto che c'è un metodo esatto. Proverò a formularlo
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);


cioè stiamo aspettando che il nostro contesto commerciale venga rilasciato

e questa situazione è estremamente strana. dopo l'esecuzione di un'operazione commerciale, il contesto viene rilasciato istantaneamente. altrimenti sarebbe impossibile chiudere le posizioni in un ciclo

 
Sleep(1000); - l'errore non è scomparso<br/ translate="no"> Sleep(10000); - l'errore non è scomparso
Cos'è per renderlo "organoletticamente"?

Un'altra domanda. non hai altri Expert Advisors che commerciano? potrebbero non sapere nulla del nostro semaforo commerciale. allora l'errore 146 è molto ben spiegabile
 
registri inviati.
Dove devo mettere questo codice?
while(!IsStopped() && !IsTradeAllowed()) Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0);