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

 
novichok2018 #:

Pas seulement ça. Il voit clairement la position ouverte (manuellement), ses arrêts et le moment où elle est fermée. C'est comme s'il s'agissait d'un commerce.

Le conseiller expert travaille avec le serveur de négociation, et toutes les modifications des ordres sont demandées sur le serveur.

En gros, vous avez ouvert une position manuellement, l'Expert Advisor sur un nouveau tick ou par le timer a demandé au serveur le statut du compte, a obtenu la réponse du serveur que l'ordre est ouvert, et a ensuite envoyé un message à l'hôte.

 
Tretyakov Rostyslav #:

Le conseiller expert travaille avec le serveur de négociation et toutes les modifications des ordres sont demandées sur le serveur.

En gros, vous avez ouvert une transaction manuellement, le conseiller expert, à chaque nouveau tick ou timer, interroge le serveur sur le statut du compte, obtient une réponse du serveur indiquant que la transaction est ouverte, puis envoie un message à l'hôte.

Si c'est le cas, alors le maître de l'EA voit d'autres transactions ouvertes sur d'autres symboles que le sien, ou plutôt des changements dans le compte causés par celles-ci, alors qu'il ne devrait voir que les transactions sur son symbole.

 
novichok2018 #:

Si c'est le cas, le propriétaire de l'EA voit d'autres transactions ouvertes qui ne sont pas sur son symbole, ou plutôt des modifications de compte causées par celles-ci, alors qu'il ne devrait voir que les transactions sur son symbole.

S'il n'y a pas de demande pour son symbole comme if(OrderSymbol()=="EURUSD")

alors il voit tous les métiers.

 
Tretyakov Rostyslav #:

Si son EA ne demande pas un symbole comme if(OrderSymbol()=="EURUSD")

alors il voit tous les métiers.

Cependant, est-il possible d'ajouter dans le code, de sorte que l'EA ouvre une position (ou la reflète) non pas sur le graphique où elle est placée, mais en utilisant le même symbole, mais sur un autre ? Ou bien ce n'est pas possible en principe ?

 
novichok2018 #:

Donc, est-il possible de spécifier dans le code que l'EA ouvre une position (ou la reflète) non pas sur le graphique où elle est définie, mais sur le même symbole, mais sur un graphique différent ? Ou bien ce n'est pas possible en principe ?

Toute demande concernant le statut d'un compte ou d'une transaction passe par la grille, où il n'y a ni conditions ni délais. La réponse à votre question : ce n'est pas possible.

 
novichok2018 #:

Donc, est-il possible de spécifier dans le code que l'EA ouvre une position (ou la reflète) non pas sur le graphique où elle est définie, mais sur le même symbole, mais sur un graphique différent ? Ou bien ce n'est pas possible en principe ?

Vous voulez que l'EA n°2 voit toutes les positions ouvertes par l'EA n°1, non ?

Eh bien, c'est facile.

 
Alekseu Fedotov #:

Vous voulez que l'EA n°2 (disons) voie toutes les positions ouvertes par l'EA n°1, n'est-ce pas ?

Eh bien, c'est facile.

Il veut que le moniteur ne voit nulle part qu'il interfère avec le trading de l'EA.

 

Alexey Viktorov #:

  HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);



Merci pour la réponse précédente, mais maintenant un autre problème. Lorsque l'on teste pendant plus d'un an, la mémoire s'épuise. Le testeur écrit "Canal_1" Il n'y a plus de mémoire. Aussi, "Canal_1" : non initialisé. Ces messages apparaissent après avoir été testés pendant un an ou plus sur 3 ordinateurs. L'indicateur (Channel_1) est connecté via une ressource. N'a pas fait d'allocation dynamique de mémoire via new. Le problème est apparu après les changements décrits dans le post précédent. J'ai commencé à boucler l'indicateur connecté et chaque fois que je change le paramètre intuitif (période) dans celui-ci.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.02.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Aleksandr Kononov #:

Merci pour la réponse précédente, mais maintenant un autre problème. Lorsque l'on teste pendant plus d'un an, la mémoire s'épuise. Le testeur écrit "Canal_1" Il n'y a plus de mémoire. Aussi, "Canal_1" : non initialisé. Ces messages apparaissent après avoir été testés pendant un an ou plus sur 3 ordinateurs. L'indicateur (Channel_1) est connecté via une ressource. N'a pas fait d'allocation dynamique de mémoire via new. Le problème est apparu après les changements décrits dans le post précédent. J'ai commencé à boucler l'indicateur et à chaque fois je change son paramètre intuitif (période).

C'estpeut-être ça le problème? Essayez de supprimer périodiquement la ressource

bool  ResourceFree( 
   const string  resource_name      // имя ресурса 
   );

Mais il faut alors le créer de manière dynamique.

bool  ResourceCreate( 
   const string      resource_name,       // имя ресурса 
   const string      path                 // относительный путь к файлу 
   );

C'est-à-dire qu'il faut d'abord supprimer la ressource, puis la recréer. Le seul problème est que je ne sais pas comment cela va fonctionner. Ou si ça va marcher du tout. Nous devrons essayer...

 
Alekseu Fedotov #:

Vous voulez que l'EA n°2 (disons) voie toutes les positions ouvertes par l'EA n°1, n'est-ce pas ?

Eh bien, c'est facile.

Oui, exactement : que l'EA #2, verrait toutes les positions ouvertes par l'EA #1. Seulement si c'était facile pour moi, je ne demanderais pas d'aide.

Jusqu'à présent, je vois la solution suivante : écrire un indicateur qui crée un objet "point" avec les coordonnées de la position ouverte par l'EA #1 et le placer sur un graphique avec l'EA #2 installé.

Si ma logique est correcte, j'ai encore besoin d'aide pour écrire cet indicateur.

Raison: