MQL5 dilini sıfırdan kendi kendine öğrenme

 

Herkese iyi günler!

Şunları yapmak için "MQL5 dilini sıfırdan kendi kendine öğrenme" başlıklı yeni bir konu oluşturuyorum:

  1. MQL5'te program kodu yazmanın temellerini (temelleri, ilkeleri) tam olarak anlamak.
  2. Kendi kendine çalışmanın sonuçlarına dayanarak, tüm yeni başlayanlar için MQL5 programlama dilini öğrenmek için yalnızca bir "çaydanlık", "noob" vb. Tarafından değil, bir çocuk için bile anlaşılabilir bir makale yazmaya çalışın .

Yeni başlayanlara adanmış birçok mevcuttan ayrı bir konu oluşturuyorum, çünkü kendi kendini yetiştirmiş bir kişinin içlerinde gerekli bilgileri bulması çok zor. Bu konularda programlama uzmanlarıyla birkaç kez iletişime geçtiğimi ve birçoğundan onlara son derece minnettar olduğum anlaşılır cevaplar (tavsiyeler, ipuçları) aldığımı not ediyorum, ancak aynı zamanda çok az kişinin yeni başlayanlarla ilgilendiğini fark ettim. , sık sık tekrar eden saçma sapan sorularla ilgili program kodlarının nereden alındığı belli değil. Bu nedenle karar verildi.

Sıfırdan kendi kendine çalışma için MQL5 web sitesindeki bilgi bolluğundan sadece iki makale ayırabilirim:

https://www.mql5.com/ru/articles/481 bağlantısında "MQL5'te alım satım işlemleri kolaydır"

https://www.mql5.com/ru/articles/496 bağlantısında "Yeni başlayanlar için hızlı başlangıç veya kısa kurs"

Her iki makale de harika ve programlamadan uzak bir kişinin algısı için kesinlikle anlaşılabilir bir şekilde yazılmış, ancak programlamanın tüm temellerini tam olarak ifşa etmiyorlar. Bu konuyu “basitten karmaşığa” ilkesine göre kurmak istiyorum ama aynı zamanda yeni başlayanlara kaba, sel ya da alaycı davranmayı sevenlere ÖZEL DİKKAT EDİM! Tüm bu tür tuhaflıklar için, bu konudaki tüm çöplerin kaldırılmasına yardımcı olmak için moderatörler ve site yöneticileriyle iletişime geçeceğim.

Konudaki mesajlar, eğitimin ilk gününden itibaren bir programlama okulunun 1. sınıf öğrencisine yönelikmiş gibi imzalanacak ve çiğnenecektir. Bu, daha sonra ayrı bir makale yazmayı kolaylaştırmak için gereklidir.

Bir istek daha. Beni sürekli olarak MetaQuotes Language 5 (MQL5) Referansına yönlendirmeye gerek yok, çünkü tam olarak çalıştığım şey bu ve tam olarak MQL5 Referansını incelerken, sizden kısıtlama ile ele almanızı istediğim bu sıkıcı sorular ortaya çıkıyor ve sabır. Ve hala bu tür sorular sormak zorundayım, ama sadece benim için net olan cevapları bulamadığım için.

Yoğunluklarına rağmen, MQL5 dilini çalışarak uzun yıllar boyunca edindikleri paha biçilmez bilgileri paylaşabilecek olan programlama uzmanlarına hemen özel şükranlarımı sunmak istiyorum.

Tanıtım

Diyelim ki 1 Eylül'de özel bir programlama okulunda derslere yeni bir öğrenci geldi. Öğrencinin yanında bir ders kitabı ( MQL5 web sitesindeki El Kitabı), bir not defteri (Uzman Danışman için bir şablon, komut dosyası, gösterge vb.) ve bir kalem (bilgisayar klavyesi) olmalıdır.

Sırayla başlayalım. Bir ders kitabı ve bir kalemle, hemen hemen her evde internete sahip bir bilgisayar olduğu için her şey açıktır, ancak nereden bir not defteri alabilirim? İlk olarak, MQL5 web sitesinde MetaTrader terminal programını indirmeniz gerekir. 5 (bundan böyle MT5 olarak anılacaktır). Bunu yapmak için, MQL5 web sitesinin sayfasını aşağıya kaydırın ve Katıl - MetaTrader 5'i indirin! Bu başlık altında öğrencinin bilgisayarında kurulu olan işletim sistemini seçip (benim durumumda Windows ) fare ile üzerine tıklamanız gerekmektedir. MT5 terminalini kurup açtıktan sonra MetaEditor düzenleyicisini açmak mümkün olacaktır . Düzenleyiciyi açmak için, Servis sekmesini açın ve MetaQuotes Dil Düzenleyicisine tıklayın veya terminal panelinde MetaEditor araç ipucu simgesini bulun ve üzerine tıklayın.

MetaEditor açıldıktan sonra , panelinde Oluştur simgesini (yeni bir belge oluştur) bulmanız ve tıklamanız gerekir. Öğrencinin daha sonra çalışmalarında kullanabileceği geniş bir şablon (defter) listesinin bulunduğu yeni bir sekme açılacaktır.

İlk olarak, "Ne oluşturmak istediğinizi seçin:" mesajının altında, Komut Dosyası adlı daireyi seçin ve İleri düğmesini tıklayın. Üst satırda Ad: Scripts\ kelimesinden sonra danışmanın adını bulmanız ve örneğin Yeni girmeniz gereken başka bir sekme açılacaktır . Bitti düğmesine tıklayın.

Şimdi bu kadar! Sonunda öğrencinin önünde çalışmak için bir not defteri veya daha doğrusu Yeni adlı bir komut dosyası şablonu açıldı. mq 5 .

1. Bölüm .......


Burada zaten MQL5 dilinde programlama uzmanlarına hitap ediyorum - nereden çalışmaya başlamayı önerirsiniz? Geçmiş yılların zirvesinden hayal edin, nereden başlardınız? ? Belki önce nokta nokta bir eğitim planı yapmanız gerekir? İçinde ne olmalı, hangi sırayla? C++ bilgisi olmadan MQL5'te programlama öğrenmek mümkün müdür? Herkesten yapıcı önerileri paylaşmasını rica ediyorum!

Saygılarımla, Vladimir.
Торговые операции на MQL5 - это просто
Торговые операции на MQL5 - это просто
  • www.mql5.com
Почти все трейдеры приходят на рынок для того, чтобы заработать денег, хотя есть и доля тех, кому важен не сам торговый результат, а участие в процессе, драйв. Впрочем, получить удовольствие от процесса можно не только торгуя вручную, но и занимаясь разработкой автоматических торговых систем. Ведь создание торгового робота может быть таким же...
 

1: Dmitry Fedoseev'in makalelerini okuyun /

2: Üç ay boyunca başka kimseyi okumayın, bunca zaman kendiniz deneyin, herhangi bir yeni makale öğrenmeye engel olacaktır.

3: katılımcının gerekli yayınlarına bakın ~ MetaQuotes, şu anda sizi ilgilendiren şeyi seçin,

geri kalanı modası geçmiş ve büyük ölçüde hatalı.

moderatörlerden birinin yeni makalelerine ek olarak, önce numaralandırma türüne girmeniz gerekir.

 
MrBrooklin :

Herkese iyi günler!

Şunları yapmak için "MQL5 dilini sıfırdan kendi kendine öğrenme" başlıklı yeni bir konu oluşturuyorum:

  1. MQL5'te program kodu yazmanın temellerini (temelleri, ilkeleri) tam olarak anlamak.
  2. Kendi kendine çalışmanın sonuçlarına dayanarak, tüm yeni başlayanlar için MQL5 programlama dilini öğrenmek için yalnızca bir "çaydanlık", "noob" vb. Tarafından değil, bir çocuk için bile anlaşılabilir bir makale yazmaya çalışın .

Yeni başlayanlara adanmış birçok mevcuttan ayrı bir konu oluşturuyorum, çünkü kendi kendini yetiştirmiş bir kişinin içlerinde gerekli bilgileri bulması çok zor. Bu konularda programlama uzmanlarıyla birkaç kez iletişim kurduğumu ve birçoğundan onlara son derece minnettar olduğum anlaşılır cevaplar (tavsiyeler, ipuçları) aldığımı not ediyorum, ancak aynı zamanda çok az kişinin yeni başlayanlarla ilgilendiğini fark ettim. , sık sık tekrar eden saçma sapan sorularla ilgili program kodlarının nereden alındığı belli değil. Bu nedenle karar verildi.

Sıfırdan kendi kendine çalışma için MQL5 web sitesindeki bilgi bolluğundan sadece iki makale ayırabilirim:

https://www.mql5.com/ru/articles/481 bağlantısında "MQL5'te alım satım işlemleri kolaydır"

https://www.mql5.com/en/articles/496 bağlantısında "Yeni başlayanlar için hızlı başlangıç veya kısa kurs"

Her iki makale de harika ve programlamadan uzak bir kişinin algısı için kesinlikle anlaşılabilir bir şekilde yazılmış, ancak programlamanın tüm temellerini tam olarak ifşa etmiyorlar. Bu konuyu “basitten karmaşığa” ilkesine göre kurmak istiyorum ama aynı zamanda yeni başlayanlara kaba, sel ya da alaycı davranmayı sevenlere ÖZEL DİKKAT EDİM! Tüm bu tür tuhaflıklar için, bu konudaki tüm çöplerin kaldırılmasına yardımcı olmak için moderatörler ve site yöneticileriyle iletişime geçeceğim.

Konudaki mesajlar, eğitimin ilk gününden itibaren bir programlama okulunun 1. sınıf öğrencisine yönelikmiş gibi imzalanacak ve çiğnenecektir. Bu, daha sonra ayrı bir makale yazmayı kolaylaştırmak için gereklidir.

Bir istek daha. Beni sürekli olarak MetaQuotes Language 5 (MQL5) Referansına yönlendirmeye gerek yok, çünkü tam olarak çalıştığım şey bu ve tam olarak MQL5 Referansını incelerken, sizden kısıtlama ile ele almanızı istediğim bu sıkıcı sorular ortaya çıkıyor ve sabır. Ve hala bu tür sorular sormak zorundayım, ama sadece benim için net olan cevapları bulamadığım için.

Yoğunluklarına rağmen, MQL5 dilini çalışarak uzun yıllar boyunca edindikleri paha biçilmez bilgileri paylaşabilecek olan programlama uzmanlarına hemen özel şükranlarımı sunmak istiyorum.

Tanıtım

Diyelim ki 1 Eylül'de özel bir programlama okulunda derslere yeni bir öğrenci geldi. Öğrencinin yanında bir ders kitabı ( MQL5 web sitesindeki El Kitabı), bir not defteri (Uzman Danışman için bir şablon, komut dosyası, gösterge vb.) ve bir kalem (bilgisayar klavyesi) olmalıdır.

Sırayla başlayalım. Bir ders kitabı ve bir kalemle, hemen hemen her evde internete sahip bir bilgisayar olduğu için her şey açıktır, ancak nereden bir not defteri alabilirim? İlk olarak, MQL5 web sitesinde MetaTrader terminal programını indirmeniz gerekir. 5 (bundan böyle MT5 olarak anılacaktır). Bunu yapmak için, MQL5 web sitesinin sayfasını aşağıya kaydırın ve Katıl - MetaTrader 5'i indirin! Bu başlık altında öğrencinin bilgisayarında kurulu olan işletim sistemini seçip (benim durumumda Windows ) fare ile üzerine tıklamanız gerekmektedir. MT5 terminalini kurup açtıktan sonra MetaEditor düzenleyicisini açmak mümkün olacaktır . Düzenleyiciyi açmak için, Servis sekmesini açın ve MetaQuotes Dil Düzenleyicisine tıklayın veya terminal panelinde MetaEditor araç ipucu simgesini bulun ve üzerine tıklayın.

MetaEditor açıldıktan sonra , panelinde Oluştur simgesini (yeni bir belge oluştur) bulmanız ve tıklamanız gerekir. Öğrencinin daha sonra çalışmalarında kullanabileceği geniş bir şablon (defter) listesinin bulunduğu yeni bir sekme açılacaktır.

İlk olarak, "Ne oluşturmak istediğinizi seçin:" mesajının altında en üstteki mavi daire olan Expert Advisor'ı (şablon) seçin ve İleri düğmesine basın. Üst satırda Ad: Uzmanlar \ kelimesinden sonra danışmanın adını bulmanız ve örneğin Yeni girmeniz gereken başka bir sekme açılacaktır . İleri düğmesine ve Bitir düğmesine arka arkaya iki kez tıklayın.

Şimdi bu kadar! Sonunda öğrencinin önünde bir çalışma defteri açıldı, daha doğrusu Yeni adlı bir danışman şablonu. mq 5 .

1. Bölüm .....


Burada zaten MQL5 dilinde programlama uzmanlarına hitap ediyorum - nereden çalışmaya başlamayı önerirsiniz? Geçmiş yılların zirvesinden hayal edin, nereden başlardınız? ? Belki önce nokta nokta bir eğitim planı yapmanız gerekir? İçinde ne olmalı, hangi sırayla? C++ bilgisi olmadan MQL5'te programlama öğrenmek mümkün müdür? Herkesten yapıcı önerileri paylaşmasını rica ediyorum!

Saygılarımla, Vladimir.

İlk olarak, prosedürel kısım, standart operatörler, fonksiyonlar, sözdizimi. Sonra sınıfları yapılandırır, OOP. Daha sonra standart kütüphanelere geçmek mümkündür. 4ke Kovalev'in burada sevilmeyen ders kitabına göre. Ama ne yazık ki 5ke için böyle bir şey yok. Makaleleri incelemek için kalır.

OOP ve çeşitli bu arada bir seçim

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma

Valeriy Yastremskiy , 2020.04.01 15:57

Teşekkür ederim. Sağlıklı. Belki birinin ihtiyacı vardır.

OOP

https://www.mql5.com/en/articles/357

https://www.mql5.com/en/articles/703

https://www.mql5.com/ru/articles/116

https://www.mql5.com/en/articles/70

https://www.mql5.com/en/articles/351

GA

https://www.mql5.com/en/articles/55

MQL4

https://www.mql5.com/ru/articles/1483

Ve bunu beğendim)))

https://www.mql5.com/ru/articles/1499


Bir de soru, makalelere tıkladığınızda 18 sayfa makale ve başlık çıkıyor:

MQL4 ve MQL5'te programlama üzerine makaleler

ikinci sayfaya tıkladığınızda MQL4 kaybolur. MT4'e tıklamak 6 sayfa getirir. Ve ilk örnekte değiller.



 
Valeriy Yastremskiy :

İlk olarak, prosedürel kısım, standart operatörler, fonksiyonlar, sözdizimi. Sonra sınıfları yapılandırır, OOP. Daha sonra standart kütüphanelere geçmek mümkündür. 4ke Kovalev'in burada sevilmeyen ders kitabına göre. Ama ne yazık ki 5ke için böyle bir şey yok. Makaleleri incelemek için kalır.

OOP ve çeşitli bu arada bir seçim


Teşekkürler Valery! Şimdiden size bir soru. Operatörler, işlevler, sözdizimi vb. hakkında her şeyi okudum. Sıradaki ne? Bütün bunlar pratikte nasıl uygulanır? Hepsini nasıl kullanacağınızı anlamalısınız. İşte asıl problem burada yatmaktadır. Belki tüm Uzman Danışmanları yazmak için bazı temel ilkeler vardır? Bu bir ticaret stratejisi değil, kodun kendisidir.

Saygılarımla, Vladimir.

 

Size özel bir örnek vereceğim.

Hayatta öyle oldu ki element bazında çok iyiyim (elektronik mühendisleri bunun ne olduğunu biliyor). Bir transistör, direnç, kapasitör, diyot, tristör, mikro devre vb.'nin ayrı ayrı nasıl çalıştığını anlıyorum. vb. Ancak bu bilgi, örneğin bu eleman tabanından bir radyo alıcısını basitçe alıp monte etmek için yeterli değildir. Bunu yapmak için önce bir devre şeması geliştirilir, elemanların değerleri hesaplanır ve ancak o zaman her şey tek bir devreye bağlanır, ardından radyo alıcısı çalışmaya başlar.

Belki bir program kodu geliştirirken, aynı sıra hakkında? Söylemek!

Saygılarımla, Vladimir.

Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
MrBrooklin :

Belki program kodunun geliştirilmesinde, aynı sıra hakkında? Söylemek!


gönderi - https://www.mql5.com/en/forum/352460#comment_18544249 yeterli değil mi?

noobların gelip aynı noobları listelemeleri gerekli mi?)

 
MrBrooklin :

Size özel bir örnek vereceğim.

Hayatta öyle oldu ki element bazında çok iyiyim (elektronik mühendisleri bunun ne olduğunu biliyor). Bir transistör, direnç, kapasitör, diyot, tristör, mikro devre vb.'nin ayrı ayrı nasıl çalıştığını anlıyorum. vb. Ancak bu bilgi, örneğin bu eleman tabanından bir radyo alıcısını basitçe alıp monte etmek için yeterli değildir. Bunu yapmak için önce bir devre şeması geliştirilir, elemanların değerleri hesaplanır ve ancak o zaman her şey tek bir devreye bağlanır, ardından radyo alıcısı çalışmaya başlar.

Belki bir program kodu geliştirirken, aynı sıra hakkında? Söylemek!

Saygılarımla, Vladimir.

Bir elektronik mühendisi olarak, bir devrenin ne olduğu konusunda iyi bir anlayışa sahip olmalısınız.
Burada da aynı. Yüksek kaliteli mantık yazmak için önce algoritmanın bir akış şemasını, her şeyin nasıl çalışacağını çizmeniz gerekir.
Tahtada her şey şemaya göre çalışıyor))
Bu nedenle evet, kod geliştirirken tutarlılık gereklidir.

 
Roman :

Bir elektronik mühendisi olarak, bir devrenin ne olduğu konusunda iyi bir anlayışa sahip olmalısınız.
Burada da aynı. Yüksek kaliteli mantık yazmak için önce algoritmanın bir akış şemasını, her şeyin nasıl çalışacağını çizmeniz gerekir.
Tahtada her şey şemaya göre çalışıyor))
Bu nedenle evet, kod geliştirirken tutarlılık gereklidir.

Teşekkürler Roman!

Saygılarımla, Vladimir.

 
MrBrooklin :

Teşekkürler Roman!

Saygılarımla, Vladimir.

-1 adım.

masterdelruks'unuzla karşılaştırma ve benzerlik arama, -1 adım.

 
Fast235 :

gönderi - https://www.mql5.com/en/forum/352460#comment_18544249 yeterli değil mi?

noobların gelip aynı noobları listelemeleri gerekli mi?)

Tavsiyeniz üzerine Dmitry Fedoseev'in "MQL5 Programlamanın Temelleri: MetaTrader 5 Terminalinin Global Değişkenleri" makalesini incelemeye başladım. Makalenin incelenmesine paralel olarak, oluşturduğum konuda dile getirdiğim sorular ortaya çıkıyor. Alınan tüm bilgileri hemen anlayan ve net bir resmi olan insanlar var, ancak böyle bir yeteneğe sahip olmayan başka insanlar da var. Sabırlı ol.

Saygılarımla, Vladimir.

 
MrBrooklin :

Tavsiyeniz üzerine Dmitry Fedoseev'in "MQL5 Programlamanın Temelleri: MetaTrader 5 Terminalinin Global Değişkenleri" makalesini incelemeye başladım. Makalenin incelenmesine paralel olarak, oluşturduğum konuda dile getirdiğim sorular ortaya çıkıyor. Alınan tüm bilgileri hemen anlayan ve net bir resmi olan insanlar var, ancak böyle bir yeteneğe sahip olmayan başka insanlar da var. Sabırlı ol.

Saygılarımla, Vladimir.

Sizi temin ederim, ona, tüm konulara, özellikle de ipe, en zoru olana geri döneceksiniz)

Neden: