Autoapprendimento del linguaggio MQL5 da zero - pagina 11

 
Aliaksandr Hryshyn:

Avete un piano di studio sbagliato, state partendo dal punto sbagliato.

Qui state imparando una funzione:

Questo non è semplice, relativamente, e richiede già delle conoscenze di base.

Per confermarlo, provate a rispondere alle domande di questa funzione, probabilmente non sarete in grado di rispondere, il che indica la direzione sbagliata dell'apprendimento:

Perché "My_line_2" è tra virgolette e OBJ_VLINE senza?

Cosa significa int, double qui, e come sono diversi?

Perché si scrive sub_window e non il contrario, che senso ha?

Non avete bisogno di imparare le funzioni dalla guida, avete bisogno degli elementi di base del linguaggio, i principi di base per lavorare con l'ambiente di trading, con i file, tutti i tipi di dati, e altri, a seconda del compito da svolgere.

Grazie, Alexander, per i tuoi consigli! Ne terrò conto.

Saluti, Vladimir.

 
MrBrooklin:

È vero, ma prendere un esempio già pronto o scrivere il proprio codice sono due grandi differenze. Almeno per me. E grazie mille per il consiglio!

Sinceramente, Vladimir.

Se non avete intenzione di studiare completamente C++ e MQL, ma state cercando una variante più semplice, potete prendere un codice già pronto e organizzarlo in varie parti. Cercate di capire MQL5 Reference, come raccomandato dall'autore.

Aliaksandr Hryshyn:

Avete un piano di studio sbagliato, state partendo dal punto sbagliato.

Si può scrivere un testo simile o anche migliore).

Ma inizia con lo scopo -> perché vuoi studiare e cosa esattamente hai bisogno di studiare per raggiungere il tuo obiettivo, in modo che tu possa dimenticare le cose inutili e concentrarti sull'essenziale).

 
Il libro di testo MQL4 è l'opzione migliore. Tutto è facile da capire, anche per i principianti assoluti. Selezione corretta e aggiornata del materiale. In ~4 mesi sarai in grado di scrivere i tuoi EA.

Non redigete un syllabus da soli, perché non capite affatto questo settore della conoscenza (programmazione). Di conseguenza, fidatevi di un libro di testo competente.
 
VVT:

Se non avete intenzione di imparare completamente C++ e MQL, ma state cercando una versione più semplice, prendete del codice già pronto, decomponetelo, cercate di capire a cosa serve e perché, usando MQL5 Reference Guide, come raccomandato

Se capite tutto ciò che vi interessa, potete scrivere un testo simile o anche migliore).

Ma inizia con lo scopo -> perché studi e cosa devi studiare per raggiungere il tuo obiettivo, in modo da eliminare le cose inutili e concentrarti sull'essenziale).

Sto studiando i linguaggi di programmazione C++ e MQL5 passo dopo passo man mano che le domande appaiono. Sto scrivendo degli script per rinforzare il materiale che ho imparato. Passo dopo passo mi sto liberando della mia paura interiore dell'ignoto. Comincio a capire alcune cose. Spero di avere la pazienza e la forza di imparare non solo le basi della programmazione, ma di fare ancora di più. Grazie per aver condiviso i vostri consigli. Sono tutti presi in considerazione! Ma come dice il proverbio - Mosca non è stata costruita in una volta sola!

Saluti, Vladimir.

 
Реter Konow:
Il tutorial MQL4 è il migliore. Tutto è comprensibile anche per i principianti assoluti. Avete una selezione accurata e aggiornata di materiale per il nostro settore. In ~4 mesi sarete in grado di scrivere i vostri EA.

Non redigete un syllabus da soli, perché non capite affatto questo settore della conoscenza (programmazione). Quindi, fidatevi di un libro di testo competente.

Grazie, Peter! Spero che il suo nome sia corretto? Troverò sicuramente questo libro da studiare. Proprio ora, c'è un punto in cui uno stupore può venire da un sovraccarico di informazioni. Per ora, secondo il mio piano di autoapprendimento, ho qualche altro script in coda per fissare il materiale che ho già imparato.

Ancora una volta, grazie per i vostri consigli!

Saluti, Vladimir.

 

Continuo a studiare il linguaggio di programmazione MQL5. Il nuovo script New5.mq5 imposta la linea di tendenza tra due intervalli di tempo. Come ho promesso prima, ho cercato di descrivere tutto in questo script per uno studente di prima classe della scuola di programmazione.

Saluti, 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:

Grazie, Peter! Spero di aver usato correttamente il tuo nome? Troverò sicuramente questo libro da studiare. È solo che in questo momento sono a un punto in cui posso essere sopraffatto dalla sovrabbondanza di informazioni. Per ora, secondo il mio piano di autoapprendimento, ho qualche altro script in coda per fissare il materiale che ho già imparato.

Ancora una volta, grazie per i vostri consigli!

Saluti, Vladimir.

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

Grazie, Alexey, per il link!!!

Sinceramente, Vladimir.

 
MrBrooklin:

Grazie, Peter! Spero di aver usato correttamente il tuo nome? Troverò sicuramente questo libro da studiare. È solo che in questo momento sono a un punto in cui posso essere sopraffatto dalla sovrabbondanza di informazioni. Per ora, secondo il mio piano di autoapprendimento, ho qualche altro script in coda per fissare il materiale che ho già imparato.

Ancora una volta, grazie per i vostri consigli!

Sinceramente, Vladimir.

Anche Peter è bravo. :)

Ora, in tutta serietà: lasciate questo prematuro "armeggiare" con le linee. È meglio non buttarsi subito nella programmazione - è troppo complicato. Avete bisogno di una base. Iniziate con le prime lezioni del tutorial MQL4 e non preoccupatevi del programma, è ben pensato per voi.

Leggere e prendere appunti. Finché non padroneggiate almeno l'inizio - non provate nemmeno a programmare, questo vi porterà solo fuori strada. La pazienza e il lavoro vi aiuteranno ad acquisire conoscenze preziose, che non otterrete in un caotico studio autonomo. È come andare a scuola, scegliendo ogni giorno classi e materie a caso. La tua testa sarà in poltiglia. :)

P.S. Prima devi passare attraverso i tipi di variabili, gli array, imparare a lavorare con i loop, scrivere le funzioni più semplici e solo dopo disegnare le linee. Se viceversa, sarete legati ai codici di altre persone e non potrete scrivere il vostro programma a vostro piacimento.Scrivere un programma è il finale, non l'inizio dell'apprendimento del libro di testo.
 
Реter Konow:
... Prima devi passare attraverso i tipi di variabili, gli array, imparare a lavorare con i loop, scrivere le funzioni più semplici e solo dopo disegnare le linee. Se viceversa, sarete legati ai codici di altre persone, e non potrete scrivere il vostro programma, secondo la vostra idea.Scrivere un programma è la fine, non l'inizio dell'apprendimento da un libro di testo.

Grazie Peter, ho preso a cuore il tuo consiglio!

Saluti, Vladimir.

Motivazione: