Erreurs, bugs, questions - page 560

 
Vous pouvez créer autant d'objets que vous le souhaitez jusqu'à ce que vous manquiez de mémoire. La question est très probablement dans quelque chose d'autre.

Ce serait génial si nous pouvions exécuter votre code dans le débogueur - pouvez-vous nous donner le code source ? Après l'avoir vérifié, nous le supprimerons.
 
Urain:

PS : comment terminer normalement le programme s'il y a beaucoup d'objets de classe?

il y a un tel problème.

comment supprimer ?

 
sergeev:

il y a un tel problème.

Comment l'enlever ?

J'ai essayé différentes manières, principalement avec des cycles, avec et sans glissements, les objets sont des matryoshka, les 20 premiers morceaux (et je voudrais 100) provoquent la suppression des internes dans le montant de ~30000/obj (en bref un tableau d'objets) dans lequel eux-mêmes (dans chacun) des morceaux de 10 objets.
 
Urain:
J'ai essayé de différentes manières, principalement dans des boucles, avec et sans glissements, les objets sont des matryoshka, les 20 premiers (j'aimerais 100) appellent à supprimer les internes en quantité ~30000/obj (tableau d'objets plus court) dans lequel (dans chacun) sont 10 objets.

Non, non.

Je veux dire, quelles fonctions utilisez-vous pendant la suppression ?

ObjectGetString ou directement à ObjectDelete.

Comment connaître et spécifier le nom de l'objet que vous voulez supprimer ?

L'essentiel est de ne pas utiliser de fonctions synchrones (critiques en termes de temps).

 
sergeev:

Non, non.

Je veux dire, quelles fonctions utilisez-vous pendant la suppression ?

ObjectGetString ou directement à ObjectDelete.

Comment connaître et spécifier le nom de l'objet que vous voulez supprimer ?

L'essentiel ici est de ne pas utiliser de fonctions synchrones (critiques en termes de temps).

Nous parlons d'objets de classe, pas d'objets graphiques.

Bien que les graphiques soient bien sûr dans des objets, pas tous bien sûr, pas plus de 30000 objets graphiques par graphique.

Le nom d'un objet graphique est conservé dans la zone privée d'un objet de liaison.

Lors de la suppression, j'utilise delete obj ; qui, si nécessaire, appelle ObjectDelete.

 

Je l'ai.

C'est juste que j'ai toujours eu une terminaison anormale lorsque la fonction synchrone - recherche d'un objet graphique ou d'une variable globale par son nom.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sergeev:

Je l'ai.

C'est juste que j'ai toujours eu une terminaison anormale lorsque la fonction synchrone - recherche d'un objet graphique ou d'une variable globale par son nom.

Oui j'ai trouvé, merci sergeev d'avoir poussé l'idée, en effet le drapeau d'existence des graphiques n'était pas mis, et comme résultat une tentative de supprimer un objet graphique inexistant. Lorsque le nombre d'objets était faible, le terminal l'avalait, mais des millions de fausses demandes de suppression d'objet entraînaient une terminaison anormale.
 
1. Y a-t-il une limite de temps pour la fonction OnTester () ? J'ai une situation où, en exécutant un calcul assez massif dans cette fonction, le journal écrit "Disconected" (j'ai essayé de changer de noyau - même message) et les tests s'arrêtent.
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Merci beaucoup. Mais ça a l'air un peu artisanal et limité.

Malheureusement, je ne comprends toujours pas pourquoi metaquotes n'est pas intéressé par l'implémentation de la fonctionnalité MT4 dans le terminal MT5, en restant dans le concept d'un ordre de marché, concernant la gestion des ordres virtuels à la fois manuellement et à travers un Expert Advisor. Il n'y a que des plus de tous les côtés et il s'adapte parfaitement !

 
L'erreur liée au chargement constant de l'historique et au déclenchement constant si(prev_calculé==0), précédemment éliminée sur les devises, est présente sur les graphiques CFD.
Raison: