MQL5 dilini sıfırdan kendi kendine öğrenme - sayfa 11

 
Aliaksandr Hryshyn :

Doğru antrenman planın yok, yanlış yerden başlıyorsun.

İşte incelediğiniz fonksiyon:

Bu nispeten basit değildir ve zaten temel bilgi gerektirir.

Bunu doğrulamak için, bu fonksiyonla ilgili soruları cevaplamaya çalışın, muhtemelen cevaplayamayacaksınız, bu da yanlış öğrenme yönünü gösterir:

Neden "My_line_2" tırnak içinde ama OBJ_VLINE değil ?

int , double burada ne anlama geliyor ve nasıl farklılar?

Neden sub_window yazılıyor ve başka türlü yazılmıyor, ne anlamı var?

Yardımdan işlevleri öğrenmeniz gerekmez, dilin temel öğelerine, ticaret ortamıyla çalışmanın temel ilkelerine, dosyalarla, çeşitli verilerle ve çözülmekte olan görevlere bağlı olarak diğerlerine ihtiyacınız vardır.

Tavsiye için teşekkürler Alexander! not alacağım.

Saygılarımla, Vladimir.

 
MrBrooklin :

Bu doğru, ancak sadece hazır bir örnek almak veya bağımsız kod yazmak iki büyük farktır. En azından benim için. Ve tavsiye için çok teşekkürler!

Saygılarımla, Vladimir.

C++ ve MQL'yi tamamen öğrenmeyecekseniz, ancak daha basit bir seçenek arıyorsanız, hazır kodu alın, parçalara ayırın, MQL5 Reference'ı önerildiği gibi kullanarak ne için ve neden olduğunu anlamaya çalışın.

Aliaksandr Hryshyn :

Doğru antrenman planın yok, yanlış yerden başlıyorsun.

sizi ilgilendiren her şeyi anladıktan sonra, benzer veya daha iyi bir şey yazabilirsiniz)

Ancak hedefle başlayın -> yani, neden çalışıyorsunuz ve gereksiz her şeyi atmak ve en gerekli olana konsantre olmak için hedefe ulaşmak için tam olarak neye ihtiyacınız var)

 
MQL4 Eğitimi en iyi seçenektir. Mutlak nooblar için bile her şey orada mevcuttur. Alanımıza uygun ve doğru malzeme seçimi. ~4 ay içinde Uzman Danışmanları kendi başınıza yazabileceksiniz.

Kendiniz bir eğitim programı oluşturmayın, çünkü bu bilgi alanını (programlama) hiç anlamıyorsunuz. Bu nedenle, yetkin bir ders kitabına güvenin.
 
VVT :

C++ ve MQL'yi tamamen öğrenmeyecekseniz, ancak daha basit bir seçenek arıyorsanız, hazır kodu alın, parçalara ayırın, MQL5 Reference'ı önerildiği gibi kullanarak ne için ve neden olduğunu anlamaya çalışın.

sizi ilgilendiren her şeyi anladıktan sonra, benzer veya daha iyi bir şey yazabilirsiniz)

Ancak hedefle başlayın -> yani, neden çalışıyorsunuz ve gereksiz her şeyi atmak ve en gerekli olana konsantre olmak için hedefe ulaşmak için tam olarak neye ihtiyacınız var)

Sorular ortaya çıktıkça yavaş yavaş C++ ve MQL5 programlama dilleri üzerinde çalışıyorum. Kapsanan materyali birleştirmek için komut dosyaları yazarım. Yavaş yavaş, bilinmeyenin içsel korkusu kaybolur. Bir şeyin farkına varmaya başlıyorum. Umarım sadece programlamanın temellerinde değil, aynı zamanda daha fazlasında da ustalaşmak için yeterli sabrım ve gücüm vardır. İpuçlarınızı paylaştığınız için teşekkür ederiz. Hepsi sayılır! Ama dedikleri gibi - Moskova hemen inşa edilmedi!

Saygılarımla, Vladimir.

 
Реter Konow :
MQL4 Eğitimi en iyi seçenektir. Mutlak nooblar için bile her şey orada mevcuttur. Alanımıza uygun ve doğru malzeme seçimi. ~4 ay içinde Uzman Danışmanları kendi başınıza yazabileceksiniz.

Kendiniz bir eğitim programı oluşturmayın, çünkü bu bilgi alanını (programlama) hiç anlamıyorsunuz. Bu nedenle, yetkin bir ders kitabına güvenin.

Teşekkürler Peter! Umarım adını doğru kullanıyorumdur. Bu kitabı kesinlikle çalışmak için bulacağım. Tam şimdi, bilgi bolluğundan bir sersemliğin gelebileceği bir an. Şimdiye kadar, kendi kendine çalışma planına göre, daha önce çalışmış olduğum materyali pekiştirmek için gerekli birkaç senaryoyu daha yazmam gerekiyor.

Tekrar, tavsiyen için teşekkürler!

Saygılarımla, Vladimir.

 

MQL5 programlama dilini öğrenmeye devam ediyorum. Yeni komut dosyası New5.mq5, iki zaman aralığı arasında bir eğilim çizgisi belirler. Bu senaryoda, daha önce söz verdiğim gibi, bir programlama okulunun 1. sınıf öğrencisi için erişilebilir bir sunumda her şeyi boyamaya çalıştım.

Saygılarımla, 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 :

Teşekkürler Peter! Umarım adını doğru kullanıyorumdur. Bu kitabı kesinlikle çalışmak için bulacağım . Sadece şu an, bilgi bolluğundan sersemliğin gelebileceği bir an. Şimdiye kadar, kendi kendine çalışma planına göre, daha önce çalışmış olduğum materyali pekiştirmek için gerekli birkaç senaryoyu daha yazmam gerekiyor.

Tekrar, tavsiyen için teşekkürler!

Saygılarımla, Vladimir.

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

Bağlantı için teşekkürler Alexey!

Saygılarımla, Vladimir.

 
MrBrooklin :

Teşekkürler Peter! Umarım adını doğru kullanıyorumdur. Bu kitabı kesinlikle çalışmak için bulacağım. Tam şimdi, bilgi bolluğundan bir sersemliğin gelebileceği bir an. Şimdiye kadar, kendi kendine çalışma planına göre, daha önce çalışmış olduğum materyali pekiştirmek için gerekli birkaç senaryoyu daha yazmam gerekiyor.

Tekrar, tavsiyen için teşekkürler!

Saygılarımla, Vladimir.

Peter da iyidir. :)

Şimdi, tüm ciddiyetle: bu erken "almayı" çizgilerle bırakın. Programlamayı küstahça çalışmamak daha iyidir - bu çok karmaşık bir konudur. Bir temele ihtiyacınız var. MQL4 öğreticisinin ilk dersleriyle başlayın ve eğitim programı hakkında endişelenmeyin - orada sizin için iyi düşünülmüş.

Okuyun ve not alın. En azından başlangıçta ustalaşana kadar - programlamaya bile çalışmayın, bu sadece sizi yoldan çıkarır. Sabır ve sıkı çalışma, kaotik bir kendi kendine çalışmaya girmeyeceğiniz tam teşekküllü bilgi edinmenize yardımcı olacaktır. Okula gitmek, her gün rastgele ders ve konu seçmek gibi. Kafada yulaf lapası olacak. :)

not İlk önce değişken türlerini, dizileri gözden geçirmeniz, döngülerle çalışmaya hakim olmanız, en basit işlevleri yazmanız ve ancak daha sonra çizgiler çizmeniz gerekir. Aksi takdirde başkalarının kodlarına bağlı kalacak ve kendi tasarımınıza göre kendi programınızı yazamayacaksınız. Bir program yazmak , bir ders kitabından öğrenmenin başlangıcı değil, sonudur.
 
Реter Konow :
... İlk önce değişken türlerini, dizileri gözden geçirmeniz, döngülerle çalışma konusunda ustalaşmanız, en basit işlevleri yazmanız ve ancak daha sonra çizgiler çizmeniz gerekir. Aksi takdirde başkalarının kodlarına bağlı kalacak ve kendi tasarımınıza göre kendi programınızı yazamayacaksınız. Bir program yazmak , bir ders kitabından öğrenmenin başlangıcı değil, sonudur.

Teşekkürler Peter, tavsiye takdir edildi!

Saygılarımla, Vladimir.