Veuillez donner plus de liberté pour gérer les fenêtres du graphique - page 5

 
joo:
... De nos jours, vous pouvez dessiner tout ce que vous voulez avec un bitmap dans une seule fenêtre... c'est un peu lourd, mais vous pouvez faire tout ce que vous voulez.
Le problème n'est pas que vous pouvez ou ne pouvez pas dessiner - ce dont vous avez besoin, c'est d'une fenêtre graphique que vous pouvez contrôler : déplacer, redimensionner.
 

Comme solution de rechange (cette option me semble laide), vous pouvez appliquerobj_chart, mais vous ne pouvez pas lui appliquer de modèle et ajouter des indicateurs.

S'il était possible d'ajouter des indicateurs àobj_chart, je pense que ce serait une demi-mesure acceptable.

 
barabashkakvn:

Comme solution de rechange (cette option me semble moche), vous pouvez appliquerobj_chart, mais vous ne pouvez pas lui appliquer de modèle et ajouter des indicateurs.

S'il était possible d'ajouter des indicateurs àobj_chart, je pense que ce serait une demi-mesure acceptable.

Il est possible d'ajouter des indicateurs àobj_chart en utilisant MQL5, mais c'est aussi peu pratique.
 
tol64:
Il est possible d'ajouter des indicateurs àobj_chart en utilisant les outils MQL5, mais c'est aussi peu pratique.
Oui, vous pouvez, en utilisantOBJPROP_CHART_ID. Je me suis trompé - je voulais dire ajouter des graphiques àobj_chart dans une fenêtre séparée.
 
barabashkakvn:

Comme solution de rechange (cette option me semble moche), vous pouvez appliquerobj_chart, mais vous ne pouvez pas lui appliquer de modèle et ajouter des indicateurs.

Si seulement il était possible d'ajouter des indicateurs àobj_chart, alors, je pense, que ce serait une demi-mesure acceptable.

barabashkakvn:
Oui, vous pouvez, en utilisantOBJPROP_CHART_ID. Je me suis trompé - je voulais dire ajouter des graphiques àobj_chart dans la fenêtre séparatrice.

J'ai compris : le modèle peut être appliqué, l'indicateur ajouté et la fenêtre de séparation de l'objetobj_chart peut être définie. Ainsi, à ce stade de MQL5, l'objet graphique peut pratiquement se substituer à une fenêtre graphique habituelle.

Pourquoi pratiquement ?

Si seulement la fenêtre de séparation des graphiques pouvait être placée non seulement horizontalement, mais aussi verticalement ! Une fenêtre de séparation verticale pourrait alors devenir un substitut à part entière d'une fenêtre de graphique ordinaire. Et la fenêtre de séparation verticale peut être contrôlée : elle peut être redimensionnée. Ainsi, vous pouvez mettre en œuvre le contrôle des fenêtres au moyen de MQL5 sans WinAPI.

 
barabashkakvn:

Avec obj_chart, j'ai trouvé la solution : on peut appliquer un modèle et ajouter un indicateur et une fenêtre de séparation à l'objetobj_chart. Ainsi, à ce stade de MQL5, l'objet graphique peut pratiquement se substituer à une fenêtre graphique habituelle.

Pourquoi pratiquement ?

Si seulement la fenêtre de séparation des graphiques pouvait être placée non seulement horizontalement, mais aussi verticalement ! Une fenêtre de séparation verticale pourrait alors devenir un substitut à part entière d'une fenêtre graphique standard. Et la fenêtre de séparation verticale peut être contrôlée : elle peut être redimensionnée. Ainsi, vous pouvez mettre en œuvre le contrôle des fenêtres au moyen de MQL5 sans WinAPI.

Dans une fenêtre d'objet graphique, vous pouvez placer d'autres objets du type graphique. Compte tenu des événements graphiques existants(CHARTEVENT_MOUSE_MOVE), nous pouvons mettre en œuvre la gestion des objets. Ce n'est pas élémentaire, mais tout à fait réalisable.
 
antt:
D'autres objets de type graphique peuvent être placés dans la fenêtre des objets graphiques. Compte tenu des événements graphiques existants(CHARTEVENT_MOUSE_MOVE), la gestion des objets peut être mise en œuvre. Ce n'est pas élémentaire, mais tout à fait réalisable.
ChartNavigate() dans les objets graphiques fonctionne déjà ? D'une manière ou d'une autre, j'avais envoyé une demande au Service Desk avec cette requête, mais je n'ai pas encore reçu de réponse.
 
tol64:
ChartNavigate() dans les objets graphiques fonctionne déjà ? J'ai déjà envoyé une demande au Service Desk avec cette requête, mais je n'ai pas encore reçu de réponse.

Cela a fonctionné et fonctionne encore. Un exemple simple :

void OnStart()
  {
   ObjectCreate(0,"chart",OBJ_CHART,0,0,0);
   long id=ObjectGetInteger(0,"chart",OBJPROP_CHART_ID);
   ChartSetInteger(id,CHART_AUTOSCROLL,0);
   ChartNavigate(id,CHART_END,0);
   Sleep(1000);
   ChartNavigate(id,CHART_BEGIN,0);
   Sleep(1000);
   ChartNavigate(id,CHART_END,0);
  }
 
antt:

Cela a fonctionné et fonctionne encore. Un exemple simple :

Merci. Il s'avère que mon erreur est de ne pas avoir désactivé l'autoscroll dans l'objet graphique. )

Super. Le défilement horizontal dans l'objet graphique peut alors être mis en œuvre de manière autonome.

 
tol64:

Merci. Il s'avère que mon erreur est de ne pas avoir désactivé l'autoscroll dans le graphique de l'objet. )

Super. Le défilement horizontal dans l'objet graphique peut alors être mis en œuvre de manière autonome.

Et comment faire fonctionner "Crosshair" dans l'objet graphique - je veux dire, quand "Crosshair over chart object" est maintenu, les données OHLC sont affichées dans la barre d'état ?