Erreurs, bugs, questions - page 2038

 

Il existe deux objets graphiques - les lignes verticales. Vous devez faire en sorte qu'en déplaçant une ligne avec la souris, l'autre se place derrière elle à une distance constante.

Il est clair que OnChartEvent+OnTimer est terminé. Mais la seule chose est que la ligne tirée vacille sensiblement à l'œil - un décalage. Un timer d'une milliseconde et ChartRedraw n'aident pas.

Est-il possible de résoudre cette tâche primitive en douceur dans MT5 ? Ou bien les particularités architecturales rendent-elles la chose impossible ?

Il est intéressant de noter que le lissage est obtenu en un rien de temps sur la toile. Mais il échoue avec les objets graphiques.


Lorsque je configure l'objet "Fibonacci Time Zones", toutes ses lignes verticales se déplacent de manière fluide lorsqu'on les déplace avec la souris. Le système de cartographie graphique des objets s'en accommode sans problème. Mais dès que le MQL est utilisé pour remonter un objet après l'autre, la fluidité disparaît.

 
fxsaber:

Est-il possible de résoudre cette tâche primitive en douceur dans MT5 ? Ou bien les caractéristiques architecturales rendent-elles la chose impossible ?

DND interne ou interne et redécoupage sur événement MouseMove pendant le tirage.

Vous ne pouvez pas vous débarrasser du décalage à 100% bien sûr, mais vous pouvez vous en débarrasser à 99%.

 
Комбинатор:

DND interne ou interne et redessiner sur l'événement MouseMove tout en tirant.

Vous ne pouvez pas vous débarrasser du décalage à 100% bien sûr, mais vous pouvez vous en débarrasser à 99%.

La question est : pourquoi ? Il semble que quelque chose soit inachevé dans mt5 ou au contraire, qu'il ait été coupé pour des raisons de productivité. Je ne peux pas utiliser le terminal avec des graphiques rigides pour le trading manuel, il ne convient qu'aux machines. Le terminal en lui-même est bon, testeur encore pour certaines tâches, mais il ne tient pas du tout la carte. Les pour et les contre sont à 50/50.

Peut-être amélioreront-ils la situation à l'avenir.

 
Vitaly Muzichenko:

Un terminal aux graphismes serrés ne convient pas au trading manuel.

Comme si tout le monde était assis sur les premiers Pentiums. L'idée est que toute personne qui négocie avec au moins 10k zel aura un ordinateur depuis au moins cette année. L'objectif est d'améliorer les performances du terminal.

Nous devrions peut-être créer deux terminaux - pour les riches et pour les pauvres, sinon ce serait injuste.

 
Anton Ohmat:

Comme si tout le monde était assis sur les premiers Pentiums. L'idée est que toute personne qui négocie avec au moins 10k zel aura un ordinateur depuis au moins cette année. L'objectif est d'améliorer les performances du terminal.

Nous devrions peut-être créer deux terminaux - pour les riches et pour les pauvres, sinon ce serait injuste.

J'ai un ordinateur qui ne date pas du siècle dernier.

 
fxsaber:

Est-il possible de résoudre cette tâche primitive en douceur dans MT5 ? Ou bien les particularités architecturales rendent-elles la chose impossible ?

C'est possible si vous déplacez les lignes en utilisant mql, un exemple tiré de ma pratique :
 
Yury Kulikov:
Peut-être que si vous déplacez les lignes avec les outils mql, un exemple de ma pratique :
Donc pas avec des photos, mais avec un code. Dans un cas extrême, un algorithme.
 
Artyom Trishkin:
Donc pas avec des photos, avec un code. En dernier recours, c'est un algorithme.

Donc, combinator l'a déjà dit :), suivre l'événement MouseMove et déplacer simultanément les lignes de l'ensemble puis ChartRedraw, cela se passe sans heurts et sans décalage.

 
Yury Kulikov:

Donc combinator déjà dit :), suivre l'événement MouseMove et sur lui déplacer simultanément les lignes définies et ensuite ChartRedraw, il s'avère lisse et sans décalage.

Et comment, dans ce cas, MouseMove est principalement différent de la minuterie de la milliseconde? De plus, les paramètres MouseMove (x, y) ne sont pas utilisés. Je pense que vous avez une fluidité due à un petit nombre d'objets graphiques. Par exemple, dans MetaTrader 4, j'ai mis en boucle un script et il a fonctionné encore plus rapidement.

 
Yury Kulikov:
Peut-être que si vous déplacez les lignes avec mql, un exemple tiré de ma pratique :

Purement mql, pas de dll ou autre.

Le code est exactement le même dans les deux exemples