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

 
smetantn1980:
Bonjour, pouvez-vous me dire pourquoi mes boutons de débogage dans metaeditore ne sont pas actifs????source a été inséré
Où est-il sauvegardé ? Pour que le débogage soit possible, le code doit être enregistré dans le répertoire de données, et non pas quelque part dans le temp.
 
Vitalie Postolache:
Il est fort probable que les fonctions mentionnées soient des fonctions personnalisées et que ME n'ait pas besoin de les connaître. C'est à vous de les déclarer et de les appeler correctement.
Les fonctions ne sont pas définies par l'utilisateur. Répondez, si vous le voulez bien, à la question de savoir dans quel langage écrire un logiciel dans le terminal mt4 ?
 
Kira27:
Les fonctions ne sont pas définies par l'utilisateur. Répondez, si vous le voulez bien, à la question de savoir dans quel langage écrire un logiciel dans le terminal mt4 ?
Les développeurs essaient maintenant de minimiser les différences entre les terminaux. Cependant, il existe quelques différences, et certaines fonctions de MQL5 peuvent ne pas fonctionner correctement dans MQL4. Le "soft" pour le terminal MT4 doit être écrit en MQL4 et uniquement en MQL4. Il ressemble simplement à MQL5 maintenant. Consultez l'aide pour la langue.
 

Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.

le conseiller est situé dans le dossier du programme comme d'habitude dans le dossier Expert et se trouve sur le graphique

 
Kira27:
Ces fonctions ne sont pas définies par l'utilisateur. Si vous le voulez bien, quel langage doit-on utiliser pour écrire un soft dans le terminal mt4 ?

Oui, pas personnalisé, ce sont des fonctions de MQL5. Pour MQL4, vous devrez en trouver d'autres, ou en écrire de semblables, mais personnalisés.

Par exemple, OrderGetTicket() MQL5 -> OrdetTicket() MQL4.

 
merci beaucoup je n'ai pas ouvert cette EA à partir du terminal donc le débogage n'était pas actif
 
conseiller comment configurer l'EA pour qu'il affiche le volume total en lots à l'écran pour la vente et l'achat.
 

Bonjour à tous !

Quelques questions d'un nouveau venu.

1. La différence entre Mql4 et Mql5 (site web et langage de programmation lui-même). Il existe Metatrade 4 et Metatrader 5 avec Mql4 et Mql5 intégrés respectivement. Il existe également deux sites web différents correspondants. En même temps, tous les conseillers experts que j'ai examinés dans MT4 mènent à ce site. Laquelle est la plus pertinente ? Quel forum est le plus "vivant" ? Quel est le meilleur endroit pour poser des questions ? Existe-t-il une rétrocompatibilité entre les différentes versions de MT et Mql ? Personnellement, je suis en train d'écrire mon conseiller expert MT4 sur Mql4 respectivement. Cela est dû au fait que le courtier que j'utilise pour tester la démo utilise MT4. Comment puis-je identifier la langue dans laquelle mon Expert Advisor est écrit ? Je veux dire par extension seulement (.mq4 et .mq5). Si je renomme un fichier, est-ce qu'il sera compilé (encore une fois, à propos de la compatibilité) ?

2. Paramètres du conseiller expert externe dynamique. Est-il possible de modifier dynamiquement les paramètres réglables d'un Expert Advisor ? Laissez-moi vous expliquer... Par exemple, il existe un paramètre externe extern bool a. Si c'est le cas, un paramètre supplémentaire extern int b doit être défini. Si a=false, le paramètre b n'est pas nécessaire. Existe-t-il un moyen de l'afficher ou non en fonction de la valeur actuelle d'une sélection ? En tenant compte du fait que je n'ai pu trouver aucun gestionnaire de changement de paramètre externe et qu'il n'y a pas de #if ... #endif, je soupçonne que cela ne peut pas être fait... Dans l'affirmative, mais pourriez-vous suggérer la meilleure façon de procéder dans cette situation, afin de ne pas surcharger le processus de définition des paramètres externes ? Par exemple, je peux mettre a=false, oublier que le paramètre b n'est pas utilisé, mais l'inclure quand même dans l'optimisation (bien que cela ne serve à rien, cela ne ferait que perdre du temps supplémentaire). Et c'est une chose quand il n'y a qu'un seul paramètre de ce type b. Mais si, par exemple, je crée un paramètre externe de type enum et qu'il existe plusieurs variantes de TC. Ils ont une partie commune (il est donc logique de les mettre en œuvre dans un seul EA, plutôt que d'en écrire plusieurs), mais il en existe aussi différents avec de nombreux paramètres différents. Il est alors très facile de confondre les paramètres qui sont pertinents pour le TS sélectionné.

Optimisation automatique du conseiller expert. IMHO, c'est très utile et utile. J'ai trouvé cet article. Cependant, d'après ce que j'ai compris, la deuxième instance de MT est utilisée pour l'optimisation depuis l'extérieur (à partir d'une instance de MT en cours d'exécution) et les résultats de l'optimisation sont lus dans le rapport sous forme de html. Ce n'est pas très pratique et c'est tordu. Logiquement, je devrais écrire ma propre fonction/dll d'optimisation et l'exécuter directement depuis le conseiller expert. Voici donc la question. D'après ce que j'ai compris, un algorithme d'optimisation génétique a été programmé dans le testeur de stratégie. Je connais très brièvement ces algorithmes. Mais ils sont connus depuis longtemps, d'où la question - pourquoi réinventer la roue ?). Existe-t-il un algorithme prêt à l'emploi qui soit utilisé directement dans la TA ? Peut-être existe-t-il déjà quelque part dans les bibliothèques du terminal lui-même... Il existe peut-être un code source distinct ou une dll prête à l'emploi. En général, veuillez partager vos expériences en la matière.

C'est tout pour le moment...). J'espère que je n'ai pas trop insisté sur la quantité de mots).

Merci d'avance pour les réponses !

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
smetantn1980:
Comment puis-je écrire dans mon EA pour que le volume total en lots pour la vente et l'achat soit affiché à l'écran ?
Si vous obtenez le nombre total d'ordres dans le terminal, passez en revue tous les ordres (je pense qu'il s'agit d'une question sur mql4) et sélectionnez ceux qui satisfont aux conditions (symbole, magik et type) et additionnez-les dans des variables pour l'achat et la vente. Ensuite, vous créez deux objets OBJ_LABEL (je crois). Définissez leur position, leur couleur et d'autres propriétés (voir la documentation). Modifiez la description de ces objets avec les valeurs reçues dans les variables de vente et d'achat. C'est tout.
 
smetantn1980:
Veuillez m'indiquer comment l'épeler pour que le volume total en lots pour l'achat et la vente soit affiché à l'écran.

Je ne sais pas exactement, car je suis encore un débutant moi-même. Mais il semble qu'il existe une commande Comment, qui affiche toute information dans le coin supérieur gauche du graphique EA. Le volume des lots peut être calculé dans le cycle comme suit :

int totalOrders = OrdersTotal();

double totalLots = 0; 

for(int i=0; i<totalOrders; i++)

    if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )

        totalLots += OrderLots();

Comment("totalLots=", totalLots); 

Il s'agit d'un code commun à tous les métiers. Pour l'achat et la vente, vous créez des variables distinctes et effectuez un changement à l'aide de OrderType().