Errori, bug, domande - pagina 1905

 
8.6 е+18
Sei sicuro che quel numero sia esattamente 8600000000000000000000?
Se si converte quel numero di bit in gigabyte si ottiene - 107500000000000000GB.
 
2017.05.29 22:53:02.047 MQL4 Market: failed create temp file for downloading product 'Prodigy' [267]

 
Ha scaricato la batteria del portatile.
Stava lavorando in MetaEditor 1601.
La carica della batteria era allo 0% e durante la compilazione del programma MT4 il portatile era senza energia.
Sono rimasto molto sorpreso, quando la prossima volta ho aperto il file di lavoro invece del codice conteneva 311 KB di valori NUL.

Se possibile, considerate un'implementazione più sicura della procedura di salvataggio durante la compilazione.
 
Sergey Dzyublik:
Ha scaricato la batteria del portatile.
Stava lavorando in MetaEditor 1601.
La carica della batteria era allo 0% e durante la compilazione del programma MT4 il portatile era senza energia.
Sono rimasto molto sorpreso, quando la prossima volta ho aperto il file di lavoro invece del codice conteneva 311 KB di valori NUL.

Se possibile, considerate un'implementazione più sicura della procedura di salvataggio durante la compilazione.

Forse ha senso comprare un portatile con una batteria più potente? O lavorare in sicurezza dalla rete ?
 
Sergey Dzyublik:
Ha scaricato la batteria del portatile.
Stava lavorando in MetaEditor 1601.
La carica della batteria era allo 0% e durante la compilazione del programma MT4 il portatile era senza energia.
Sono rimasto molto sorpreso, quando la prossima volta ho aperto il file di lavoro invece del codice conteneva 311 KB di valori NUL.

Se possibile, considerate un'implementazione più sicura della procedura di salvataggio durante la compilazione.
Sarebbe meglio avere una guardia di sicurezza sul tuo portatile per tenere d'occhio la carica della batteria e collegarlo se necessario ))
 
Konstantin:
meglio mettere una guardia di sicurezza sul portatile per monitorare la carica della batteria e collegarlo se necessario ))

L'ibernazione è lì per questo scopo... e prese di corrente con un timer...

 
Sergey Dzyublik:
Sei sicuro che quel numero sia esattamente 8600000000000000000000?
Se si traduce quel numero di bit in gigabyte si ottiene - 107500000000000000GB.


Ho contato gli zeri da solo....

Ora imposta 6.18e+18, se più OnTesterPass è chiamato solo sulla nuova generazione. Con il bruteforcing diretto non viene chiamato affatto... E non una parola su questo nell'aiuto. La gente deve cercare da sola queste "peculiarità" del tester, spendendoci molto tempo.


 

Sono confuso dalle specifiche del contratto:

1. dimensione tick == passo tick ==SYMBOL_TRADE_TICK_SIZE

2. Tick price == valore di 1 pip ==SYMBOL_POINT

Ho capito bene?

Questa confusione è nata a causa dello stock TGKA al broker Otkritie, la specifica non è corretta:

1. dimensione del tick == 0,000005
2. tick price == 0,00001 (dovrebbe essere 0,000001)

 
Perché in MT5 c'è una grande differenza tra i risultati dei set di ottimizzazione e i test individuali? Mi sono imbattuto in questo nella sezione delle azioni. Ho cercato nell'aiuto sulle peculiarità del lavoro con il tester ma ho trovato solo un momento poco chiaro che forse influenza la situazione menzionata. Procedendo dal capitolo di aiuto "Modellazione del tempo nel tester", l'ora del server restituita dalla funzioneTimeTradeServer() è sempre uguale all'ora GMT e non c'è correzione per l'offset del fuso orario. Dato che il robot in fase di test ha una finestra operativa tra le aste e sincronizza questa finestra utilizzando la funzioneTimeTradeServer(), potrebbe esserci una ragione per questo e dovremmo aggiungere la correzione del fuso orario durante i test.
 

In MT4, quando si cancella un ordine limite all'interno di uno spread, si verifica spesso una situazione di errore - l'ordine da cancellare si blocca, che può essere risolto solo ricaricando il terminale. Per quanto ho capito il meccanismo , avviene nel modo seguente:

1 ) Impostiamo un limite all'interno dello spread, vicino al prezzo Ask (per ordini Buy Limit) o Bid (per ordiniSell Limit) e dopo un po' di tempo cerchiamo di cancellarlo.

2 ) Inviamo un comando OrderDelete(), mentre questo comando va al server, l'ordine può essere già eseguito sul server (è dentro lo spread, molto vicino al prezzo di attivazione). Sembra che quando il comando raggiunge il server, sarà applicato all'ordine di mercato e otterremo un errore nel terminale e un ordine congelato. In questo caso, l'ordine nel terminale rimane un ordine limite (definito anche come un ordine limite dalla funzione OrderType()) e apparirà come un ordine a mercato solo dopo un riavvio del terminale. Se continui a cancellarlo come limite uno , vedrai un errore nel log di Expert Advisor con il codice: 3, e nel log del terminale:[Invalid parameters]. In realtà, non sono possibili azioni con un tale ordine sospeso - è un ordine limite nel terminale del cliente e un ordine a mercato sul server . L'ordine non può nemmeno essere cancellato manualmente.

Allego un EA semplificato (solo per Buy Limit), per la riproduzione dell'errore e un profilo con 8 EA installati in parallelo (l'errore appare più velocemente, che se l'errore è catturato da un solo EA - anche se si verifica anche con un EA installato). L'ordine di acquisto Limit è impostato a 1 punto a cinque cifre sotto il prezzo Ask e viene rimosso dopo 1 secondo dopo essere stato impostato. Se impostate un ordine anche 5 punti sotto il prezzo Ask e lo cancellate dopo un qualsiasi numero di secondi/minuti/ore, l'errore si verificherà ancora di tanto in tanto, solo meno frequentemente perché il meccanismo della sua comparsa non cambia.

È necessario avviare il terminale e aspettare che l'ordine pendente appaia. Di solito non bisogna aspettare più di un'ora, a seconda dell'attività del mercato.

Non si sa mai, sistema:

Microsoft Windows XP (PC basato su X86), IE 08.00, 2 x Intel Core i3-2120@ 3.30GHz, RAM: 2421 / 3981 Mb, HDD: 195187 / 666422 Mb, GMT+03:00

MT4: Versione 4.00 Build 1090 (19 maggio 2017)

MetaEditor: versione 5.00 build 1601 (19 maggio 2017)

File: