Comment faire pour que la sortie sur un graphique soit en police monospace ? - page 4

 
Alexey Volchanskiy:

Ces mesures ne sont rien. Nous devrions faire des cycles séparés de plusieurs dizaines de milliers de passages pour Comment et Canvas séparément, alors nous pourrons juger quelque chose. Et le texte à imprimer doit changer, par exemple, laisser la valeur du compteur être imprimée.

Pourriez-vous le refaire de cette façon ?

La sortie répétée est correcte, le commentaire tue la vitesse dans mt5. Je l'ai vérifié il y a longtemps et j'ai exclu son affichage pendant les tests.

Je n'ai pas vérifiéCHART_COMMENT, je viens de m'en souvenir. J'aurai le temps de vérifier la vitesse.

//+------------------------------------------------------------------+ 
//| Функция получает текст комментария в левом верхнем углу графика. | 
//+------------------------------------------------------------------+ 
bool ChartCommentGet(string &result,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- получим значение свойства 
   if(!ChartGetString(chart_ID,CHART_COMMENT,result)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  } 
//+------------------------------------------------------------------+ 
//| Функция устанавливает текст комментария в левом верхнем углу     | 
//| графика.                                                         | 
//+------------------------------------------------------------------+ 
bool ChartCommentSet(const string str,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- установим значение свойства 
   if(!ChartSetString(chart_ID,CHART_COMMENT,str)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  }
 
Nikolai Semko:

Je l'ai essayé sur MT4. Le code fonctionne aussi sur celui-ci.
Il s'est avéré que Comment est 5 fois plus rapide sur MT4 que son analogue graphique. Et il s'avère que Comment() fonctionne 5-6 fois plus lentement sur MT5 que sur MT4. Voilà une surprise désagréable et étrange. Ma question s'adresse donc aux développeurs. Comment cela se fait-il ? C'est clairement un bug pour 5 ! !!


Merci pour l'info, très triste pour MT5 et encore plus triste que ce soit si différent dans MT4 et MT5, la compatibilité s'avère être pauvre dans un EA multi-plateforme.

 
Yury Kirillov:

Merci pour l'info, très triste pour MT5 et encore plus triste que ce soit si différent dans MT4 et MT5, la compatibilité s'avère être pauvre dans un EA multi-plateforme.

Il y en a. J'ai complètement éliminé la sortie des objets et des informations sur le graphique dans mt5, je n'ai pas perdu grand chose, au détriment d'un bon rapport de testeur.

 
Yury Kirillov:

Merci pour l'info, très triste pour MT5 et encore plus triste que ce soit si différent dans MT4 et MT5, la compatibilité s'avère être pauvre dans un EA multi-plateforme.


Je pense que la meilleure option serait encore de passer à kanvas. La compatibilité de MT4 et MT5 y est parfaite. Et Comment n'est intéressant que pour des vérifications rapides dans le projet de code, mais pas dans le code final. Pour une raison quelconque, tout le monde sous-estime les capacités de vitesse de Kanvas.

 
Nikolai Semko:

Je pense que la meilleure option serait encore de passer à Canvas. MT4 et MT5 y sont entièrement compatibles. Et le commentaire n'est intéressant que pour des vérifications rapides et actuelles dans le projet de code, mais pas dans le code final. Pour une raison quelconque, tout le monde sous-estime les capacités de vitesse de Canvas.


Clairement, c'est ce que nous devrons faire...

 
Nikolai Semko:

J'ai aussi fait les cycles séparément, j'ai trouvé les résultats un peu bizarres, c'est pareil. Mêmes résultats. Il n'y a aucune différence, qu'il s'agisse d'un cycle général ou individuel. Dans mon échantillon, le texte change à chaque fois, je me demande pourquoi cela n'a pas été remarqué. Je connais aussi l'optimisation du compilateur. ))


Et puis-je poster le code avec des boucles séparées ?

 
Vitaly Muzichenko:

La conclusion répétée est correcte, Comment tue la vitesse dans mt5 mal. Je l'ai vérifié il y a longtemps, et j'ai exclu son affichage pendant les tests.

Je n'ai pas vérifiéCHART_COMMENT, je viens de m'en souvenir, j'aurai le temps de vérifier la vitesse.

Du SD.

Il est possible de configurer l'échange d'informations entre l'EA et l'indicateur via le champ de commentaire du graphique.

Nous avons décidé que pour le bien d'un petit nombre de ces utilisateurs potentiels, nous ne devions pas ralentir l'optimisation.

Dans les prochaines versions, la fonction Commentaire ne fonctionnera que dans le cadre d'un test unique. Pendant l'optimisation - il ne sera pas

 
fxsaber:

Depuis le SR.

échange d'informations sur les chaînes entre l'EA et l'indicateur via le champ de commentaires du graphique.

Les gens sont doués pour les perversions sexuelles

Et en général, bien sûr, il n'y a pas de méthode d'échange comme le mappage de la mémoire, mais à l'intérieur d'une sandbox et sans appeler de dll

 
Alexey Volchanskiy:

En fait, ce qui manque, c'est une méthode d'échange de type de mappage de mémoire, mais à l'intérieur d'une sandbox et sans appeler la dll.

Beaucoup d'options.

 

Ils sont tous des substituts. Et chacune d'entre elles nécessite une sérialisation/désérialisation. Par exemple, dans WCF, je peux envoyer une instance de n'importe quelle classe complexe avec des champs de données sur le web en utilisant n'importe quel protocole disponible et je n'ai pas besoin de réfléchir à la façon de l'emballer/déballer, tout est fait par l'API. Tout ce dont j'ai besoin, c'est de connaître une telle classe à l'extrémité réceptrice.