Auto-apprentissage du langage MQL5 à partir de zéro - page 59

 
MrBrooklin:

Bonjour Alexey, désolé de ne pas avoir réagi tout de suite à votre message. Le lien est très intéressant. J'ai parcouru les codes des 11 types de trailing stops et les bibliothèques de fonctions. Tout cela est très intéressant, même si c'est écrit en MQL4. Pour être honnête, je n'avais jamais imaginé qu'il existait autant de types de trailing stops. Merci beaucoup pour votre soutien !

Sincèrement, Vladimir.


Tout va bien ! :-)
Pour être honnête, je m'attendais à votre réaction :-) :-)
Je tiens à vous faire savoir que grâce à vous et à Vasily Sokolov, j'ai moi-même commencé à réviser mes codes et mes bibliothèques ici...
Merci pour la motivation !
Il a tout expliqué très bien en ce qui concerne le démarrage du modèle de sentier. D'autant plus que les noms des fonctions sont intuitivement compréhensibles. Vous l'avez déjà abordé vous-même dans votre code. Ici, tout est clair. Viennent ensuite le corps et les fonctions du chalutage. Tu es déjà arrivé à ce point par toi-même, alors c'est bon. L'essentiel est maintenant de prêter attention à leur charge sémantique telle que le seuil de rentabilité et le chalutage lui-même pour les positions d'achat et de vente.
 
MrBrooklin:

Vasiliy, je te remercie bien sûr d'avoir fait tout ce travail pour moi, mais cela ne m'a pas rapproché de la compréhension de l'origine de ces fonctions plus opérateurs et, surtout, de la raison de leur apparition. Il aurait été plus correct d'aller jusqu'à l'écriture de ce code, ce que vous m'avez suggéré. Je voulais vraiment arriver à ce point moi-même et maintenant je le veux.

Je comprends que vous, comme beaucoup d'autres, en ayez assez que j'épelle constamment toutes les lignes de code et que je piétine sur place, mais le problème est que je ne comprends toujours pas comment tout est construit, de l'algorithme à l'écriture du code. Je dois ajouter la méconnaissance de l'anglais au problème, car je dois copier et coller presque tous les messages d'erreur et d'avertissement du compilateur, ainsi que d'autres mots anglais dans Google Translator. D'ailleurs, si quelqu'un a essayé d'exécuter les micro, voire nano-codes que j'ai postés dans ce fil, ils ont tous passé la compilation avec "0 erreur, 0 avertissement".

Maintenant, j'ai besoin d'un peu de temps pour réaliser, ou plutôt pour comprendre pourquoi ces fonctions et opérateurs sont apparus. Donc, en résumé, c'est une horreur silencieuse. Et je suis un mauvais élève quand je ne comprends pas les choses élémentaires.

Merci à vous et à tous les autres programmeurs de tolérer ma lenteur d'esprit. Bien que je réalise que votre patience n'est pas illimitée.

Sincèrement, Vladimir.


Si vous ne comprenez pas quelque chose dans le MetaEditor, appuyez sur F11 sur les opérateurs mis en évidence dans le code du modèle de Vasiliy et lisez l'aide qui leur est consacrée.
 
Aleksey Masterov:

Si vous ne comprenez pas quelque chose dans le méta-éditeur, appuyez sur F11 sur les opérateurs mis en évidence dans le code du modèle de Vasiliy et étudiez l'aide qui leur est consacrée.

Bonjour Alexey, merci pour le conseil. J'ai appris l'existence de la touche F1 (c'est peut-être ce que vous voulez dire) lorsque j'ai commencé à étudier MQL5. J'utilise toujours HELP, c'est-à-dire la référence MQL5 et je regarde les exemples disponibles qui expliquent comment utiliser telle ou telle propriété (variable, opérateur, boucle, fonction, classe, etc.).

Salutations, Vladimir.

 
MrBrooklin:

Bonjour ! Maxim ci-dessus a bien dit qu'une brève description de ce que fait telle ou telle fonction aide à la compréhension et à la mémorisation,

J'ajouterais que les en-têtes aident à trouver le bon bloc dans une pile de code, par exemple, le bloc des paramètres d'entrée commence par un en-tête

//+------------------------------------------------------------------+
//| Expert input parameters                                          |
//+------------------------------------------------------------------+
 
Une tâche simple pour Vladimir :
Écrivez un script pour calculer la factorielle d'un nombre donné. Le nombre est donné par les paramètres et peut être compris entre 1 et 15 inclus. S'il dépasse la plage spécifiée, un message est émis. La réponse doit également être imprimée.
 
Aliaksandr Hryshyn:
Une tâche simple pour Vladimir :
Écrivez un script pour calculer la factorielle d'un nombre donné. Le nombre est donné par les paramètres et peut être compris entre 1 et 15 inclus. S'il est hors de la plage spécifiée, un message est imprimé. La réponse doit également être imprimée.

Bonjour, Alexander !

Bonjour, chers participants de ce fil !

J'ai décidé de faire une pause jusqu'au week-end suivant, c'est-à-dire le 17 octobre, pour plusieurs raisons :

  1. En raison de l'excès d'informations obtenues en si peu de temps pour moi, est venu une stupeur complète !
  2. J'ai besoin de prendre un peu de repos et de passer complètement à d'autres sujets, sans visiter le forum MQL5.
  3. J'ai l'intention de m'asseoir à nouveau devant l'ordinateur ce week-end et de lire tous les messages de la première à la 59e page de ce fil.
  4. Analysez tous les éléments constructifs fournis par les participants à ce fil de discussion et tirez-en des conclusions.

À l'avenir, j'essaierai de poster du code moins fréquemment, mais pour qu'il soit plus riche et plus complet, et non comme je le faisais auparavant, lorsque je postais quelques lignes à la fois, détournant les participants du forum de choses plus importantes.

Ce message ne signifie pas que j'ai décidé d'abandonner et de capituler devant MQL5. En fait, j'ai un fort désir de l'étudier, mais j'essaierai de le faire à un niveau différent de perception de l'information.

On se voit ce week-end !

Avec le plus grand respect pour tous, Vladimir.

 

Pendant que TC est en arrêt de travail...

Parallèlement à ce sujet, j'enseigne la programmation à mes enfants (ils sont censés être à l'école, mais on leur enseigne "vous tuerait"). Il y a donc quelques conclusions et notes.

1. Le résultat visuel, tangible, visible et significatif est extrêmement important. La quantité minimale de code que vous mettez, imprimée, devrait produire un effet maximal.

2. Nous, en tant que gourous qui se respectent, noyons le CT sous les détails. Il devrait avoir un désordre de la plate-forme MQL et API.

3. le MQL est totalement inadapté à l'apprentissage à partir de 0 ...:-( ayant les connaissances de base, c'est assez simple, mais la base dont vous avez besoin pour obtenir

pour aider les TS à apprendre des zéros,

la première consiste à fournir au testeur un Expert Advisor avec le code minimum, qu'il devra déjà compléter et modifier.

la dernière tâche (c'est la première concernant le trailing stop) - après avoir écrit et exécuté le hibou dans le testeur, TS devrait voir comment exactement un stop est trailed.

 

Je vois que l'homme a été bombardé de conseils. J'ai aussi décidé de m'inscrire, peut-être que je vais me débarrasser de l'envie))). Je plaisante.

Ok. Donc : je veux un chalutage classique.

Nous divisons la tâche en deux parties :

  1. Le chalut lui-même.
  2. Quelque chose sur l'écran.
Écrivons le code :
enum EMessType{Init,Deinit,Set};

int OnInit(void){
   Messenger(Init);
   return INIT_SUCCEEDED;
}

void OnDeinit(const int reason){
   Messenger(Deinit);
}

void OnTick(){
   Messenger(Set,Tral());
}
  
string Tral() {return "0";}

void Messenger(EMessType fType,string fInfo=""){
   switch(fType){
      case Init:
      case Deinit:
         Comment("");
         break;
      case Set:
         Comment(fInfo);
   }
}

Qu'est-ce qui se passe ici ?

  1. Nous avons une fonction Messenger qui va afficher des messages.
  2. Nous avons une fonction Tral qui va parcourir les commandes alors qu'il s'agit d'un "stub" qui renvoie une valeur valide pour l'exécution du code.
  3. Il y a une énumération EMessType qui définit ce que nous voulons de lui dans la fonction Messenger ; il y a des blocs Init, DeIni et Set.

C'est un exemple de décomposition simple.

C'est ça, ma femme est ici, je m'évapore)))).

Demain, nous continuerons)))

PS Si tu t'ennuies, n'hésite pas à me le dire)))

 
cours d'une semaine sur l'enum)
 
Et pourquoi tu t'en tiens à ce chalut ? Le chalut est un conseil mineur, rien de plus. Il serait préférable de démonter l'indicateur, comme le tableau de bord.