Questions des débutants MQL5 MT5 MetaTrader 5 - page 1071

 
Igor Makanu:

Je voulais répartir les classes sur 2 inludes, mais je n'arrive pas à me débarrasser du problème de l'utilisation desenum dans les deux fichiers .mqh.

il y a le fichier 1.mqh :

et le fichier 2.mqh :

Lorsque je l'attache au code principal, j'obtiens une erreur

Enumération déjà définie 2.mqh

Voir la déclaration précédente de'ENUM_DEAL_TYPE'.

D'après ce que j'ai compris, la directive "Compilation conditionnelle (#ifdef, #ifndef, #else, #endif)" est nécessaire - je n'ai jamais eu d'expérience dans ce domaine, mais ça va mal ((.

Vous pouvez placer tous les enums dans un fichier .mqh distinct et le connecter à tous les inludes et autres codes nécessaires.

 
Alexey Viktorov:

Vous pouvez placer tous les enums dans un fichier .mqh distinct et le connecter à tous les inludes et autres codes nécessaires.

Je sais, je ne veux pas inclure tout le fichier à cause d'un enum, et dans les variables d'entrée j'utilise le même enum, en général, ce n'est pas encore pratique

Il doit y avoir quelque chose de similaire dans la bibliothèque standard - comment utiliser la compilation conditionnelle, je ne veux pas regarder tous les fichiers, donc j'espère de l'aide

 
Igor Makanu:

Je sais, je ne veux pas inclure tout le fichier à cause d'un seul enum, et dans les variables d'entrée j'utilise le même enum, en général, ce n'est pas encore pratique.

Très probablement, il devrait y avoir quelque chose de similaire dans la bibliothèque standard - comment utiliser la compilation conditionnelle, je ne veux pas regarder dans tous les fichiers, donc j'espère de l'aide.

La logique est simple : si ce n'est pas réglé, c'est réglé. Mais vous devrez l'écrire dans chaque fichier.
 
Artyom Trishkin:
La logique est simple : si ce n'est pas spécifié, spécifiez. Mais nous devrons le prescrire dans chaque dossier.

Cela fonctionne avec #define, sans problème :

#ifndef  EA_Slippage 
   #define  EA_Slippage  30 
#endif

mais avec les types, il ne veut pas travailler, comme une option pour écrire quelque chose avec définir - #ifndef dans le corps de ce que quelque chose à définir ... Je ne sais pas comment, je ne l'ai jamais utilisé, c'est pourquoi je demande comment.

 
Igor Makanu:

Je sais, je ne veux pas inclure tout le fichier à cause d'un seul enum, et dans les variables d'entrée j'utilise le même enum, en général, ce n'est pas encore pratique.

Il devrait probablement y avoir quelque chose de similaire dans la bibliothèque standard - comment utiliser la compilation conditionnelle, je ne veux pas regarder dans tous les fichiers, donc j'espère de l'aide.

C'est pas comme si je portais des sacs.

 
Alexey Viktorov:

Eh bien, ce n'est pas comme porter des sacs.

si tout était mesuré en sacs....

Je l'ai fait, j'ai besoin d'écrire une telle expression au début de chaque inluder et dans le programme principal :

#ifndef  ENUMDEALTYPE 
   #define  ENUMDEALTYPE
   enum        ENUM_DEALTYPE{NONE,BUY,SELL};
#endif

alors l'ordre des fichiers n'a pas d'importance et tout se compile sans problème.

 
Igor Makanu:

si tout était mesuré en sacs....

Je l'ai fait, j'ai besoin d'écrire une telle expression au début de chaque inluder et dans le programme principal :

alors l'ordre des fichiers n'a pas d'importance et tout se compile sans problème.

C'est de ça que je parle.
 

Bonjour !

Les 12 graphiques de MT5 ne reflètent pas (ne visualisent pas) les objets de la transaction dans le trading automatique normal,

Avec des échanges reflétés dans la section "Commerce". J'aimerais comprendre la raison de ces graphiques. Pouvez-vous m'éclairer ?

JE L'APPRÉCIERAIS VRAIMENT.

 
akarustam:

Bonjour !

Les 12 graphiques de MT5 ne reflètent pas (ne visualisent pas) les objets de la transaction dans le trading automatique normal,

Avec des échanges reflétés dans la section "Commerce". J'aimerais comprendre la raison de ces graphiques. Pouvez-vous m'éclairer ?

MERCI.

Vérifiez les paramètres dans le terminal : Paramètres - Trading
  • Afficher les transactions sur le graphique en temps réel- si cette option est activée, toutes les transactions effectuées par le trader seront automatiquement marquées sur le graphique avec les icônes correspondantesAcheter(transaction d'achat) etA vendre(transaction de vente). Lorsque vous placez le curseur de la souris sur une telle icône, une infobulle contenant des informations sur la transaction s'affiche : ticket, type de transaction, volume, symbole, prix d'ouverture et prix au point du curseur.

 
Vladimir Karputov:
Vérifiez les paramètres dans le terminal : Paramètres - Commerce
  • Afficher les transactions sur le graphique en temps réel- si cette option est activée, toutes les transactions effectuées par le trader seront automatiquement marquées sur le graphique avec une icône appropriée (transaction d'achat) et (transaction de vente). Si vous placez le curseur de la souris sur une telle icône, une info-bulle contenant les informations relatives à la transaction apparaîtra : ticket, type de transaction, volume, symbole, prix d'ouverture et prix au point du curseur.

MERCI.

J'ai vérifié et manipulé différemment, j'ai vu tous les objets de transaction, mais sur les 12 paires de devises, à l'exception de l'EURUSD, les lignes horizontales en pointillés des transactions avec indication du type et du numéro de transaction n'apparaissent toujours pas, alors que sur l'EURUSD, tous les objets et les lignes sont clairement indiqués, y compris le placement manuel des ordres. Je blâme la mise à jour de Windows 10 car j'ai placé des ordres sur le graphique EURUSD avant la mise à jour. Je ne sais pas quoi faire maintenant, bien sûr je peux changer mon habitude de vision de MT4, mais existe-t-il un bouton qui me permette de marquer enfin les lignes ?