Auto-aprendizagem da linguagem MQL5 a partir do zero - página 11

 
Aliaksandr Hryshyn:

Você tem o plano de estudo errado, você está começando do lugar errado.

Aqui você está aprendendo uma função:

Isto não é simples, relativamente, e já exige conhecimentos básicos.

Para confirmar isto, tente responder as perguntas sobre esta função, você provavelmente não será capaz de responder, o que indica a direção errada do aprendizado:

Por que "My_line_2" está entre aspas e OBJ_VLINE sem?

O que int, double significa aqui, e como eles são diferentes?

Por que a sub_janela está escrita e não o contrário, qual é o objetivo?

Você não precisa aprender as funções com a ajuda, você precisa dos elementos básicos da linguagem, dos princípios básicos de trabalho com o ambiente comercial, com arquivos, todo tipo de dados, e outros, dependendo da tarefa em mãos.

Obrigado, Alexander, por seus conselhos! Eu os levarei em consideração.

Cumprimentos, Vladimir.

 
MrBrooklin:

Isso mesmo, mas apenas pegar um exemplo pronto ou escrever seu próprio código é duas grandes diferenças. Pelo menos para mim. E muito obrigado pela dica!

Atenciosamente, Vladimir.

Se você não vai aprender C++ & MQL completamente, mas está procurando um caso mais simples, você pode pegar um código pronto e organizá-lo em várias partes. Tente entender a razão e o porquê e use a Referência MQL5, como recomendado pelo autor.

Aliaksandr Hryshyn:

Você tem o plano de estudo errado, você está começando do lugar errado.

Você pode escrever um similar ou até melhor).

Mas comece com o propósito -> por que você quer estudar e o que exatamente precisa estudar para atingir seu objetivo, para que você elimine coisas desnecessárias e se concentre no essencial).

 
O livro-texto MQL4 é a melhor opção. Tudo é fácil de entender, mesmo para iniciantes absolutos. Seleção correta e atualizada do material. Dentro de ~4 meses você poderá escrever seus próprios EAs.

Não elabore você mesmo um programa, pois você não entende nada desta área de conhecimento (programação). Consequentemente, confie em um livro didático competente.
 
VVT:

Se você não vai aprender C++ & MQL completamente, mas está procurando uma versão mais simples, pegue o código pronto, decomponha-o, tente entender para que e por que, usando o Guia de Referência MQL5, como recomendado

Se você entender tudo o que lhe interessa, poderá escrever um similar ou até melhor).

Mas comece com o propósito -> por que você estuda e o que você precisa estudar para atingir seu objetivo, para que você elimine coisas desnecessárias e se concentre no essencial).

Estou estudando as linguagens de programação C++ e MQL5 passo a passo conforme surgem as perguntas. Estou escrevendo roteiros para reforçar o material que aprendi. Passo a passo estou me livrando do meu medo interior do desconhecido. Estou começando a entender algumas coisas. Espero ter paciência e força para aprender não apenas o básico da programação, mas para fazer ainda mais. Obrigado por compartilhar seus conselhos. Todos eles são levados em conta! Mas como diz o ditado - Moscou não foi construída de uma só vez!

Cumprimentos, Vladimir.

 
Реter Konow:
O tutorial da MQL4 é o melhor. Tudo é compreensível, mesmo para iniciantes absolutos. Você tem uma seleção precisa e atualizada de material para nossa indústria. Dentro de ~4 meses você poderá escrever seus próprios EAs.

Não elabore você mesmo um programa, pois você não entende nada desta área de conhecimento (programação). Portanto, confie em um livro didático competente.

Obrigado, Peter! Espero estar correto em seu nome... Com certeza vou encontrar este livro para estudar. Há pouco, há um ponto em que um estupor pode vir de uma sobrecarga de informações. Por enquanto, de acordo com meu plano de auto-estudo, tenho mais alguns roteiros na fila para consertar o material que já aprendi.

Mais uma vez, obrigado por seus conselhos!

Cumprimentos, Vladimir.

 

Eu continuo estudando a linguagem de programação MQL5. O novo script New5.mq5 estabelece a linha de tendência entre dois intervalos de tempo. Como prometi anteriormente, tentei descrever tudo neste roteiro para um aluno de 1ª classe da escola de programação.

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

Obrigado, Peter! Espero estar usando seu nome corretamente... Com certeza vou encontrar este livro para estudar. É que neste momento estou em um ponto em que posso ficar sobrecarregado com a sobrecarga de informações. Por enquanto, de acordo com meu plano de auto-estudo, tenho mais alguns roteiros na fila para consertar o material que já aprendi.

Mais uma vez, obrigado por seus conselhos!

Cumprimentos, Vladimir.

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

Obrigado, Alexey, pelo link!!!

Atenciosamente, Vladimir.

 
MrBrooklin:

Obrigado, Peter! Espero estar usando seu nome corretamente... Com certeza vou encontrar este livro para estudar. É que neste momento estou em um ponto em que posso ficar sobrecarregado com a superabundância de informações. Por enquanto, de acordo com meu plano de auto-estudo, tenho mais alguns roteiros na fila para consertar o material que já aprendi.

Mais uma vez, obrigado por seus conselhos!

Atenciosamente, Vladimir.

Peter também é bom. :)

Agora, com toda a seriedade: deixar este "mexerico" prematuro com linhas. É melhor não apenas saltar para a programação - é muito complicado. Você precisa de uma base. Comece com as primeiras lições do tutorial da MQL4 e não se preocupe com o programa, ele é bem pensado para você.

Ler e tomar notas. Até que você domine pelo menos o início - não tente nem mesmo programar, isto só o desviará. Paciência e trabalho o ajudarão a adquirir conhecimentos valiosos, os quais você não terá em um auto-estudo caótico. É como ir à escola, escolhendo aulas e matérias ao acaso todos os dias. Sua cabeça estará em papa. :)

P.S. Primeiro você precisa passar por tipos de variáveis, arrays, aprender a trabalhar com loops, escrever as funções mais simples e só depois desenhar linhas. Se vice-versa, você estará vinculado aos códigos de outras pessoas, e não poderá escrever seu próprio programa a seu gosto.Escrever um programa é o final, não o início do aprendizado do livro didático.
 
Реter Konow:
... Primeiro você precisa passar por tipos de variáveis, matrizes, aprender a trabalhar com loops, escrever as funções mais simples e só depois desenhar linhas. Se vice-versa, você estará vinculado aos códigos de outras pessoas e não será capaz de escrever seu próprio programa, de acordo com sua idéia.Escrever um programa é o final, não o começo do aprendizado de um livro didático.

Obrigado Peter, levei a sério seus conselhos!

Cumprimentos, Vladimir.