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

 
Vasiliy Sokolov :

Programcıların iki sorunu vardır: derleyici hataları ve mimari sorunlar. Başlangıç seviyesindeyken, derleyiciyle savaşmaya odaklanırsınız ve nihai hedefiniz doğru çalışan bir programdır. Bununla birlikte, yeni başlayanlar için program çok hızlı bir şekilde, yazarın yakında çözemediği sözde spagetti koduna dönüşür. Bu nedenle, artık derleyiciye ve son betiğin doğruluğuna değil, mimari konulara odaklanmanızı öneririm. Piyano çalmayı öğrenmek gibidir: ilk başta parmaklarınızı doğru tutmayı ve enstrümanlara doğru oturmayı öğretirler, hiç kimse Bach çalmak için yeni başlayanlara ihtiyaç duymaz.

Komut dosyanızın davranışı iki parametre grubu tarafından belirlenir: ilki, bir makro biçiminde statik olarak ayarlanır. İkincisi , komut dosyası grafiğe yüklenirken kullanıcı tarafından ayarlanır. Artık kullanıcı, bu betiği yeniden derlemeden verilecek siparişin türünü seçemez. Bu kötü. Bu nedenle, ek bir parametre lehine bu makroları terk etmek daha iyidir:

Buna göre, kullanıcı için bir seçim parametresi olarak uyguladığımız yeni bir enum tanımladık.

Şimdi üslubunuzu gördüğümde güldüm ve belirli hatalarla bile daha fazlasını yazın.

 
MrBrooklin :

Selam Peter! Ders kitabını gerektiği gibi çalışırım, yani. Bilgide bir boşluk gördüğümde. Şimdi, şimdiden kısa bir ara vermem ve ders kitabıyla daha yakından çalışmam gerektiğini hissediyorum. Forum katılımcılarının tüm tavsiyelerini not aldım ve onlara uymaya çalıştım. Bu arada, bu kadar kısa sürede sadece MQL5 Reference kullanarak en azından kendi başıma bir şeyler yazabildiğime şaşırdım.

Saygılarımla, Vladimir.

Lütfen Kovalev'in MQL4 eğitiminin en iyi seçenek olduğunu unutmayın. Burada, sitede bir yerde. Daha iyisini bulamayacaksın.
 
Vasiliy Sokolov :

Kodunuzdaki bir sonraki sorun, uzun bir prosedür sayfasına dönüşmesidir. Tüm yeni başlayanlar bunu yapar. Ve bu uzun yıllar onlarla birlikte kalan bir sorun. Bu komut dosyası gibi temel bilgilerden başlayarak algoritmanızı parçalara ayırmayı öğrenin. Bunu yapmanın iki yolu vardır: işlevler ve sınıflar aracılığıyla. Sınıf kavramını ilk başta anlamak çok zor, bu yüzden fonksiyonlarla çalışmaya odaklanmanızı öneririm ... o zaman neden kendiniz yazmıyorsunuz?

Fonksiyonu veren asıl şey, yapısal olarak düşünme ve algoritmayı şematik olarak özetleme yeteneğidir. Örneğin, göreviniz için MQL'de ihtiyacınız olan özel bir dizi fonksiyon varsa, çok basit bir algoritma yazabilirsiniz:

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()                                                    
  {
   if (orderType1== "BUY_STOP" )
     SendBuyStop(Lots, Distance);     
   if (orderType2== "SELL_STOP" )
     SendSellStop(Lots, Distance);
  }
  

Ve hepsi bu. Gözlerimizin önünde gerçekten işe yarayan basit bir algoritma şeması var. Tek kelime ile hayal kurun.

 
Roman :

Şimdi üslubunuzu gördüğümde güldüm ve hatta belirli hatalarla daha fazlasını yazın.

Hatanın bununla ne ilgisi var, nasıl çalışacağını bile bilmiyorsun ama tavsiye veriyorsun. Aslında yerine konuldu, suç yok)

 
Реter Konow :
Lütfen Kovalev'in MQL4 eğitiminin en iyi seçenek olduğunu unutmayın. Burada, sitede bir yerde. Daha iyisini bulamayacaksın.

Bu, şimdi kimsenin ihtiyaç duymadığı açık bir ıvır zıvır. Yatağa falan gitmeden önce Kafka okumak daha iyidir. Ve bu daha kullanışlı.

 

İşte, amatörlerin tavsiyeleriyle kafanız karışmadan ve zamansız görevler üzerinde kafa karıştırmadan, oldukça özel görevler için uygulamalı bir dil öğrenmeye başlamanın en iyi yolu:

Sergey Kovalev'in ders kitabı https://book.mql4.com/ru

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

Hatanın bununla ne ilgisi var, nasıl çalışacağını bile bilmiyorsun ama tavsiye veriyorsun. Aslında yerine konuldu, suç yok)

oha ho ))

Diğerleri burada tavsiye veriyor.
Şartla ilgili bir görev soruldu, siz dahil kimse cevaplamadı!
Karşıdaki resmi görürsem hangi yerden bahsedebiliriz))

 
Vasiliy Sokolov :

Bu, şimdi kimsenin ihtiyaç duymadığı açık bir ıvır zıvır. Yatağa falan gitmeden önce Kafka okumak daha iyidir. Ve bu daha kullanışlı.

eski ne demek? ABC, astar, önemsiz olabilir mi? Belki eski aritmetik?

İyi bir programcısınız, ancak bir öğretmen olarak öğrenciyle ilgili bilgileri görmüyor ve seviyesini yanlış değerlendiriyorsunuz. Temel bilgileri doğru sırayla öğrenmesi gerekir ve ona yalnızca iyi bir ders kitabı yardımcı olur.)

 
Реter Konow :
Vasily, bir kişi henüz dizilerde ustalaşmadı. Bu tür dersleri dinlemek için henüz çok erken.)

Peter, yapmayalım. Birkaç yıl önce size OOP forumunda nasıl açıkladığımızı hatırlayalım)

Eh, gerçekten, şimdi tüm modern programcılar bile bir dizinin ne olduğunu anlamıyor. Herkes listeyle çalışır ve her PL'nin içinde bir dizi yoktur. Bir yerde bu, örneğin bir numaralandırıcı + harita ve ne olursa olsun insanlar şikayet etmiyor.

 
Vasiliy Sokolov :

Peter, yapmayalım. Birkaç yıl önce size OOP forumunda nasıl açıkladığımızı hatırlayalım)

Eh, gerçekten, şimdi tüm modern programcılar bile bir dizinin ne olduğunu anlamıyor. Herkes listeyle çalışır ve her PL'nin içinde bir dizi yoktur. Bir yerde bu, örneğin bir numaralandırıcı + harita ve ne olursa olsun insanlar şikayet etmiyor.

Hayır, tabii geri çevirdin.))) (Seninle beraber olduğumuzu hatırladım. Uzun zamandır burada değilsin :))

Diziler her şeyi bilmeli!))), ancak OOP isteğe bağlıdır. Tabii ki, ama TS bunun hakkında konuşmak için çok erken.
Neden: