Erreurs, bugs, questions - page 2266

 
Nikolai Semko:

Bien sûr, si vous utilisez un seul kanvas sans échelle, ils n'existent tout simplement pas.

J'ai toujours eu un seul kanvas et le carré rouge n'arrêtait pas de surgir. J'ai longtemps cherché à en comprendre les raisons, mais je n'y suis jamais parvenu.

 
fxsaber:

J'ai toujours eu un seul kanvas et le carré rouge n'arrêtait pas de surgir. J'ai longtemps cherché à en comprendre les raisons, mais je n'y suis jamais parvenu.

Si vous redimensionnez le kanvas, c'est-à-dire si vous l'ouvrez à nouveau ou si vous utilisez la fonction Redimensionner, vous devez utiliser le kanvas pour toute la fenêtre afin d'éviter ces carrés rouges.

#include <Canvas\Canvas2.mqh>

int OnStart(void)
  {
    int Width=(int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS);
    int Height=(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
    CCanvas canvas;
    if(!canvas.CreateBitmapLabel("SampleCanvas",0,0,Width,Height,COLOR_FORMAT_ARGB_NORMALIZE)) Print("Error creating canvas: ",GetLastError());
  ....
  }

Rappelez-vous également que la fonction d'effacement est très rapide - le plein écran FullHD prendra ~0,5 millisecondes.

Et une mise à jour plus lente de ~5-7 millisecondes en plein écran FullHD.
Oui - cette option est plus coûteuse, car la mise à jour d'un kanvas de taille disons 500x200 prendra ~0,5 millisecondes.

C'est donc une question d'opportunité.

Personnellement, j'utilise presque toujours le kanvas en plein écran maintenant, car j'ai une marge de 200 fps avec Update = 5 millisecondes.

 

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

Lorsque je passe à un autre compte, le graphique personnalisé des caractères perd ses barres - "Waiting for update". 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.

 
Si vous créez un "outil synthétique" et que l'ordinateur tombe en panne, l'outil synthétique n'est pas sauvegardé. Une petite chose, mais gênante. S'il vous plaît, réparez-le.
 
Il s'avère que le backtest se termine sur l'avant-dernier (et non le dernier, comme on pourrait le croire) tick de l'intervalle de test.
 

Erreur pendant l'exécution :

#define  MACRO( int ) int
void f( uint ) { Print( 1 ); }
void f(  int ) { Print( 2 ); }
void OnStart()
{
        MACRO( uint ) x = 0;
        f( x );
}

Résultat : 2 Attendu : 1

 

Ce doit être une aberration psychologique de connaître, à tout moment, le numéro de la dernière version de MT5.

Je ne connais pas les taux de change actuels, mais je connais toujours le chiffre. Demandez-moi aujourd'hui, il y a un mois, il y a un an...

 
Erreur de compilation :
class A {
template<typename T>
        A *StringFormat( string, T ) { return &this; }
        A *f() { return StringFormat( "", 1 ); } //Error: 'StringFormat' - object pointer expected
};
 
De même, l'historique des tics des personnages personnalisés disparaît après que le Testeur leur ait été appliqué. Il devrait être réparé.
 

La tentative de suppression du caractère personnalisé a mis le terminal hors d'état de nuire.

Consommation du CPU = 0. On dirait qu'il attend quelque chose. Avant cela, l'exécution de CustomTicksReplace a été interrompue pendant un long moment.

Raison: