MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 60

 
stringo:
Comment peut-on le reproduire ? (Nous ne pouvions pas).

Je n'ai rien fait de spécial.

Je lance un test, j'attends qu'il se termine, je compile, j'efface le journal, je le relance. A un moment donné, il se plante.

 
komposter:

Je n'ai rien fait de spécial.

Je lance un test, j'attends qu'il se termine, je compile, j'efface le journal, je le relance. A un moment donné, il se plante.


C'est probablement à cause de leur fameuse protection de code, qu'ils ne veulent jamais désactiver, afin que chacun décide lui-même s'il en a besoin ou non.
 

Je viens de tester la build 546 (20. November 2013) et ma propre EA en MQL4 se compile bien. Cependant, je reçois des tas d'erreurs lorsque j'exécute un backtest pour lui, il utilise l'indicateur interne des bandes de Bolinger de MT4, rien de plus, mais le journal est plein d'erreurs :


2013.11.20 22:15:26.624 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.624 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:26.604 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.604 Gestionnaire de mémoire : impossible d'allouer 8754048 octets de mémoire.
2013.11.20 22:15:26.107 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.107 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:26.105 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.105 Gestionnaire de mémoire : ne peut allouer 8754048 octets de mémoire.
2013.11.20 22:15:25.903 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.903 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:25.895 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.895 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:25.811 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:25.811 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.
2013.11.20 22:15:25.811 Pas assez de mémoire pour l'indicateur Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.811 Gestionnaire de mémoire : ne peut pas allouer 8754048 octets de mémoire.

Il l'imprime tout le temps pendant l'exécution du backtest (open bar uniquement de 1999 à 2013 sur EURUSD). Dans la version officielle actuelle de MT4, le backtest prend 6 secondes pour la plage de temps mentionnée sur une barre 5M ouverte et ne crée aucune erreur. Je me demande également pourquoi il ne serait pas en mesure d'allouer 8 mégaoctets de mémoire, l'ensemble du processus du terminal ne prend que 20 mégaoctets et j'ai environ 7 gigaoctets de RAM libre et comme MT4 est un processus 32 bits, il peut prendre jusqu'à 2 gigaoctets de mémoire. Donc allouer ces 8mb ne devrait pas être un problème et c'est sûrement un bug puisque dans la build 509 tout fonctionne bien.

Bien sûr, c'est une BETA, mais cela ressemble plutôt à une alpha si même les indicateurs MT4 internes ne fonctionnent pas correctement dans un backtest.

Ce que j'ai également remarqué, c'est qu'en général tout semble être BEAUCOUP plus lent que dans la version 509. Par exemple, l'exécution du script Period_Converter_Auto (qui crée toutes les périodes à partir des données M1) prend environ 3 minutes dans la Build 546, alors qu'elle prend 20 secondes dans la Build 509.
 
dabugen:

Ce que j'ai également remarqué, c'est qu'en général tout semble être BEAUCOUP plus lent que dans la version 509. Par exemple, l'exécution du script Period_Converter_Auto (qui crée toutes les périodes à partir des données M1) prend environ 3 minutes dans la Build 546, alors qu'elle prend 20 secondes dans la Build 509.

Supprimez de la source period_converter_auto les lignes concernant FileFlush et le script sera exécuté beaucoup plus rapidement.

         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:

Supprimez de la source period_converter_auto les lignes concernant FileFlush et le script sera exécuté beaucoup plus rapidement.


Slava, voici un très vieux sujet : pourquoi Flush() est-il si lent dans mql5 ?

Dans l'ancienne mql4, c'est beaucoup plus rapide, plusieurs fois plus rapide.

 

Il y a de nouveaux indicateurs et experts pour mt4 sur le site des 5 (il y en a des gratuits aussi).

1) ils ne sont pas visibles dans le marqueur à travers le terminal (sauf pour 2 produits) ;

2) Sur le site 5K lorsque j'essaie de télécharger un produit qui n'est pas dans le terminal de marquage, je vois dans ce même terminal "MQL4 Marketproduct'C' does not exist" (en coupant le nom du produit à la 1ère lettre) ;

3) Pour une raison quelconque, l'indicateur MA a été placé dans la catégorie Experts.

 
ALXIMIKS:

Il y a de nouveaux indicateurs et experts pour mt4 sur le site des 5 (il y en a des gratuits aussi).

1) ils ne sont pas visibles dans le marqueur à travers le terminal (sauf pour 2 produits) ;

2) Sur le site 5K lorsque j'essaie de télécharger un produit qui n'est pas dans le terminal de marquage, je vois dans ce même terminal "MQL4 Marketproduct 'C' does not exist" (en coupant le nom du produit à la 1ère lettre) ;

3) Pour une raison quelconque, l'indicateur MA a été placé dans la catégorie Experts.


Il s'agit de produits d'essai destinés à des tests internes.

1. Ils doivent se présenter dans le terminal pendant 24 heures.

2. Vérifiez-le.

3. Moving Average est un Expert Advisor de test basé sur un indicateur MA. Nous allons corriger la description.

 
Une tentative de télécharger ce produit depuis la démo Market et de le mettre sur le graphique a échoué : "2013.11.21 11:53:08.631 Market\macd_line_smart EURUSD,H1 : Licence invalide"...
 
evillive:
Une tentative de télécharger ce produit depuis la démo Market et de le mettre sur le graphique a échoué : "2013.11.21 11:53:08.631 Market\macd_line_smart EURUSD,H1 : Licence invalide"...

La démo ne fonctionne que dans le testeur, et sur le graphique ne fonctionnera que la version que vous achetez.
 
Et ça, je ne le savais pas.
OmegaTube:

La démo ne fonctionne que dans le testeur et seule la version que vous achetez fonctionnera sur le graphique.

Nan, ça ne marche toujours pas, testeur en mode visuel - fenêtre d'indicateur vide, dans la liste des indicateurs non nommés quelque chose sans paramètres et encore dans le log du terminal la même erreur de licence....