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

 
psyman:

S'il y a plus d'une position ouverte à la main, comment puis-je affecter l'EA à celle qui doit être chalutée ?

Jusqu'à présent, j'ai seulement pensé à lancer un script qui crée un GP et à copier le ticket à partir de là.

Est-il possible de fournir la valeur du ticket à l'entrée owl en tant qu'entrée int ou au moins en tant qu'énumération d'énumérations de ticks de toutes les positions du symbole donné ?

En cliquant sur l'icône de la position ouverte/ordre établi, on la sélectionne comme cible de chalutage. Cliquer+Ctrl permet de sélectionner plusieurs positions/ordres pour le chalut. Il vous suffit d'entrer une réaction aux événements de clics sur les objets. Et permettre de définir la position/ordre des icônes.

 
Artyom Trishkin:

:)

Et si vous exécutez l'EA à 9.22 ?

Que se passe-t-il en cas de défaillance du système ou du terminal ? Le prix sera perdu.

C'est-à-dire qu'il faut chercher ce qui était il y a 20 minutes au moment de ce contrôle. Le moment est venu où les minutes sont supérieures ou égales à un multiple de vingt - vérifiez l'état du RSI sur la barre, qui était il y a 20 minutes. S'il a le croisement souhaité, alors nous procédons comme prévu...

Cependant, sur M15, vous ne pouvez pas déterminer le moment exact du passage et le prix exact, mais vous pouvez regarder le prix sur M1 - au moins 15 fois plus précis.

Ne pouvez-vous pas fabriquer un bloc-notes qui enregistrera l'heure exacte du passage et le prix ?)
Il existe des AE qui enregistrent toutes sortes d'informations dans un bloc-notes.

 
Alexey Viktorov:

On utilise plus souvent GV de GlobalVariable***, je ne poserais pas cette question dans ce cas. La question est ambiguë. Il y a plusieurs positions, mais nous n'avons besoin que d'un seul chalut. Est-ce le même conseiller expert qui définit les positions ? La question semble étrange dans ce cas. Si les positions sont placées manuellement ou par un autre EA, alors, lorsque vous exécutez l'EA, insérez dans le ticket d'entrée et c'est tout... Si le conseiller expert fixe un nombre aléatoire de positions et que la liste peut être modifiée à la volée... Le freelancing est utile.


Vous comprenez correctement et écrivez même ce qu'il faut faire, mais ne dites pas comment :-)

Les postes sont ouverts à la main, la chouette ne peut les distinguer que par le ticket. Je peux coller le billet à la main en le copiant dans le tampon, mais il est préférable de ne pas le faire, mais de proposer de choisir dans une liste. Est-il possible de le faire ?

 
Artyom Trishkin:

Question : parlez-vous de l'environnement de développement IntelliJ IDEA ?

Oui, je parle d'IntelliJ IDEA.

 
secret:

Toute la vie semble être ici, personne ne regarde les fils individuels.

Regardez ma question, s'il vous plaît : Puis-je inventer un analogue de CopyBuffer() pour MT4 ?

https://www.mql5.com/ru/forum/302404

Oui, mais dans ce cas, vous devez compléter le code de l'indicateur, qui doit produire son propre tampon.

 
psyman:

Vous comprenez correctement et écrivez même ce qu'il faut faire, mais ne dites pas comment :-)

Les postes sont ouverts à la main, la chouette ne peut les distinguer que par le ticket. Je peux coller le billet à la main en le copiant dans le tampon, mais il est préférable de ne pas le faire, mais de proposer de choisir dans une liste. Est-il possible de le faire ?

Tout est possible. Par exemple pour afficher un panneau avec des positions, et dans celui-ci choisir pour quelle piste. Mais c'est plutôt comme tu l'as dit plus haut en Freelance.

 
Artyom Trishkin:

En cliquant sur l'icône d'une position ouverte ou d'un ordre, vous la sélectionnez comme cible de chalutage. Cliquez+Ctrl pour sélectionner plusieurs positions/ordres pour le chalut. Il vous suffit d'entrer une réaction aux événements de clics sur les objets. Et permettre de définir la position/ordre des icônes.


Cela correspond donc à l'exécution de PositionSelect ?

 
psyman:


Cela correspond donc à l'exécution de PositionSelect ?

Non, ça ne l'est pas. Il s'agissait d'une suggestion sur la façon dont cela pourrait être fait.

 
Artyom Trishkin:

En cliquant sur l'icône d'une position ouverte ou d'un ordre fixe, vous la sélectionnez comme cible de chalutage. Cliquer+Ctrl permet de sélectionner plusieurs positions/ordres pour le chalut. Tout ce que vous devez faire est d'insérer une réaction aux événements de clic. Et permettre de définir la position/ordre des icônes.

Vous devez faire référence au chalut intégré au terminal ? Il ne peut pas faire de fermeture partielle, ce qui est ce que je veux faire, c'est pourquoi c'est un tel désordre.


=J'aijuste besoin demettre en place une réaction aux événements de clics sur les objets.

Et comment puis-je gérer les événements en dehors de la fenêtre graphique ?

D'après ce qui est écrit dans l'aide, aucun des types d'événements ne convient.

 
psyman:

Vous devez faire référence au chalut intégré au terminal ? Il ne peut pas faire de fermeture partielle, ce qui est ce que je veux faire, c'est pourquoi c'est un tel désordre.


=J'aijuste besoin demettre en place une réaction aux événements de clics sur les objets.

Et comment puis-je gérer les événements en dehors de la fenêtre graphique ?

D'après ce qui est écrit dans l'aide, aucun des types d'événements ne convient.

Je comprends que le conseiller expert doit d'une manière ou d'une autre indiquer le ticket de la position ouverte manuellement qu'il doit parcourir.

  1. Ajoutez à l'Expert Advisor le suivi des positions nouvellement ouvertes et si elle n'a pas de magik, cela signifie qu'elle est ouverte manuellement. Le Conseiller Expert mettra une icône d'ouverture de cette position sur le prix et la barre de son ouverture. Le nom de l'objet doit contenir un préfixe avec le nom commun de l'objet pour tous ces objets, par exemple "manual_" et le ticket de la position doit également être présent. En conséquence, le nom de l'objet peut être le suivant : "manual_12345678". Ici : manual_ - préfixe, 12345678 - ticket de position.
  2. Ajouter à l'Expert Advisor OnChartEvent() et surveiller l'événement du clic de souris sur l'objet. Analysez le nom de l'objet et s'il contient une sous-chaîne manual_, cherchez alors un numéro après manual_. Ce numéro est le ticket de la position dont vous avez cliqué sur l'icône.
  3. L'étape suivante est d'ordre technique : vous devez enregistrer le numéro trouvé, afin qu'il ne soit pas perdu lorsque vous redémarrez le conseiller expert/le terminal/l'ordinateur/le monde... Par exemple, dans les ressources ou les variables globales du terminal.
  4. Le Conseiller Expert doit lire cette ressource et prendre le ticket de la position à traîner à partir de celle-ci
  5. Dans le cycle de chalutage, vous devez récupérer le ticket de la position sélectionnée et rechercher ce numéro dans la liste des tickets sauvegardés. Si un tel ticket est trouvé, la position avec ce ticket doit être recherchée.
  6. Si le nombre de positions est modifié, il faut vérifier le ticket de la position fermée et le retrouver dans la liste sauvegardée. Si un tel ticket existe dans la liste, il doit être supprimé de la liste - la position n'existe plus, et il n'y a rien à faire avec son ticket dans la liste des tickets d'appât.
Ça donne quelque chose comme ça. La logique a été écrite sur mes genoux, donc je n'ai peut-être rien pris en compte...