
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Şu anda bu yolculuğu kendim yaşıyorum, bu nedenle aşağıda, kendi algoritmalarını kullanarak Metatrader ile finansal piyasalarda işlem yapmak isteyen bir tüccarın bakış açısından makalenin konusu hakkında bazı kısa notlar veriyorum. Yatırımcının birincil hedefinin ticaret olduğunu, yazılım mühendisinin ise programlama olduğunu unutmayın.
1. En büyük engel, günümüzde internet öğrenimini gerçek bir bataklığa dönüştüren ilgisizlik çamurunda ilerlemek olacaktır. İyi kaynaklar bulmak, bulduktan sonra doğru kaynaklardan öğrenmekten daha fazla zaman ve çaba gerektirecektir.
2. Bildiğim kadarıyla MQL öğrenmek için düşük maliyetli iyi bir kaynak yok. Udemy kursları o kadar da iyi değil (deneyimlerime dayanarak konuşuyorum), yalnızca çok indirimli olduklarında (10 Euro veya altı) satın almaya değer. Youtube videoları: Belirli şeyler arıyorsanız oldukça iyi olan bazı kanallar var. Birkaçı size sadece temel bilgileri veriyor. Hiçbiri size bilmeniz gereken her şeyi öğreten sistematik bir kurs yayınlamıyor, hem de ücretsiz olarak. Ücretsiz iyi videoların çoğu genellikle ücretli kurslar için bir pazarlama hunisi niteliğinde. Bunda yanlış bir şey yok, sadece farkında olmanız gereken bir şey.Ücretli kurslar hakkında yorum yapamam, hiç yapmadım.
3. Genel olarak yazılım mühendisliğinde MQL diye bir şey yoktur. Bir ya da iki kitap var, bunlar dili bütünüyle öğretiyor. Bu nedenle, tüm bunları öğrenmek, sabrınız ve zamanınız olsa bile, yıllarca olmasa da aylarca zamanınızı tüketecektir . Ticaret için harcayabileceğiniz zaman. Kendi canlı hesaplarınızda güvenebileceğiniz kadar sofistike olan kendi EA'larınızı ve Göstergelerinizi yapmak için gerekli olan gerçek bilgi alt kümesi önemli ölçüde daha küçüktür. Kendi kullanım kodlarınız için pek çok şey gerekli değildir. Serbest çalışmak veya önceden paketlenmiş MQL kodlarını satmak istiyorsanız, elbette dilin daha büyük bir kısmında ustalaşmanız gerekir. Bir yan not:Bir tüccar olsanız bile, genel yazılım mühendisliğini (C ++ veya C # gibi büyük dillerden birinde, ancak MQL'de değil) öğrenmek için zaman ve çaba harcamaya değer olabilir. Hesabınızı batırırsanız, bir yazılımcı olarak para kazanmak açlıktan kaçınmanıza ve yavaş yavaş oyuna tekrar girmek için sermaye oluşturmanıza olanak sağlayabilir.
4. Bu web sitesindeki MQL Referans sayfaları bir ders kitabı değil, bir referanstır. Belirli MQL dil öğelerinin içini ve dışını bilmek çok değerlidir. Çalışmak için tam bir kabus (biliyorum, denedim).
5. Bence en iyisi C++ ile temelleri öğrenmektir. C++ üzerine çok düşük maliyetli veya ücretsiz birçok mükemmel kurs var. C# veya Java (JavaScript DEĞİL, JS Python gibidir ama daha kötüdür!) da biraz daha uzak olsa bile uygundur. Ayrıca, bence C öğrenmek faydalı değildir. 2023'te C, sistem programlama (işletim sistemi, sürücüler vb.) için niş bir dildir. C++, ihtiyacınız olan tüm klasik C'yi içerir.
6. MQL çekirdek işlevselliği pratik olarak C++'dır. Temel dile, MT platformunda ticarete özgü bir dizi numaralandırma, yerleşik işlev ve sınıf eklenir. Bu ticarete özgü unsurlar elbette C++'da mevcut değildir. Değişkenlerin, sabitlerin, veri türlerinin, işlevlerin ve nesnelerin C++'da genel olarak nasıl davrandığını öğrendikten sonra, bu ek özel MQL öğelerini elde etmek çok kolaydır. OOP'nin ne olduğunu, ne işe yaradığını ve yerleşik MT kütüphane sınıflarındaki nesneleri fonksiyonların yanı sıra prosedürel kodlarınızda nasıl kullanacağınızı bilecek kadar öğrenmeniz gerekir. Mevcut sınıfları kullanmak, kendi sınıflarınızı programlamaktan, kütüphaneler oluşturmaktan, onlarca veya yüzlerce başlık (.mqh) dosyasını yönetmekten vb. çok daha kolaydır. Kendi OOP'nizi programlamak, sadece tek bir araba üretmek için çok uluslu bir araba üreticisi şirket kurmaya benzer, böylece her gün evden işe gidebilirsiniz.
7. Python'u unutun. Bu konuda sayfalarca yazabilirim, ama sadece benim sözüme güvenin. Python bazı şeyleri basitleştirir, bazılarında ise karmaşıklık yaratır. Python'un asıl sorunu çok fazla özgürlüğe sahip olmasıdır. C++'ın katı sözdizimi, statik tipler ve hepsinden önemlisi Sergeant Compilator sonunda çok açık ve güvenilir kodlarla sonuçlanır. Python'un özgürlüğü genellikle suya girme ve kendini boğma özgürlüğüdür. C++ öğrenmenin 'zorlukları' gerçeklikten çok bir efsanedir. Şunu düşünün: C++'daki {} ve ; Python'da : ve zorunlu girintileme ile değiştirilir, sonuçta çaba hemen hemen aynı olur. Zaten MQL5'te ustalaşmak için C++'ın tamamını öğrenmenize gerek yok . Python'u OOP'ye kadar öğrendim, sonra 16 ay sonra bir algo programcısı olarak yolculuğumun hala 0 noktasında olduğumu fark ettim, sonra C++'ı yeniden öğrendim (neredeyse 30 yıl önce bir STEM lisans öğrencisi olarak aldığım C++ dersinin yaklaşık% 99'unu unuttum). Bundan sonra kullanılabilir MQL5 EA'ları ve göstergeleri yazabildim.
6. MQL5 birçok yönden C++'a MQL4'ten daha yakındır. Bu da MQL5'te birçok şeyin MQL4'ten daha zor olmasına neden oluyor. Yine de, 2023 yılında, yeni başlayan kişilerin MQL4 öğrenmesi önerilmez. MQL4, güncel olduğu zamanlardan kalma kurulu kullanıcı tabanı tarafından canlı tutulmaktadır. Her iki dil de eşit olsa bile, MT5 üstün bir backtester ve hiçbir zaman sona ermeyen, broker bağlı olmayan demo hesabı ile bağımsız bir MT platformu indirme yeteneği ile birlikte gelir. İhtiyaç duymanız halinde, MQL5'te ustalaştıktan sonra MQL5 EA'larınızı geriye doğru MQL4'e çevirmek kolaydır. Göstergeler biraz daha fazla çaba gerektirir, yine de oldukça yapılabilir.
7. İşte benim için işe yarayan öğrenme yolu:
- Genel bir programlama dili ile programlama temellerini öğrenin, en kolayı C++'dır çünkü MQL'e en yakın olanıdır. Tüm programlama kursları temelleri basit konsol programları ile öğretir. MetaEditor'ün konsolu yok. Terminal Journal'da "Helllo World!" yazdırmak, doğrudan konsolunda "cout >>" ile yazdırmaktan çok daha düşük bir deneyimdir. Bir MQL kodu ile "cin >>" aracılığıyla gerçek zamanlı olarak değil, yalnızca girdi parametreleri aracılığıyla dolaylı olarak etkileşim kurabilirsiniz.
- Programlama temellerini öğrendikten sonra, youtube'a gidin ve çalışan bir EA veya gösterge oluşturmaya adım adım giden videolar bulun (yazma sırasında çok sayıda var). İlk olarak, tüm videoyu en verimli şekilde sesi kapatarak, altyazıları açarak ve içeriği kavramak için adresini 1,5x veya 2x hızlandırarak izleyin. Ardından, tekrar izleyin ve ses açıkken videoyu duraklatarak ve gerekirse geri sararak kodu yazın.
- Daha fazla programlama kursu almayın - sadece kod kod kod, backtect backtest backtest. Maalesef, MQL birim testi olanağı sunmuyor (uygun yazılım mühendisliği için vazgeçilmez), ancak biraz yaratıcılıkla backtester'ı bunun için kullanmak için kendi yollarınızı geliştirebilirsiniz . İhtiyaç duyduğunuzda belirli konularda daha fazla video izleyin. Bu web sitesindeki makaleler/gönderiler de aynı derecede yardımcı olabilir. MetaEditor'de F1 tuşuna ihtiyaç duyduğunuz sıklıkta basın. İhtiyacınız olmasa bile her gün yeni bir şey öğrenmek ya da öğrendiklerinizi pekiştirmek için F1'e basın.
7. İşte benim için işe yarayan o eğitim kamerası:
- Temel programlama dilini, MQL'e en yakın dil olduğu için C++ ile daha kolay bir şekilde öğrenin. Tüm programlama kursları, basit konsol programları ile temel bilgileri öğretir. MetaEditor bir konsola sahip değildir. Terminal Journal'da "Olá, Mundo!" diye bağırmak, "cout >>" ile doğrudan konsoluna girmekten çok daha düşük bir deneyimdir. Bir MQL koduyla yalnızca giriş parametreleri aracılığıyla dolaylı olarak etkileşime girebilirsiniz, "cin >>" aracılığıyla gerçek zamanlı olarak değil.
- Programlamanın temellerine hakim olduktan sonra, youtube'a girin ve eksiksiz bir EA veya işlevsel gösterge oluşturmayı adım adım açıklayan videolar bulun (şu anda çok sayıda var). İlk olarak, bütünleşik videoya yardımcı olun, daha etkili bir şekilde som'u, göstergeleri silin ve içeriği geliştirmek için 'u 1,5x veya 2x'e kadar hızlandırın. Ardından, videoyu duraklatarak ve gerektiğinde yeniden başlatarak, bağlanmış bir şekilde yeni bir video ekleyin ve kodu birlikte dijital ortama aktarın.
- Daha fazla programlama kursu yapmaz - sadece kodlama kodunu kodlar, backtect backtest backtest. Ne yazık ki, MQL birim test kolaylığı sağlamaz (yeterli bir yazılım mühendisliği için vazgeçilmezdir), ancak belirli bir yaratıcılıkla bunun için backtester'ı kullanmak için kendi özel yöntemlerinizi geliştirebilirsiniz. İhtiyacınız olduğunda adresindeki daha fazla videoya göz atın. Bu sitedeki makaleler/postagenler de aynı şekilde görüntülenebilir. Her zaman MetaEditor'de F4 tuşuna basın. Acerte mesmo que não, apenas for aprender algo novo or aprimorar o que vocá aprendeu todos os dias.
Kanıt için teşekkürler. Bu makaleyi yazmak istememin nedeni aşağı yukarı buydu. Çünkü yeni başlayan birçok insan hangi yöne gideceğini bilemiyor ve bunun çok zor ya da pratik olmayan bir şey olduğunu düşünerek çalışmayı ya da öğrenmeyi bırakıyor.
Yeni makale MQL5 - Siz de bir dil ustası olabilirsiniz yayınlandı:
Daniel Jose tarafından
Ben de usta olmak istiyorum.
Çok güzel bir makale. Beni çocukluğuma, Apple IIe'de DOS sözdizimi ile ilkel grafikler çizdiğim zamanlara götürdü.
Daha sonraki deneyimlerime dayanarak, MQL4'ü öğrenmek kolaydı çünkü temelde C'nin iskelet versiyonuydu. "C-" (C eksi) olarak düşünmeyi severdim. Yıllar sonra, basılı bir MQL5 EA programlama kitabının (artık baskısı tükendi) ilk 50 sayfasını okudum ve ardından MQl5 programlamaya geçtim. Yıllar sonra o kitap hala rafta duruyor ve 50. sayfasında bir yer imi var. Tüm bunlar Makale Yazarının yaparak öğrenme önerisini kanıtlamaktadır.
Easylanguage ve Python ile uğraşmama ve MS Excel ile uğraşmaktan daha fazlasını yapmama rağmen, MQL5'e bağlı kalıyorum çünkü yerel kod her zaman bir borudan veya MT5 dışından bir köprüden daha hızlıdır. Ayrıca, MQL5'in "isteğe bağlı" nesne yönelimli programlama (OOP) unsurları, şu anda işlem yaptığım vadeli işlemler borsasında otomatik işlem yapmak için bir gerekliliktir. MQL5'i öğrenmek istiyorsanız, öncelikle OOP'nin ne olduğuna dair genel bir başlangıç kitabı okumanızı tavsiye ederim.
Yeni bir programlama dili öğrenme korkusundan daha kötüsü geride kalma ihtimalidir.
Bir dahi olarak kendim hakkında övgü dolu bir makale: sıfırdan nasıl programlama gurusu olunacağını öğreteceğim gibi bir şey, ancak bunun için C++ bilmeniz ve 23 yıldır onu kullanma deneyimine sahip olmanız gerektiği ortaya çıktı. Ve şaşırtıcı olan şey, böyle bir bagajla (C/C++) MQL5'te programlamayı öğrenmenin 2 yıl sürmesi. Sonunda, falan filan, ben bir dahiyim ve siz bunu 25 yıl içinde yapabileceksiniz. Bu tür makalelerin yayınlanması çok üzücü....
Ne olmuş yani, Brezilyalı bir adam C++ dilinde "Merhaba Dünya!" yazmak için 23 yılını harcamışsa, herkesin böyle bir sabrı yoktur. Benim kesinlikle yok. Belki memleketinde bronzdan bir anıt dikerler! Bu yüzden onu sessizce kıskanıyoruz.
Şunu belirtmek isterim ki, int türlerini bool türüne dönüştürürken false değeri gerçekten sıfırdır, ancak true değeri sıfırdan farklı herhangi bir değerdir. Bool->int dönüştürülürken, her şey 0 ve 1 ile sınırlıdır.