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

 
Aliaksandr Hryshyn:

Vous avez le mauvais plan d'étude, vous partez du mauvais endroit.

Ici, vous apprenez une fonction :

Ce n'est pas simple, relativement, et nécessite déjà des connaissances de base.

Pour le confirmer, essayez de répondre aux questions de cette fonction, vous ne serez probablement pas en mesure de répondre, ce qui indique une mauvaise orientation de l'apprentissage :

Pourquoi "Ma_ligne_2" est entre guillemets et OBJ_VLINE sans ?

Que signifie int, double ici, et en quoi sont-ils différents ?

Pourquoi sub_window est écrit et pas l'inverse, quel est l'intérêt ?

Il n'est pas nécessaire d'apprendre les fonctions à partir de l'aide, il faut connaître les éléments de base du langage, les principes de base du travail avec l'environnement commercial, avec les fichiers, toutes sortes de données, et autres, en fonction de la tâche à accomplir.

Merci, Alexander, pour tes conseils ! Je les prendrai en compte.

Salutations, Vladimir.

 
MrBrooklin:

C'est vrai, mais prendre un exemple tout fait ou écrire son propre code sont deux grandes différences. Du moins pour moi. Et merci beaucoup pour le conseil !

Sincèrement, Vladimir.

Si vous n'avez pas l'intention d'étudier complètement le C++ et le MQL, mais que vous cherchez une variante plus simple, vous pouvez prendre un code prêt à l'emploi et l'organiser en plusieurs parties. Essayez de comprendre la référence MQL5, comme le recommande l'auteur.

Aliaksandr Hryshyn:

Vous avez le mauvais plan d'étude, vous partez du mauvais endroit.

Vous pouvez écrire un texte similaire ou même meilleur).

Mais commencez par le but -> pourquoi voulez-vous étudier et que devez-vous étudier exactement pour atteindre votre objectif, afin d'oublier les choses inutiles et de vous concentrer sur l'essentiel).

 
Le manuel MQL4 est la meilleure option. Tout est facile à comprendre, même pour les débutants absolus. Sélection correcte et actualisée du matériel. En ~4 mois, vous serez en mesure d'écrire vos propres EAs.

N'établissez pas vous-même un programme de cours, car vous ne comprenez pas du tout ce domaine de connaissances (programmation). Par conséquent, faites confiance à un manuel compétent.
 
VVT:

Si vous n'avez pas l'intention d'apprendre complètement le C++ et le MQL, mais que vous recherchez une version plus simple, prenez du code prêt à l'emploi, décomposez-le, essayez de comprendre à quoi il sert et pourquoi, en utilisant le Guide de référence MQL5, comme recommandé.

Si vous comprenez tout ce qui vous intéresse, vous pourrez écrire un texte similaire, voire meilleur).

Mais commencez par le but -> pourquoi étudiez-vous et ce que vous devez étudier pour atteindre votre objectif, afin d'éliminer les choses inutiles et de vous concentrer sur l'essentiel).

J'étudie les langages de programmation C++ et MQL5 étape par étape au fur et à mesure que les questions apparaissent. J'écris des scripts pour renforcer la matière que j'ai apprise. Pas à pas, je me débarrasse de ma peur intérieure de l'inconnu. Je commence à comprendre certaines choses. J'espère avoir la patience et la force d'apprendre non seulement les bases de la programmation, mais aussi d'en faire encore plus. Merci de partager vos conseils. Ils sont tous pris en compte ! Mais comme le dit le proverbe, Moscou ne s'est pas construite d'un coup !

Salutations, Vladimir.

 
Реter Konow:
Le tutoriel MQL4 est le meilleur. Tout est compréhensible, même pour les débutants absolus. Vous disposez d'une sélection précise et actualisée de matériel pour notre industrie. En ~4 mois, vous serez capable d'écrire vos propres EAs.

N'établissez pas vous-même un programme de cours, car vous ne comprenez pas du tout ce domaine de connaissances (programmation). Faites donc confiance à un manuel compétent.

Merci, Peter ! J'espère que votre nom est correct ? Je vais certainement retrouver ce livre pour l'étudier. À l'heure actuelle, il y a un moment où la stupeur peut provenir d'une surcharge d'informations. Pour l'instant, conformément à mon plan d'auto-apprentissage, j'ai encore quelques scripts en attente pour corriger le matériel que j'ai déjà appris.

Encore une fois, merci pour vos conseils !

Salutations, Vladimir.

 

Je continue à étudier le langage de programmation MQL5. Le nouveau script New5.mq5 établit la ligne de tendance entre deux intervalles de temps. Comme je l'ai promis précédemment, j'ai essayé de tout décrire dans ce script pour un étudiant de 1ère classe de l'école de programmation.

Salutations, Vladimir.

//+------------------------------------------------------------------+
//|                                                         New5.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//---
#property script_show_inputs
//---
/* Ранее в скриптах New2.mq5, New3.mq5 и New4.mq5 мы научились создавать горизонтальную
   и вертикальную линию на текущем графике главного окна терминала MetaTrader 5.
   Теперь мы немного усложним задачу и попробуем создать линию, но уже с привязкой двух точек по
   временнОй и ценовой координатам. Кроме того, в данном скрипте мы реализуем возможность
   изменять входные параметры нужных нам координат. Снова воспользуемся информацией имеющейся 
   в Справочнике MQL5.
   Для начала необходимо сделать так, чтобы перед установкой новой линии, у нас было место, 
   где мы могли устанавливать или менять нужные нам координаты привязки. Для этого мы должны
   воспользоваться препроцессором – специальной подсистемой компилятора MQL5, которая занимается 
   предварительной подготовкой исходного текста программы непосредственно перед ее компиляцией.
   Препроцессор позволяет также определять специфические параметры mql5-программ:
   - Объявлять константы
   - Устанавливать свойства программы
   - Включать в текст программы файлы
   - Импортировать функции
   - Использовать условную компиляцию
   В нашем случае интересен раздел "Устанавливать свойства программы", поэтому жмем на эту ссылку
   и переходим во вкладку "Свойства программ (#property)". Если внимательно просмотреть все константы, то
   можно найти "script_show_inputs" (дословный перевод - показать входы скрипта), а если быть точнее, 
   то вывести окно со свойствами перед запуском скрипта и запретить вывод окна подтверждения. Запишем
   #property script_show_inputs чуть ниже шаблона шапки скрипта.
   Движемся дальше. Создадим входные параметры скрипта. Для этого нам понадобится класс памяти input 
   который определяет внешнюю переменную. Модификатор input указывается перед типом данных. 
   Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные 
   доступны только для чтения. Изменять значения input-переменных может только пользователь из окна 
   свойств программы. Простыми словами input нам нужен для того, чтобы задавать свои значения в диалоговом 
   окне скрипта в момент его запуска.   
*/

// ПИШЕМ КОД СКРИПТА
input datetime inp_time1=D'2020.10.01 14:00'; //Превая точка привязки по временнОй координате
input double inp_price1=1.17693;              //Первая точка привязки по ценой координате
input datetime inp_time2=D'2020.10.02 10:00'; //Вторая точка привязки по временнОй координате
input double inp_price2=1.17412;              //Вторая точка привязки по ценой координате
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ObjectCreate(0,"Моя_линия_3",OBJ_TREND,0,inp_time1,inp_price1,inp_time2,inp_price2);
   
  }
//+------------------------------------------------------------------+

/* Теперь расшифруем, что именно мы создали в программном коде скрипта.
1. Первым делом мы создали четыре входных параметра, по два на каждую точку привязки. В данном скрипте
   каждая точка привязки линии имеет 2-а параметра - price и time. Каждый входной параметр начинается
   с input (переводится как "ввод").
2. После input пишется тип переменной. Например, для ценовых координат присваивается тип переменной double,
   т.к. она (цена) имеет дробную часть, а для временнЫх координат присваивается тип переменной datetime.
   Все эти сведения мы берем из уже известного нам Справочника MQL5.
3. Чтобы мы смогли вводить свои данные, нам необходимо создать четыре собственные переменные созвучные с
   price и time. Ими станут inp_time1, inp_time2, inp_price1 и inp_price2. Каждой новой переменной зададим
   конкретные значения (константы), например, input datetime inp_time1=D'2020.10.01 14:00' и т.д.
4. Дальше для создания новой линии, нам также потребуется ObjectCreate, только с некоторыми поправками.
   Во-первых, зададим для линии новое уникальное имя "Моя_линия_3". Во-вторых, зададим новый тип объекта 
   OBJ_TREND, т.к. будем создавать линию, которая может располагаться на торговом терминале в
   произвольном положении. В-третьих, там где в предыдущих скриптах мы записывали конкретные 
   величины price и time, а именно, time1, price1, time2 и price2, теперь мы должны записать вновь
   созданные нами переменные inp_time1, inp_price1, inp_time2 и inp_price2. Всё! Наш новый скрипт готов.
5. Компилируем и запускаем скрипт. Как компилировать и запускать скрипт мы уже узнали, когда создавали скрипт New2.mq5.
*/
 
MrBrooklin:

Merci, Peter ! J'espère que j'utilise votre nom correctement ? Je vais certainement retrouver ce livre pour l'étudier. C'est juste qu'en ce moment, je suis à un point où je peux être submergée par la surabondance d'informations. Pour l'instant, conformément à mon plan d'auto-apprentissage, j'ai encore quelques scripts en attente pour corriger le matériel que j'ai déjà appris.

Encore une fois, merci pour vos conseils !

Salutations, Vladimir.

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

Merci, Alexey, pour le lien ! !!

Sincèrement, Vladimir.

 
MrBrooklin:

Merci, Peter ! J'espère que j'utilise votre nom correctement ? Je vais certainement retrouver ce livre pour l'étudier. C'est juste qu'en ce moment, je suis à un point où je peux être submergée par la surabondance d'informations. Pour l'instant, conformément à mon plan d'auto-apprentissage, j'ai encore quelques scripts en attente pour corriger le matériel que j'ai déjà appris.

Encore une fois, merci pour vos conseils !

Sincèrement, Vladimir.

Peter est bon aussi. :)

Maintenant, plus sérieusement : laissez ce "bricolage" prématuré des lignes. Il est préférable de ne pas se lancer dans la programmation - c'est trop compliqué. Vous avez besoin d'une base. Commencez par les premières leçons du tutoriel MQL4 et ne vous inquiétez pas du programme, il est bien conçu pour vous.

Lisez et prenez des notes. Tant que vous ne maîtrisez pas au moins le début, n'essayez même pas de programmer, cela ne fera que vous égarer. La patience et le travail vous aideront à acquérir des connaissances précieuses, que vous ne pourrez pas obtenir dans le cadre d'une autoformation chaotique. C'est comme aller à l'école, choisir des classes et des sujets au hasard chaque jour. Ta tête sera en bouillie. :)

P.S. Il faut d'abord passer en revue les types de variables, les tableaux, apprendre à travailler avec des boucles, écrire les fonctions les plus simples et seulement ensuite tracer des lignes. Si c'est l'inverse, vous serez lié aux codes d'autres personnes et ne pourrez pas écrire votre propre programme à votre goût. L'écriture d'un programme est la fin et non le début de l'apprentissage d'un manuel.
 
Реter Konow:
... Il faut d'abord passer en revue les types de variables, les tableaux, apprendre à travailler avec des boucles, écrire les fonctions les plus simples et seulement ensuite tracer des lignes. Si c'est l'inverse, vous serez lié aux codes des autres, et vous ne pourrez pas écrire votre propre programme, selon votre idée. L'écriture d'un programme est la fin et non le début de l'apprentissage à partir d'un manuel.

Merci Peter, j'ai pris votre conseil à cœur !

Salutations, Vladimir.