Erreurs, bugs, questions - page 2980

 
olmer:
2021.03.09 20:40:47.616 Core 1 64 Mb non disponible

2021.03.09 20:40:47.616 Core 1 pas assez de mémoire disponible, 2211 Mb utilisés, 2416 Mb disponibles, le bloc maximal disponible est de 60 Mb

D'après ce que j'ai compris, il manque 64 MB



Ce n'est pas un manque d'espace disque, c'est un problème de mémoire. Mais cela ne ressemble pas à un manque d'espace RAM puisque vous avez 11 Go ...

Essayez de désactiver tous les noyaux dans l'onglet Agents, sauf un. Et les rallumer progressivement.

 
Mihail Matkovskij:

Mais je cherchais un moyen encore plus rapide que Canvas. Il s'avère qu'à part les étiquettes, je n'ai rien trouvé d'autre.

Pour la dernière fois !
Cette affirmation est erronée. Les étiquettes ne peuvent pas être plus rapides que les kanvas. Au mieux, ils peuvent être aussi rapides que la toile s'il y a très peu d'étiquettes. Plus il y en a, plus ils perdent au profit de kanvas.

Le graphique lui-même est également un canevas interne qui n'est pas accessible au programmeur. Et lorsque vous créez un objet avec ses caractéristiques, il vous suffit de demander au graphique de dessiner (comme un dessin dans un canevas) cet objet lors du prochain ChartRedraw().
Lire des sources primaires

 
Mihail Matkovskij:

Ce n'est pas un manque d'espace disque, c'est un problème de mémoire. Mais cela ne ressemble pas à un manque d'espace RAM puisque vous avez 11 Go là ...

Essayez de désactiver tous les noyaux dans l'onglet Agents, sauf un. Et les rallumer progressivement.

Je l'ai désactivé, ça n'a pas aidé.


2021.03.10 10:32:48.769 Core 1 64 Mb non disponible

2021.03.10 10:32:48.769 Core 1 EURUSD : impossible de générer des données historiques, vérifiez l'espace disque [2].

 
Nikolai Semko:

Pour la dernière fois !
Cette affirmation est erronée. Les étiquettes ne peuvent pas être plus rapides que les kanvas. Au mieux, ils peuvent fonctionner à la même vitesse que les kanvas s'il y a très peu d'étiquettes. Plus il y en a, plus ils perdent au profit de Kanvas.

Le graphique lui-même est également un canevas interne auquel le programmeur n'a pas accès. Et lorsque vous créez un objet avec ses propriétés, il suffit de configurer le graphique pour qu'il dessine (comme dans un canevas) cet objet au prochain ChartRedraw().
Lire des sources primaires

Justement, si vous devez mettre à jour plusieurs lignes, cela signifie littéralement changer le texte dans plusieurs étiquettes. Et inutile de préciser que kanvas(OBJ_BITMAP_LABEL) gagnera en rapidité. Après tout, s'il produit du texte sur un grand nombre de pixels à l'écran, ils doivent tous être transférés, après la modification, à l'aide de ResourceCreate, alors qu'il s'agit de modifier un petit nombre de pixels à l'intérieur du graphique (parce que OBJ_LABEL est un objet graphique). Et de la même manière, pourOBJ_BITMAP_LABEL vous devez appelerChartRedraw() dont vous parlez. Après cela, vous direz queOBJ_BITMAP_LABEL gagnera toujours en vitesse... ? En fait, dansquels cas qui est plus rapide, cela doit être établi expérimentalement (pour une compréhension générale). Ai-je mélangé quelque chose ou ai-je écrit de moi-même... ? Alors, pourquoi ces insultes ?

 
olmer:

Je l'ai désactivé, ça n'a pas aidé


2021.03.10 10:32:48.769 Core 1 64 Mb non disponible

2021.03.10 10:32:48.769 Core 1 EURUSD : ne peut pas générer de données historiques, vérifiez l'espace disque [2].

Peut-être que le problème se trouve dans le conseiller expert que vous testez... Fonctionne-t-il bien avec d'autres EA ?

 
Mihail Matkovskij:

Le problème, c'est que si vous devez mettre à jour plusieurs lignes, cela signifie littéralement changer le texte dans plusieurs étiquettes. Et il va sans dire que Kanvas(OBJ_BITMAP_LABEL) l'emportera en vitesse. Après tout, s'il produit du texte sur un grand nombre de pixels à l'écran, ils doivent tous être transmis à l'aide de ResourceCreate, alors qu'il faut modifier un petit nombre de pixels dans le graphique (puisque OBJ_LABEL est un objet graphique). Après cela, vous direz queOBJ_BITMAP_LABEL gagnera toujours en vitesse... ? Il fautdonc déterminer expérimentalementquels sont les cas les plus rapides. Je pense que vous êtes d'accord avec moi... ? Alors pourquoi cette rancune ? !...

Vous continuez à spéculer. Y compris celle qui concerne la rancune de quelqu'un d'autre. Non, vous avez fondamentalement tort et vous êtes tout simplement déconnecté. Vous inventez des histoires à dormir debout et vous vous entêtez à y croire sans écouter personne.
Continuez à être dans l'ignorance sans comprendre la véritable chimie du processus.
 
Nikolai Semko:
Vous spéculez tout le temps. Y compris sur la rancune de quelqu'un d'autre. Non, vous avez fondamentalement tort et vous êtes juste hors sujet. Vous inventez des histoires à dormir debout et vous vous entêtez à y croire sans écouter personne.
Continuez à être dans l'ignorance.

J'ai modifié le message. N'hésitez pas à écrire ce que j'ai supposé ou ce que je ne comprends pas...

 
Partagez quelque chose d'intéressant avec le QB.
 
fxsaber:
Partagez quelque chose d'intéressant avec le QB.

Il y aura bientôt un livre de référence intéressant.

 
fxsaber:
Partagez quelque chose d'intéressant dans le QB.

A tous ceux qui ont lu.

Raison: