Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si vous voulez tester, et éviter la mise à jour d'autres terminaux, vous devez supprimer le dossier suivant :
Ces informations (probablement tirées du forum russe) ne sont plus à jour. À partir de la v534, la mise à jour sur Win7+ est placée dans %appdata%\metaquotes\webinstall, et non dans %programdata%\metaquotes\webinstall.
Peut changer à nouveau dans les versions suivantes.
Cette information (probablement tirée du forum russe) n'est plus d'actualité. À partir de la v534, la mise à jour sur Win7+ est placée dans %appdata%\metaquotes\webinstall, et non dans %programdata%\metaquotes\webinstall.
Peut changer à nouveau dans les versions suivantes.
Je ne suis probablement pas un bon exemple, car je suis un programmeur professionnel. Ce n'est donc pas un gros effort pour moi, et j'aime apprendre de nouveaux langages de programmation. J'ai aussi un peu d'expérience avec oop.
. . . . .
Je pense que la POO implique de croire en l'Encapsulation, l'Abstraction, l'Héritage et le Polymorphisme. Je ne pense pas que vous soyez censé être capable de "suivre" les codes de quelqu'un d'autre à cause de l'abstraction. Tout ce que vous devez savoir, c'est ce qu'elle fait . Sur une note plus sérieuse, je crois que la POO fournit un niveau d'organisation/catalogage qui est appliqué et soutenu par le langage et l'IDE. Un programmeur ne peut pas avoir trop d'organisation, ce qui finit probablement par faire gagner du temps sur les projets futurs pour la plupart des programmeurs.
Merci pour votre réponse angelvoyager, c'est un bon aperçu de quelqu'un qui est familier avec les deux côtés de la pièce, je suis dans le même bateau que Raptor, les concepts d'oop ont commencé à m'intéresser et je veux en apprendre davantage à ce sujet, il est bon de savoir que ce n'est pas tout à fait nécessaire pour continuer à utiliser mql4, même avec les fonctionnalités mql5, mais quand même, je voudrais comprendre quels sont les avantages de coder selon les concepts et les principes d'oop et comment ils s'appliquent à coder un petit projet comme une EA.
Lorsque je code un EA, il finit généralement par ressembler à celui du livre, une fonction centrale qui accumule l'état actuel des choses et stocke ces informations dans des tableaux globaux, entourée de fonctions périphériques qui utilisent les informations de ces mêmes tableaux pour décider de ce qu'il faut faire, chacune d'entre elles appelant d'autres fonctions d'aide pour calculer des choses telles que la taille des lots, etc. La fonction start() appelle d'abord la fonction centrale, puis les fonctions périphériques, par ordre de priorité. Cette structure de base fonctionne assez bien, même si je n'ai jamais vraiment aimé le fait que tout soit centré sur l'accès global à ces tableaux, mais je ne l'ai pas suffisamment aimé pour chercher une autre façon de faire. En d'autres termes, cela fonctionne suffisamment bien pour que je n'essaie pas de le corriger, lol.
J'aimerais savoir en quoi une approche oop serait différente et quels en seraient les avantages.
J'aimerais savoir en quoi une approche oop diffère de celle-ci et quels en seraient les avantages.
Je crois que vous décrivez un flux de programme. Je ne pense pas que ce soit la grande idée derrière la POO. (imo) La POO essaie de résoudre les problèmes suivants. Je suis un noob de la POO, mais je suis en train de former ma vision du monde à ce sujet.
1) Vos fonctions sont-elles indépendantes des variables globales ? En d'autres termes, vos fonctions sont-elles des objets autonomes ? Encapsulation
2) Votre fonction cache-t-elle les détails comme les noms des variables locales ? Est-ce qu'elle simplifie le volume de codes à l'écran ? Abstraction
3) A-t-elle la capacité de créer des copies d'elle-même pour des modifications ? Comme la possibilité de créer ses propres types de données ? Héritage.
4) A-t-il la capacité de changer à la volée ? Exemple : la fonction peut-elle gérer aussi bien les tableaux d'entiers que les tableaux de doubles ? Polymorphisme.
La manière dont la POO peut aider à construire une ea est similaire à la manière dont un ea_builder aide un non_programmeur à construire un expert_conseil. Il suffit de prendre votre fonction préférée Order_Accounting_Function -> Data_Function -> Event Tracking Function -> Volume Defining Function -> Trading Criteria Defining Function -> Trade Functions -> Error Processing Function. Et boum, vous avez un Expert_Advisor. Toutes les fonctions de définition des critères de négociation que vous avez développées au fil des ans peuvent être facilement remplacées.
Moi, par exemple, si vous voulez modifier mon conseiller expert, vous devrez étudier où mes variables globales sont appliquées et quelle autre fonction en dépend (comme dans vos tableaux d'état ou de statut). La POO rend les choses aussi simples que Accounting(Option_3) ; Display(Option_1) ; Caption(Option_5) ; TradingSys(Option_7) ; VolumeSize(Option2) ; OrderType(Option_2) et c'est tout l'expert.
Cela permet à quelqu'un d'autre d'utiliser plus facilement votre ensemble de bibliothèques, et généralement, ce qui fonctionne pour quelqu'un d'autre fonctionne aussi pour vous à l'avenir. Au moins, pensez à des objets autonomes sur une chaîne de montage :)
La dernière version de mon EA s'en rapproche, il s'agit maintenant de fichiers inclus mais ils ne sont pas assez robustes pour être utilisés sans au moins quelques modifications. L'erreur que je fais souvent est que je ne me surprends à écrire du code spécifique aux critères dans des fonctions qui devraient être ambiguës qu'après coup, et elles reposent trop sur les tableaux globaux. Quand j'aurai le temps, j'utiliserai davantage de tableaux locaux et je passerai davantage de paramètres pour compenser la diminution de l'accès global.
***P : (Je ne veux pas l'oublier). La plupart d'entre nous n'aiment pas ne pas savoir ce que contiennent les codes que nous utilisons. Ou nous nous consumons à essayer de comprendre les codes de quelqu'un d'autre, sinon nous ne les utiliserions probablement pas. Cependant, la plupart des fonctions natives (par exemple OrderSend()) de mql4 sont des objets de notre point de vue. Nous ne voyons pas leurs codes, mais nous les acceptons. Je pense que cette acceptation des bibliothèques d'autrui est une chose qu'un programmeur professionnel travaillant sur de grands projets doit accepter et sur laquelle il doit s'appuyer. Sinon, on est obligé de recréer la roue.