Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1112

 
Alexey Viktorov:

Dans OnChartEvent, vous devez également connaître le nom exact de l'objet. Et vous n'en avez pas tant que vous n'avez pas l'objet lui-même.

Il est, sur la création, en sparadrap.

En général, cela fonctionne dans OnChartEvent, mais cela ne fonctionne pas dans le testeur.

 
Andrey Sokolov:

Il est, sur la création, en sparadrap.

En général, cela fonctionne dans OnChartEvent, mais cela ne fonctionne pas dans le testeur.

Essayez cette logique :

s'il y a un nouvel objet ...

 
Andrey Sokolov:

Il est, sur la création, en sparadrap.

En général, cela fonctionne dans OnChartEvent, mais cela ne fonctionne pas dans le testeur.

Mais à quoi dois-je le comparer ? Comment savez-vous que c'est le bon objet ? Comment savez-vous que ça marche sur la même tique ?

Artyom Trishkin:

Essayez cette logique :

S'il y a un nouvel objet ...

Ce sera sur le prochain tic, même si c'est difficile.

 
Artyom Trishkin:

Essayez cette logique :

s'il y a un nouvel objet ...

Veuillez préciser comment exactement

 
Alexey Viktorov:

Mais à quoi comparez-vous Sparam ? Comment pouvez-vous savoir si c'est le bon objet ? La partie du nom.

Comment savoir si ça marche sur la même tique ? - En l'imprimant sur papier.

 
Andrey Sokolov:

Mais à quoi comparez-vous Sparam ? Comment pouvez-vous savoir si c'est le bon objet ? La partie du nom.

Comment savoir si ça marche sur la même tique ? - Sortie imprimée.

1. Regardez les autres objets pour voir si ces parties du nom correspondent.

2. Est-ce qu'il imprime le temps en secondes ? Et à quelle fréquence y a-t-il des tiques ?

 
Alexey Viktorov:


Il le sera, pour ainsi dire, au prochain tic-tac.

Eh bien attendez..., dans une minuterie milliseconde nous pouvons connaître le volume actuel. Tant que le volume n'a pas changé (tick actuel), nous vérifions si un nouvel objet est apparu. Dès que le nombre d'objets passés n'est pas égal au nombre d'objets actuels, alors que le volume actuel est égal au volume passé - l'apparition d'un objet dans le tic-tac actuel - faites ce que vous voulez.
Ou est-ce que je me trompe ? Il faut vérifier...

SZZ. Comme nous le voyons, lorsqu'un nouvel objet apparaît dans la minuterie, nous envoyons un événement utilisateur, dans lequel nous écrivons les informations nécessaires. Tout le traitement de l'apparition d'un nouvel objet de cette manière sera effectué dans le gestionnaire d'événements. Et il n'est pas sûr que l'hypothèse soit correcte, et ça vaut la peine...

 
Artyom Trishkin:

Attendez une minute, dans une minuterie milliseconde nous pouvons connaître le volume actuel. Tant que le volume n'a pas changé (tick actuel), nous vérifions si un nouvel objet est apparu. Dès que le nombre d'objets passés n'est pas égal au nombre d'objets actuels, alors que le volume actuel est égal au volume passé - l'apparition d'un objet dans le tic-tac actuel - faites ce que vous voulez.
Ou est-ce que je me trompe ? Il faut vérifier...

SZZ. Comme nous le voyons, lorsqu'un nouvel objet apparaît dans la minuterie, nous envoyons un événement utilisateur, dans lequel nous écrivons les informations nécessaires. Tout le traitement de l'apparition d'un nouvel objet de cette manière sera effectué dans le gestionnaire d'événements. Et il n'est pas sûr que l'hypothèse soit correcte, et ça vaut la peine...

Sinon, OnChartEvent est suffisant, mais dans le testeur, ni le timer ni OnChartEvent ne fonctionnent.

Jusqu'à présent, le problème est de le faire fonctionner dans le testeur sur le même tic.

 
Alexey Viktorov:

1. Regardez les autres objets pour voir si ces parties du nom correspondent. - C'est suffisant pour moi.

2. Est-ce qu'il imprime le temps en secondes ? Quelle est la fréquence des tiques ? - Il n'y a pas de retard notable, vous pouvez le constater par vous-même, le code est minimal.

 
Artyom Trishkin:

Attendez une minute, dans le compteur de millisecondes nous pouvons connaître le volume actuel. Tant que le volume n'a pas changé (tick actuel), nous vérifions si un nouvel objet est apparu. Dès que le nombre d'objets passés n'est pas égal au nombre d'objets actuels, alors que le volume actuel est égal au volume passé - l'apparition d'un objet dans le tic-tac actuel - faites ce que vous voulez.
Ou est-ce que je me trompe ? Il faut vérifier...

SZZ. Comme nous le voyons, lorsqu'un nouvel objet apparaît dans la minuterie, nous envoyons un événement utilisateur, dans lequel nous écrivons les informations nécessaires. Tout le traitement de l'apparition d'un nouvel objet de cette manière sera effectué dans le gestionnaire d'événements. Et il n'est pas sûr que l'hypothèse soit correcte, et ça vaut la peine...

Comme je comprends la tâche :

Sur un graphique, il y a un indicateur qui dessine des marques et un EA qui lit ces marques.

L'Expert Advisor doit lire sur un tick la marque que l'indicateur a dessiné sur le même tick. Où est la garantie que l'indicateur fonctionnera plus rapidement que le conseiller expert ? L'événement se produira simultanément dans l'indicateur et dans le conseiller expert. Deuxièmement, même dans un code, après ObjectCreate il est impossible de lire les propriétés de l'objet, malgré le fait que l'objet a déjà été créé.

Je doute fortement de la possibilité d'un tel coup. Mais je serais très heureux si je me trompais.