Erreurs, bugs, questions - page 2275

 

Les noms de caractères sont tronqués dans les caches de l'interface graphique de l'optimiseur.


C'est particulièrement vrai pour les personnages personnalisés, dont les noms sont souvent longs.

 
A100:
Merci. Vous pouvez clairement voir que le type du paramètre de modèle ne peut pas être utilisé dans la déclaration d'une nouvelle classe.
 
fxsaber:

J'ouvre un graphique EURUSD et j'exécute ce script depuis le QB sur celui-ci. Il garde un journal détaillé pendant qu'il fonctionne... En conséquence, j'ai un graphique avec un nouveau symbole dans lequel les barres et les ticks sont pris sur le côté.

En utilisant ce symbole, je peux lancer n'importe quel EA en utilisant des ticks réels.


J'ai fait une optimisation courte, au lieu d'une course simple. Environ une heure après avoir terminé, il n'était plus possible de faire un "Run Single Test" à partir des résultats de l'optimisation - les tics ont disparu. C'est donc une méthode 100% reproductible.

Si vous utilisez Tester/Optimiser sans longues pauses, même sur des caractères différents, les tics ne disparaissent pas. Probablement que les tics sont enlevés en nettoyant certains caches de testeurs.

 
fxsaber:

Les noms de caractères sont tronqués dans les caches de l'interface graphique de l'optimiseur.


C'est particulièrement vrai pour les personnages personnalisés, dont les noms sont souvent longs.

Le nom d'un caractère ne peut être supérieur à 32 caractères, y compris la terminaison 0. C'est, en fait, 31.
 
fxsaber:

Si vous utilisez le testeur/optimiseur sans longues pauses, même sur des caractères différents, les tics ne disparaissent pas. Les tics sont probablement enlevés en nettoyant certains des caches des testeurs.

Trouvé et réparé.
 
Slava:
Le nom du symbole ne peut pas comporter plus de 32 caractères, y compris la terminaison 0. C'est, en fait, 31.

Les noms de 28 caractères dans la capture d'écran sont recadrés.

Slava:
Trouvé et corrigé.

Merci. Si nous continuons à parler de ceux qui sont personnalisés, il y a deux situations avec eux

1

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bugs, bugs, questions

fxsaber, 2018.08.28 19:45

Y a-t-il un moyen de corriger ce problème dans la prochaine version ?

Lorsque je passe à un autre compte, le graphique de symboles personnalisés perd des barres - "En attente de mise à jour". Les barres ne peuvent pas être demandées. En même temps, les tiques - pas de problème.

Après avoir redémarré le Terminal, bien sûr, les barres du graphique sont disponibles.

Je voudrais que les barres de symboles personnalisées restent disponibles sans redémarrage après le passage à un autre compte.


2.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bugs, bugs, questions

fxsaber, 2018.08.28 10:20

CustomTicksReplace(Name, 0, LONG_MAX, Ticks);

Il faut une minute à 24 millions de ticks pour réussir à exécuter cette fonction. Est-il possible d'accélérer le processus ?

 
fxsaber:

Les noms de 28 caractères dans la capture d'écran sont recadrés.

Merci. Si nous continuons à parler de ceux qui sont personnalisés, il y a deux situations avec eux

1


2.

Environ 28 caractères seront vérifiés.

2. Il est peut-être possible de l'accélérer, mais ce n'est pas la première priorité.

Donnez des détails sur le premier point. Nous avons besoin d'une reproduction claire.

 
Slava:

Donnez des détails sur le premier point. Vous avez besoin d'une lecture claire.

  1. Vous ouvrez deux comptes sur des serveurs de trading différents.
  2. Exécutez le script sur EURUSD. Lorsque le script se termine, un symbole personnalisé sera créé et son graphique sera ouvert.
  3. Passer à un compte d'un autre serveur commercial.
  4. Vous verrez "Waiting for update" à la place du graphique du symbole personnalisé.
  5. Il n'y aura pas de barres (les ticks seront - CTRL+U) jusqu'à ce que vous rechargiez le terminal.

 

fxsaber:

3. Passage à un compte à partir d'un autre serveur de négociation.

Commuter équivaut à une perte de communication... il est possible que dans ce cas, cela se résume à ceci https://www.mql5.com/ru/forum/275574#comment_8485737

 

Lorsque je dois remplir une partie d'un grand tableau avec une seule valeur Z, j'utilise la construction :

ArrayInitialize(ar,Z);     // промежуточный массив размер массива ar = 1000 
ArrayCopy(arr,ar,5000);    // основной массив заполняется значением Z c 5000 по 5999 элемент


De nombreux traders diront pourquoi c'est si compliqué, cela peut être plus simple :

ArrayFill(arr,5000,1000,Z);

Mais pour une raison inconnue, la première variante utilisant un tableau intermédiaire s'exécute sensiblement plus vite que la seconde.

2018.09.04 11:01:17.222 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 338
2018.09.04 11:01:17.222 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 111
2018.09.04 11:01:18.563 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 301
2018.09.04 11:01:18.563 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 122
2018.09.04 11:01:19.717 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 334
2018.09.04 11:01:19.717 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 142
2018.09.04 11:01:21.095 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayFill = 364
2018.09.04 11:01:21.095 TestArrayFill (EURUSD,M4)       Время заполнения через ArrayInitialize + ArrayCopy = 156

J'ai déjà écrit à CA sur cette question il y a quelques années. J'ai reçu une réponse disant que j'avais trouvé et corrigé le problème et qu'il serait correct dans la prochaine version.

Mais le problème persiste.

J'ai fait le même test dans MT4 :

2018.09.04 11:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayInitialize + ArrayCopy = 113
2018.09.04 11:08:21.258 TestArrayFill EURUSD,H1: Время заполнения через ArrayFill = 78
Dossiers :