Errori, bug, domande - pagina 64

 

A proposito, una grande funzione di ricerca è apparsa di recente nell'editor per articoli, codebase e l'intero sito MQL5.com:


 

Facendo il calcolo su tutte le barre e vedo problemi, ho controllato i dati alla fine del grafico e ho scoperto che sul grafico orario le barre vanno una volta al giorno (shock),

tutte le statistiche sono incasinate.


Forse un modo per aggiornare il grafico o qualcosa del genere?

 
Potete dirmi che quando compilo una libreria di funzioni ottengo il seguente errore
No exported function or entry point found               1       1
Il file eh5 non viene creato.
 
sergey1294:
Per favore, quando si compila una libreria di funzioni, si genera questo errore, qual è la ragione?

Questo è all'incirca il contenuto della libreria

//Function FunctionName
bool FunctionName() export
{
//----------------------------------------------------------------------------//
//Work variables
bool Reset;
//----------------------------------------------------------------------------//

//----------------------------------------------------------------------------//
return(Reset);
//----------------------------------------------------------------------------//
}
L'uso di"export" è obbligatorio in mq5, ma non dovrebbe esserlo in mqh.
 
Interesting:

Ecco come dovrebbe apparire il contenuto della libreria

L'uso di "export" è obbligatorio in mq5 ma non dovrebbe esserlo in mqh.

Grazie, non sono riuscito a trovarlo nell'aiuto, non c'è affatto nell'aiuto e non credo che fosse nemmeno in Quaternario, come mqh e le librerie di funzioni dovrebbero essere progettate per compilare correttamente.

P.S ha trovato una descrizione nell'aiuto.

 
sergey1294:
Grazie, non ho trovato questa informazione nell'aiuto, non è disponibile per niente e sembra che in Quaternario non ci fosse una disposizione corretta delle librerie di mqh e di funzioni per la loro normale compilazione.

Quando stavo facendo la libreria di migrazione ho anche faticato, ho dovuto contattare gli sviluppatori...

PS

Devo dire che è stato quasi 7 mesi fa e non tutto funzionava ancora bene...

 
sergey1294:

Grazie, non sono riuscito a trovare questa informazione nell'aiuto, non c'è affatto e non credo sia stato menzionato nemmeno in Quaternario, come le librerie di mqh e di funzioni dovrebbero essere progettate correttamente per la loro normale compilazione.

P.S ha trovato una descrizione in aiuto.

È un bene che tu l'abbia trovato, ma ti darò comunque il link alla sezione Funzioni di esportazione:

Descrizione delle funzioni esterne

Il tipo di funzioni esterne definite in un altro modulo deve essere descritto esplicitamente. In caso contrario, potrebbero verificarsi errori durante la compilazione, il collegamento o l'esecuzione del programma. Quando si descrive un oggetto esterno, usare la parola chiave #import con la specifica del modulo.

Esempi:

#importare"user32.dll".
int MessageBoxW(int hWnd,string szText,string szCaption,int nType);
int SendMessageW(int hWnd,int Msg,int wParam,int lParam);
#importare"lib.ex5".
doppio tondo(valoredoppio);
#importare

Import può essere usato per descrivere molto facilmente funzioni chiamate da DLL esterne o librerie EX5 compilate. Le librerie EX5 sono file ex5 compilati che hanno la proprietà library. Solo le funzioni descritte con il modificatore export possono essere importate dalle librerie EX5.

Vedi anche

Sovraccarico, funzioni virtuali, polimorfismo

 
Urain:

Facendo il calcolo su tutte le barre e vedendo i malfunzionamenti, ho controllato i dati alla fine del grafico e ho scoperto che sul grafico orario le barre vanno una volta al giorno (shock),

tutte le statistiche vanno all'inferno.


Forse devi aggiornare il grafico o qualcosa del genere?


Se si scava un po' più a fondo, si scopre che anche le barre dei minuti su quell'intervallo di dati sono memorizzate "stranamente" - ogni giorno consiste di una barra dei minuti, e i prezzi High e Close di quel minuto corrispondono ai prezzi High e Close della barra del giorno.

Questo è dovuto al fatto che i dati al minuto sono l'elemento di base per tutti i timeframe in MetaTrader 5. Leggi di più su questo nella sezione Organizzare l'accesso ai dati

 
Rosh:

Se si scava un po' più a fondo, si scopre che anche i minuti di quell'intervallo di dati sono memorizzati "stranamente" - ogni giorno consiste di una barra dei minuti, e i prezzi High e Close di quella barra dei minuti corrispondono ai prezzi High e Close della barra del giorno.

Questo è dovuto al fatto che i dati al minuto sono l'elemento di base per tutti i timeframe in MetaTrader 5. Puoi leggere di più su questo nella sezione Organizzare l'accesso ai dati

Sì, non ci sono minuti più vecchi del 1999 sul server demo. Dal 1993 al 1999 ci sono basi minime che sostituiscono i giorni.
 
Renat:
Sì, non ci sono minuti più vecchi del 1999 sul server demo. Dal 1993 al 1999 le basi dei minuti sono sostituite dai giorni.

Qualcosa di simile ho pensato, grazie per il chiarimento.

Si tratta solo di prescrivere una funzione che determina da quale barra inizia la storia completa,

Altrimenti l'aspettativa per la dimensione della barra può essere gravemente errata.

Naturalmente potete farne uno personalizzato, ma se è incorporato (imho) aiuterà molto.

Motivazione: