Erreurs, bugs, questions - page 973

 
tol64:

Merci, je le sais. vdv2001 a une sorte de problème avec elle :

//---

Je voulais voir comment il faisait pour découvrir qu'il avait un bug.


Puis une autre citation de l'aide

CHART_MOUSE_SCROLL

Faites défiler le graphique horizontalement avec le bouton gauche de la souris. Le défilement vertical est également disponible si l'une des trois propriétés est définie comme vraie : CHART_SCALEFIX, CHART_SCALEFIX_11 ou CHART_SCALE_PT_PER_BAR.

bool

 
Ah, je vois ce que c'est. ))
vdv2001:

Oui, l'objet est sélectionné, mais il ne peut pas être déplacé avec la souris (comme dans le terminal 4).

Ou maintenant, déplacer tous les objets créés par Expert Advisor doit être géré par des événements.

Dans MT5, je dois placer précisément le curseur de la souris sur le point d'ancrage d'un objet sélectionné. Dans MT4, cela se fait automatiquement. Personnellement, je préfère déplacer les objets sans sélection par le biais d'événements. Plus haut, Rosh a montré la propriété permettant d'activer/désactiver le défilement du graphique, afin qu'il n'interfère pas avec les objets en mouvement.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
tol64:
Ah, je vois ce que c'est. )) Dans MT5, je dois placer exactement le curseur de ma souris sur l'objet sélectionné. Dans MT4, c'est automatique. Personnellement, je préfère déplacer les objets sans sélection par le biais d'événements. Plus haut, Rosh a montré la propriété permettant d'activer/désactiver le défilement du graphique, afin qu'il n'interfère pas avec les objets en mouvement.

J'ai augmenté le graphique au maximum, j'ai placé la souris sur le point d'ancrage de l'objet sélectionné, j'ai "appuyé" le bouton gauche de la souris sur le sol, j'ai appliqué l'effort maximum et ...

L'objet est resté en place.

Pour répéter ce processus n'est pas difficile, créer un objet CChartObjectTrend, définir ses propriétés et essayer de le déplacer. Je n'ai pas réussi.

CHART_MOUSE_SCROLL Je l'ai essayé et le graphique arrête de bouger, mais l'objet n'a pas bougé.

P.S.

Bien que, si l'on gère le mouvement d'un objet par le biais d'événements, c'est correct (je connais l'ancienne coordonnée) . Je le ferai par le biais d'événements. Merci, la question est close.

 
vdv2001:

J'ai augmenté le graphique au maximum, j'ai placé la souris sur le point d'ancrage de l'objet sélectionné, j'ai "appuyé" le bouton gauche de la souris sur le sol, j'ai appliqué l'effort maximum et ...

L'objet est resté en place.

Il n'est pas difficile de répéter ce processus, de créer un objet CChartObjectTrend, de définir ses propriétés et d'essayer de le déplacer. Ça n'a pas marché pour moi.

...

C'est comme ça que ça marche, si tant est que ça marche :

void OnStart()
  {
   double low[];
   datetime time[];
   string name_object="Trend_Test";
//---
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(time,true);
//---
   CopyLow(_Symbol,_Period,0,50,low);
   CopyTime(_Symbol,_Period,0,50,time);
//---
   if(ObjectCreate(0,name_object,OBJ_TREND,0,time[0],low[0],time[49],low[49]))
      ObjectSetInteger(0,name_object,OBJPROP_SELECTABLE,true);
  }
 

Quelqu'un a-t-il réussi à répéter l'exploit devoix_kas?

voix_kas:
...
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).

...


Avez-vous des objets de type OBJ_BITMAP_LABEL affichés en mode visualisation dans votre testeur ?

//---

Ou est-ce une faute de frappe ? )))

 
Pour le calcul de la performance des bitmaps, il est conseillé de regarder le code. Il y a peut-être des opérations de redécoupage supplémentaires.
 
tol64:

C'est comme ça que ça marche, si tant est que ça marche :

Bon, j'ai trouvé pourquoi je ne bougeais pas, j'ai défini la propriétéOBJPROP_TIMEFRAMES de l'objet,après quoi l'objet cesse de bouger.

Par exemple, pour le graphique en minutes, j'ai défini la propriété

obj.Timeframes(OBJ_PERIOD_M1);

et que l'objet ne bouge plus, il semble qu'il s'agisse d'un pépin.

Tout fonctionne normalement après avoir changé de période graphique, par exemple en passant à M2, puis à M1, et tout va bien.

 

voix_kas:

Qu'est-ce que je peux dire ? Un Bitmap fonctionne ( !) un ordre de grandeur plus lentement que 26 étiquettes ordinaires. J'ai essayé d'exclure de OnTick() l'opération de copie du motif dans le canevas de travail (tableau uint 250*410), c'est-à-dire l'opération sur un seul canevas. Le gain n'est ressenti qu'en temps réel. Dans le testeur, c'est la même chose, avec une dégradation absolue de la productivité. Le modeCOLOR_FORMAT_ARGB_NORMALIZE a été utilisé, car les autres donnent un aspect moins esthétique. Pour l'avenir, je dois dire que travailler sur une seule toile est difficile car il faut suivre la superposition des inscriptions précédentes (zones propres).


1. Comment mesurez-vous la vitesse ?

2. Pouvez-vous joindre la source (dans un message privé ou dans un CD) ?

 
alexvd:


1. Comment mesurez-vous la vitesse ?

2. Pouvez-vous joindre le code source (dans un message privé ou dans un CD) ?

Malheureusement, je n'ai pas sauvegardé le code par manque d'intérêt. Entermes généraux:

OnInit() :

1. Crée un Bitmap sur le graphique.

2. Deux toiles sont créées(uint 250*410): un modèle et une toile de travail. Sur le modèle, 13 étiquettes portant le nom des paramètres statistiques sont appliquées (TextOut).

OnTick() :

1. Le modèle est copié sur le canevas de travail.

2. Les 13 étiquettes avec les valeurs correspondantes des paramètres statistiques sont appliquées (TextOut) au canevas de travail.

3. Crée une ressource.

4. le canevas de travail est mis à jour.

Je n'ai pas pris de chronométrage particulier, car il est évident que la vitesse a diminué d'un ordre de grandeur. Ce qui dans le testeur, ainsi qu'en temps réel (lorsque le défilement du graphique est assez évident freezes / saccades).

J'ai essayé de supprimer le point 1. de OnTick(). En temps réel, cela devient tolérable, mais le testeur rampe à peine. Encore une fois, cela ne peut pas être fait en temps réel, car aucun nettoyage n'a été effectué aux emplacements des marques précédentes sur la toile de travail.

Encore une fois, j'ai utilisé le modeCOLOR_FORMAT_ARGB_NORMALIZE, car les étiquettes(TextOut) sont peu esthétiquessans canal alpha.

 
tol64:

Quelqu'un a-t-il réussi à répéter l'exploit devoix_kas?

//---

Ou est-ce une faute de frappe ? )))

Ce n'est pas une faute de frappe. En mode visuel, je teste toujours le conseiller expert avec les statistiques graphiques activées. C'est plus informatif pour moi.