MQL5 언어를 처음부터 자가 학습 - 페이지 11

 
Aliaksandr Hryshyn :

올바른 훈련 계획이 없습니다. 잘못된 곳에서 시작합니다.

공부한 함수는 다음과 같습니다.

이것은 상대적으로 간단하지 않으며 이미 기본 지식이 필요합니다.

이를 확인하기 위해 이 기능에 대한 질문에 답하려고 하면 아마도 답하지 못할 것입니다. 이는 잘못된 학습 방향을 나타냅니다.

"My_line_2"가 따옴표로 묶여 있지만 OBJ_VLINE 이 아닌 이유는 무엇입니까?

여기서 int , double 은 무엇을 의미 하며 어떻게 다릅니까?

sub_window 가 작성되고 그렇지 않은 이유는 무엇입니까?

도움말에서 기능을 배울 필요는 없으며 해결해야 할 작업에 따라 언어의 기본 요소, 거래 환경에서 작업하는 기본 원칙, 파일, 다양한 종류의 데이터 등이 필요합니다.

조언을 주신 Alexander에게 감사드립니다! 참고하겠습니다.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

맞습니다. 하지만 기성품 예제를 사용하거나 직접 독립적인 코드를 작성하는 것은 두 가지 큰 차이점입니다. 적어도 나에게는. 그리고 조언 정말 감사합니다!

안부 인사를 전합니다. 블라디미르.

C++ 및 MQL을 완전히 공부하지 않고 더 간단한 옵션을 찾고 있다면 기성 코드를 가져와 조각으로 정렬하고 권장되는 대로 MQL5 참조 를 사용하여 무엇을 위해 그리고 왜 그런지 이해하려고 시도하십시오.

알리악산드르 흐리신 :

올바른 훈련 계획이 없습니다. 잘못된 곳에서 시작합니다.

관심 있는 모든 것을 이해했다면 유사하거나 더 나은 것을 작성할 수 있습니다.)

그러나 목표부터 시작하십시오 -> 즉, 왜 그것을 공부하고 있으며 불필요한 모든 것을 버리고 가장 필요한 것에 집중하기 위해 목표를 달성하기 위해 정확히 무엇을 공부해야합니까?)

 
MQL4 튜토리얼이 최선의 선택입니다. 절대 멍청한 놈이라도 모든 것이 가능합니다. 우리 분야에 정확하고 적절한 재료 선택. 약 4개월 후에는 스스로 Expert Advisors를 작성할 수 있습니다.

교육 프로그램을 직접 만들지 마십시오. 당신은 이 지식(프로그래밍)의 영역을 전혀 이해하지 못합니다. 따라서 유능한 교과서를 신뢰하십시오.
 
VVT :

C++ 및 MQL을 완전히 공부하지 않고 더 간단한 옵션을 찾고 있다면 기성 코드를 가져와 조각으로 정렬하고 권장되는 대로 MQL5 참조 를 사용하여 무엇을 위해 그리고 왜 그런지 이해하려고 시도하십시오.

관심 있는 모든 것을 이해했다면 유사하거나 더 나은 것을 작성할 수 있습니다.)

그러나 목표부터 시작하십시오 -> 즉, 왜 그것을 공부하고 있으며 불필요한 모든 것을 버리고 가장 필요한 것에 집중하기 위해 목표를 달성하기 위해 정확히 무엇을 공부해야합니까?)

질문이 생길 때마다 C++ 및 MQL5 프로그래밍 언어를 차근차근 공부합니다. 나는 다루는 자료를 통합하기 위해 스크립트를 작성합니다. 점차 미지의 내면에 대한 두려움이 사라집니다. 나는 무언가를 깨닫기 시작했다. 프로그래밍의 기초뿐만 아니라 더 많은 것을 마스터할 수 있는 충분한 인내와 힘이 있기를 바랍니다. 팁을 공유해 주셔서 감사합니다. 그들은 모두 계산합니다! 그러나 그들이 말했듯이 모스크바는 즉시 건설되지 않았습니다!

안부 인사를 전합니다. 블라디미르.

 
Реter Konow :
MQL4 튜토리얼이 최선의 선택입니다. 절대 멍청이라도 모든 것이 가능합니다. 우리 분야에 대한 정확하고 적절한 재료 선택. 약 4개월 후에는 스스로 Expert Advisors를 작성할 수 있습니다.

교육 프로그램을 직접 만들지 마십시오. 당신은 이 지식(프로그래밍)의 영역을 전혀 이해하지 못합니다. 따라서 유능한 교과서를 신뢰하십시오.

고마워 피터! 나는 당신의 이름을 올바르게 사용하고 있기를 바랍니다. 나는 반드시 이 책을 찾아 공부할 것이다. 단지 지금이 과잉 정보로 인한 혼미가 올 수 있는 순간일 뿐입니다. 지금까지 독학 계획에 따라 이미 공부한 자료를 통합하는 데 필요한 스크립트를 몇 개 더 작성해야 합니다.

다시 한 번 조언 감사합니다!

안부 인사를 전합니다. 블라디미르.

 

계속해서 MQL5 프로그래밍 언어를 공부하고 있습니다. 새 스크립트 New5.mq5는 두 시간 간격 사이의 추세선을 설정합니다. 이 대본에서는 앞서 약속한 대로 프로그래밍 학교 1학년 학생을 위한 접근 가능한 프레젠테이션에서 모든 것을 그리려고 했습니다.

안부 인사를 전합니다. 블라디미르.

 //+------------------------------------------------------------------+
//|                                                         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 :

고마워 피터! 나는 당신의 이름을 올바르게 사용하고 있기를 바랍니다. 나는 반드시 이 책을 찾아 공부할 것이다. 단지 지금이 과잉 정보로 인한 혼미가 올 수 있는 순간일 뿐입니다. 지금까지 독학 계획에 따라 이미 공부한 자료를 통합하는 데 필요한 스크립트를 몇 개 더 작성해야 합니다.

다시 한 번 조언 감사합니다!

안부 인사를 전합니다. 블라디미르.

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

링크 주셔서 감사합니다 Alexey!

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin :

고마워 피터! 나는 당신의 이름을 올바르게 사용하고 있기를 바랍니다. 나는 반드시 이 책을 찾아 공부할 것이다. 단지 지금이 과잉 정보로 인한 혼미가 올 수 있는 순간일 뿐입니다. 지금까지 독학 계획에 따라 이미 공부한 자료를 통합하는 데 필요한 스크립트를 몇 개 더 작성해야 합니다.

다시 한번, 조언 감사합니다!

안부 인사를 전합니다. 블라디미르.

피터도 좋다. :)

이제 모든 진지함에서: 이 성급한 "수용"은 그대로 두십시오. 프로그래밍을 뻔뻔하게 공부하지 않는 것이 좋습니다. 너무 복잡한 주제입니다. 베이스가 필요합니다. MQL4 자습서의 첫 번째 수업부터 시작하고 교육 프로그램에 대해 걱정하지 마십시오. 거기에 잘 준비되어 있습니다.

읽고 메모하십시오. 최소한 시작 부분을 마스터할 때까지 - 프로그래밍을 시도조차 하지 마십시오. 그것은 당신을 잘못된 길로 이끌 뿐입니다. 끈기와 노력은 혼돈의 독학으로 얻을 수 없는 본격적인 지식 습득에 도움이 될 것입니다. 학교에 가는 것과 같으며 매일 수업과 과목을 무작위로 선택합니다. 머리에 죽을있을 것입니다. :)

추신 먼저 변수 유형, 배열을 살펴보고 순환 작업을 마스터하고 가장 간단한 기능을 작성한 다음에만 선을 그려야 합니다. 그렇지 않으면 다른 사람의 코드에 묶여 자신의 디자인에 따라 자신의 프로그램을 작성할 수 없습니다. 프로그램 작성은 교과서 학습의 시작이 아니라 끝입니다.
 
Реter Konow :
... 먼저 변수, 배열의 유형을 살펴보고 순환 작업을 마스터하고 가장 간단한 기능을 작성한 다음에만 선을 그려야 합니다. 그렇지 않으면 다른 사람의 코드에 묶여 자신의 디자인에 따라 자신의 프로그램을 작성할 수 없습니다. 프로그램 작성은 교과서 학습의 시작이 아니라 끝입니다.

감사합니다 Peter, 조언이 기록되었습니다!

안부 인사를 전합니다. 블라디미르.