MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 60

 
stringo:
Come si può riprodurre? (Non abbiamo potuto).

Non ha fatto nulla di speciale.

Eseguo un test, aspetto che finisca, compilo, cancello il log, lo eseguo di nuovo. Ad un certo punto si blocca.

 
komposter:

Non ha fatto nulla di speciale.

Eseguo un test, aspetto che finisca, compilo, cancello il log, lo eseguo di nuovo. Ad un certo punto si blocca.


Molto probabilmente è a causa della loro famigerata protezione del codice, che non vogliono mai spegnere, in modo che ognuno decida da solo se ne ha bisogno o no.
 

Ho appena testato la build 546 (20 novembre 2013) e il mio EA in MQL4 si compila bene. Tuttavia, sto ottenendo cumuli di errori quando si esegue un backtest per esso, utilizza l'indicatore interno Bolinger Bands di MT4, niente di più, ma il giornale è pieno di:


2013.11.20 22:15:26.624 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.624 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:26.604 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.604 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:26.107 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.107 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:26.105 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.105 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:25.903 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.903 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:25.895 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.895 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:25.811 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:25.811 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestore della memoria: impossibile allocare 8754048 byte di memoria
2013.11.20 22:15:25.811 Memoria insufficiente per l'indicatore Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestore della memoria: impossibile allocare 8754048 byte di memoria

Lo stampa sempre durante l'esecuzione del backtest (open bar solo dal 1999 al 2013 su EURUSD). Nell'attuale build ufficiale di MT4, il backtest impiega 6 secondi per il range di tempo menzionato su 5M bar open e non crea errori. Mi sto anche chiedendo perché non sarebbe in grado di allocare 8 megabyte di memoria, l'intero processo del terminale prende solo 20 megabyte e ho circa 7 giga di RAM libera e poiché MT4 è un processo a 32 bit, può prendere fino a 2 giga di memoria. Quindi allocare quegli 8mb non dovrebbe essere un problema ed è sicuramente un bug dato che nella build 509 tutto funziona bene.

Beh, certo, è una BETA, ma questo sembra piuttosto un'alfa se nemmeno gli indicatori interni di MT4 funzionano correttamente in un backtest.

Quello che ho anche notato, in generale tutto sembra essere MOLTO più lento rispetto alla build 509. Per esempio, l'esecuzione dello script Period_Converter_Auto (che crea tutti i timeframe dai dati M1), richiede circa 3 minuti nella build 546, mentre richiede 20 secondi nella build 509.
 
dabugen:

Quello che ho anche notato, in generale tutto sembra essere MOLTO più lento rispetto alla build 509. Per esempio, l'esecuzione dello script Period_Converter_Auto (che crea tutti i timeframe dai dati M1), richiede circa 3 minuti nella build 546, mentre richiede 20 secondi nella build 509.

Rimuovere dal sorgente period_converter_auto le righe su FileFlush e lo script verrà eseguito molto più velocemente

         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         //FileFlush(ExtHandle);
 
stringo:

Rimuovere dal sorgente period_converter_auto le righe su FileFlush e lo script verrà eseguito molto più velocemente


Slava, ecco un vecchio argomento: perché Flush() è così lento in mql5?

Nel vecchio mql4 è molto più veloce, molte volte più veloce.

 

Ci sono nuovi indicatori ed esperti per mt4 sul sito della 5 (ci sono anche quelli gratuiti)

1) non sono visibili nel marcatore attraverso il terminale (tranne 2 prodotti);

2) Sul sito 5K quando cerco di scaricare un prodotto che non è nel terminale di marcatura, vedo nello stesso terminale "MQL4 Marketproduct'C' does not exist" (rifilando il nome del prodotto alla 1° lettera);

3) Per qualche motivo l'indicatore MA è stato messo nella categoria Esperti.

 
ALXIMIKS:

Ci sono nuovi indicatori ed esperti per mt4 sul sito della 5 (ci sono anche quelli gratuiti)

1) non sono visibili nel marcatore attraverso il terminale (tranne 2 prodotti);

2) Sul sito 5K quando cerco di scaricare un prodotto che non è nel terminale di marcatura, vedo nello stesso terminale "MQL4 Marketproduct 'C' does not exist" (tagliando il nome del prodotto alla 1a lettera);

3) Per qualche motivo l'indicatore MA è stato messo nella categoria Esperti.


Sono prodotti di prova per i test interni.

1. Devono apparire nel terminale durante 24 ore.

2. Controlla.

3. Moving Average è un Expert Advisor di prova basato su un indicatore MA. Correggeremo la descrizione.

 
Un tentativo di scaricare questo prodotto dalla demo del mercato e di metterlo sul grafico è fallito: "2013.11.21 11:53:08.631 Market\macd_line_smart EURUSD,H1: Invalid license"...
 
evillive:
Un tentativo di scaricare questo prodotto dalla demo del mercato e metterlo sul grafico è fallito: "2013.11.21 11:53:08.631 Market\macd_line_smart EURUSD,H1: Invalid license"...

La demo funziona solo nel tester, e sul grafico funzionerà solo la versione che si acquista.
 
Che dire, non lo sapevo.
OmegaTube:

La demo funziona solo nel tester e solo la versione che compri funzionerà sul grafico.

Nah, ancora non funziona, tester in modalità visiva - finestra dell'indicatore vuoto, nella lista degli indicatori senza nome qualcosa senza impostazioni dei parametri e di nuovo nel log del terminale lo stesso errore di licenza...