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

 
Vasiliy Sokolov:

Les programmeurs sont confrontés à deux problèmes : les erreurs de compilation et les problèmes d'architecture. Lorsque vous êtes débutant, vous vous concentrez sur la lutte contre le compilateur, et votre objectif ultime est un programme qui fonctionne correctement. Cependant, le programme d'un débutant se transforme très vite en un code dit "spaghetti", que l'auteur lui-même n'arrive pas à comprendre assez vite. C'est pourquoi je vous suggère de vous concentrer non pas sur le compilateur et l'exactitude du script final, mais sur les questions d'architecture. C'est comme apprendre à jouer du piano : il faut d'abord apprendre à tenir les doigts correctement et à s'asseoir correctement devant l'instrument, personne n'exige d'un débutant qu'il joue du Bach.

Vous disposez de deux groupes de paramètres qui déterminent le comportement de votre script : le premier est défini de manière statique, sous forme de macro. Le second est défini par l'utilisateur lors du chargement du script sur le graphique. Maintenant, l'utilisateur ne pourra pas sélectionner le type de commande à passer sans recompiler ce script. Ce n'est pas bon. Par conséquent, il serait préférable d'abandonner ces macros au profit du paramètre supplémentaire :

En conséquence, nous avons défini une nouvelle énumération que nous avons implémentée comme paramètre de sélection pour l'utilisateur.

Maintenant j'ai ri en voyant votre style, aussi avec des erreurs spécifiques, gribouillez encore.

 
MrBrooklin:

Bonjour, Peter ! J'étudie le manuel au besoin, c'est-à-dire lorsque je constate une lacune dans mes connaissances. Maintenant, je sens que je vais devoir faire une petite pause et étudier le manuel de plus près. Toutes les recommandations des participants au forum sont prises en compte et j'essaie de m'y tenir. Et maintenant, je suis étonné d'avoir réussi à écrire quelque chose en utilisant uniquement le livre de référence MQL5 pendant si peu de temps.

Salutations, Vladimir.

Le livre MQL4 Reference de Kovalev est le meilleur. Il est disponible quelque part sur ce site. Vous ne trouverez pas mieux.
 
Vasiliy Sokolov:

Le problème suivant avec votre code est qu'il s'étale en une longue feuille procédurale. Tous les débutants écrivent de cette façon. Et c'est un problème qui reste avec eux pendant des années. Apprenez à décomposer votre algorithme en plusieurs parties, en commençant par les bases, comme ce script. Il y a deux façons de le faire : par le biais de fonctions et de classes. Le concept de classes est trop difficile à appréhender au début, je vous suggère donc de vous concentrer sur le travail avec les fonctions... pourquoi ne pas en écrire une vous-même ?

La principale chose qu'une fonction vous apporte est la capacité de penser de manière structurelle et d'esquisser un algorithme de manière schématique. Par exemple, si vous avez besoin d'un ensemble spécial de fonctions dans MQL pour votre tâche, vous pouvez écrire un algorithme très simple :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()                                                    
  {
   if(orderType1=="BUY_STOP")
     SendBuyStop(Lots, Distance);     
   if(orderType2=="SELL_STOP")
     SendSellStop(Lots, Distance);
  }
  

Et c'est tout. Nous avons sous les yeux un schéma algorithmique simple, qui fonctionne également. Un rêve en un mot.

 
Roman:

Maintenant, j'ai ri en voyant votre style, et avec des erreurs précises, gribouillez encore.

Qu'est-ce que tu as à voir avec les erreurs, tu ne sais même pas comment ça marche, mais tu donnes des conseils. J'ai été mis sur la sellette, sans vouloir vous offenser).

 
Реter Konow:
Notez que le tutoriel MQL4 de Kovalev est le meilleur. Il est disponible quelque part sur ce site. Vous ne trouverez pas mieux.

Ce sont juste de vieux trucs dont personne n'a besoin de nos jours. C'est mieux de lire Kafka avant d'aller au lit. C'est plus utile.

 

Voici la meilleure façon de commencer à apprendre un langage appliqué à des tâches hautement spécialisées, sans s'embrouiller dans les conseils des amateurs ni se casser la tête sur des tâches inopportunes :

Le manuel de Sergei Kovalevhttps://book.mql4.com/ru

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Vasiliy Sokolov:

Tu ne sais même pas comment ça marche, mais tu donnes des conseils. (Vous avez été mis sur la sellette, sans vouloir vous offenser)

Oh ho ho ho ))

Il y a d'autres personnes qui donnent des conseils ici.
Le problème a été posé au conditionnel, personne n'y a répondu, y compris vous !
De quel endroit, peut-on parler, si je vois l'image opposée ?))

 
Vasiliy Sokolov:

C'est juste de vieux trucs dont personne n'a besoin de nos jours. C'est mieux de lire Kafka avant d'aller au lit. C'est plus utile.

Comment ça, des vieux trucs ? Un alphabet, un livre ABC, ça pourrait être de la camelote ? Peut-être que l'arithmétique est vieille ?

Vous êtes un bon programmeur, mais en tant qu'enseignant, vous ne voyez pas les informations qui sont pertinentes pour votre élève et vous évaluez mal son niveau. Il doit maîtriser les bases dans le bon ordre, et seul un bon manuel scolaire l'aide).

 
Реter Konow:
Vasily, l'homme n'a même pas encore maîtrisé les tableaux. Il est trop tôt pour qu'il écoute de telles conférences).

Peter, ne le faisons pas. Rappelons-nous comment nous vous avons expliqué la POO au forum il y a quelques années).

En réalité, même les programmeurs modernes ne comprennent pas tous ce qu'est un tableau. Tout le monde travaille avec des listes, et toutes les langues ne possèdent pas de tableau. Quelque part, c'est énumérateur + carte, par exemple, et le public ne se plaint pas.

 
Vasiliy Sokolov:

Peter, ne le faisons pas. Rappelons-nous comment nous vous avons expliqué la POO au forum il y a quelques années).

En réalité, même les programmeurs modernes ne comprennent pas tous ce qu'est un tableau. Tout le monde travaille avec des listes, et toutes les langues ne possèdent pas de tableau. Quelque part, c'est énumérateur + carte, par exemple, et le public ne se plaint pas.

Non, vous êtes trop.))) (Je me suis rappelé que nous nous tutoyons, cela fait longtemps que vous n'êtes pas venu ici :))

Tout le monde devrait connaître les tableaux !))), mais la POO n'est pas obligatoire. C'est bien sûr une bonne chose, mais il est trop tôt pour en parler.