Errori, bug, domande - pagina 2827

 
fxsaber:

C'è un file di testo, ma la codifica è sconosciuta a priori. Di conseguenza, dobbiamo determinare con quale bandiera aprirlo: FILE_ANSI o FILE_UNICODE.

Chi ne ha uno, per favore condivida una bicicletta sull'argomento.

Se siete in dubbio, aprite con il flag FILE_ANSI. Se ci sono 2 byte BOM 0xFFFE all'inizio di questo file, il flag FILE_ANSI sarà ignorato
 

Bug dei tester.

Eseguo lo stesso indicatore per tick reali (ovviamente, nel visualizzatore). Ho scritto la direttiva #property tester_everytick_calculate per sicurezza, ma tutto è lo stesso senza di essa.

Problema 1: a seconda che l'indicatore venga eseguito sotto il debugger o semplicemente nel tester, si ottengono risultati diversi nei buffer. Sotto il debugger sono corretti, senza il debugger sono sbagliati. Se lancio la versione di debug dal tester ottengo gli stessi risultati del debugger (cioè corretti). Se ricompilo senza debug, il tester mostra di nuovo risultati sbagliati.

Problema 1 - il mio bug - ho dimenticato di scrivere statico in un posto, sotto il debugger l'area di memoria sotto la variabile sembra essere salvata tra gli eventi. Senza debugger è una schifezza lì.

Problema 2: quando si esegue sotto il debugger (dall'editor) l'indicatore viene disegnato normalmente durante tutto il test, ma quando finisce scompare dalla sottofinestra (la sottofinestra rimane vuota, i buffer spariscono nella finestra dei dati ). Se si esegue la versione di debug dal tester, questo effetto non esiste, cioè, dopo che il test è stato completato, l'indicatore rimane nella sottofinestra.

Posso fornire ai rappresentanti di MQ il codice sorgente nel messaggio personale, ma non credo che sia specifico per l'indicatore.

 
Stanislav Korotky:

Bug dei tester.

Eseguo lo stesso indicatore per tick reali (ovviamente, nel visualizzatore). Per sicurezza, ho scritto la direttiva #property tester_everytick_calculate, ma tutto è lo stesso senza di essa.

Problema 1: a seconda che l'indicatore sia eseguito sotto il debugger o semplicemente nel tester, si ottengono risultati diversi nei buffer. Sotto il debugger sono corretti, senza il debugger sono sbagliati. Se lancio la versione di debug dal tester ottengo gli stessi risultati del debugger (cioè corretti). Se ricompilo senza debug, il tester mostra di nuovo risultati sbagliati.

Problema 2: quando si esegue sotto il debugger (dall'editor) l'indicatore è normalmente disegnato durante tutto il test, ma quando finisce scompare dalla sottofinestra (la sottofinestra rimane vuota, i buffer spariscono nella finestra dei dati ). Se si esegue la versione di debug dal tester, questo effetto non esiste, cioè, dopo il completamento del test, l'indicatore rimane nella sottofinestra.

Posso fornire il codice sorgente ai rappresentanti di MQ nell'area personale, ma non credo che sia specifico per l'indicatore.

Sembra che gli sviluppatori tester non riescano a liberarsi dai risultati dei loro sforzi)

Ora è appropriato rispondere a tali domande come "è una caratteristica", non un bug )

https://www.mql5.com/ru/forum/1111/page2826#comment_17836557

Non fraintendetemi, il tester è una cosa unica e fresca, ma ha molti indizi

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2020.08.15
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Ciao, in metatrader è possibile cambiare attività più velocemente che trascinando il cursore del mouse ogni volta dalla scheda "panoramica del mercato"?
 
Vladimir Makhnin:
Ciao, in metatrader è possibile cambiare attività più velocemente che trascinando il cursore del mouse ogni volta dalla scheda "panoramica del mercato"?

Fare un indicatore e commutare con i tasti su/giù della tastiera

 

Gli EA multipiattaforma sono popolari nel mercato. Infatti, i file mq4 e mq5 sono uguali: il codice sorgente consiste in una sola linea.

#include "Cross-platform_code.mqh"

Dobbiamo moltiplicare i file mq4/mq5 identici solo per spiegare al compilatore se creare il file EX4 o EX5.


Dopo la recente divisione dei compilatori in ME, quando mq4 non compila in ME da MT5, è diventato strano fare questo. Dopo tutto ME da MT4 sa sempre di fare EX4 e ME da MT5 sa sempre di fare EX5. Tuttavia, devono ancora essere espliciti su di esso creando i corrispondenti file mq4/mq5 identici.


Che ne dite di introdurre un'estensione mql dei file? Lo apri in ME_MT4 - compila in EX4, ME_MT5 compila in EX5.


Al momento c'è una stupida pila di file identici, che differiscono solo per l'ultima cifra dell'estensione.

 
fxsaber:

Gli EA multipiattaforma sono popolari nel mercato. Infatti, i file mq4 e mq5 sono uguali: il codice sorgente consiste in una sola linea.

Dobbiamo moltiplicare i file mq4/mq5 identici solo per spiegare al compilatore se creare il file EX4 o EX5.


Dopo la recente divisione dei compilatori in ME, quando mq4 non compila in ME da MT5, è diventato strano fare questo. Dopo tutto ME da MT4 sa sempre di fare EX4 e ME da MT5 sa sempre di fare EX5. Tuttavia, devono ancora menzionarlo esplicitamente creando i corrispondenti file mq4/mq5 identici.


Che ne dite di introdurre un'estensione mql dei file? Lo apri in ME_MT4 - compila in EX4, ME_MT5 compila in EX5.


Al momento abbiamo una stupida pila di file identici, che differiscono solo per l'ultima cifra dell'estensione.

fare i file di intestazione, mettere tutto il resto in mqh.

Ho rinunciato ai prefissi molto tempo fa.

 
Vladimir Pastushak:

fare file di intestazione, mettere tutto il resto in mqh

Ho rinunciato alle prefazioni molto tempo fa.

Cosa ha a che fare questo con quello che hai scritto?

 
Se non spengo il processo mt5 entro 10-15 minuti, allora windows si blocca, può funzionare per ventiquattro ore, a volte si blocca dopo un paio d'ore.
 
SEM:
Qualcuno ha sperimentato il freeze di mt5, dopo il freeze la sezione "cached" nella RAM inizia a crescere bruscamente, poi se non si spegne il processo mt5 entro 10-15 minuti, windows si blocca, può funzionare per 24 ore, a volte si blocca dopo un paio d'ore.

Cercare perdite di memoria nell'EA, indicatori.