"MQL5'te fonksiyonları uygulamalarla anlama" makalesi için tartışma

 

Yeni makaleye göz atın: MQL5'te fonksiyonları uygulamalarla anlama.

Fonksiyonlar her programlama dilinde kritik bileşenlerdir. Diğer birçok faydasının yanı sıra, geliştiricilerin DRY (Don't Repeat Yourself, kendini tekrar etme) ilkesini uygulamalarına yardımcı olurlar. Bu makalede, fonksiyonlar hakkında çok daha fazla bilgi edinecek ve alım-satım sisteminizi zenginleştiren ancak karmaşıklaştırmayan basit uygulamalar yardımıyla MQL5'te kendi fonksiyonlarınızı nasıl oluşturacağınızı göreceksiniz.

Diyelim ki, varlık maksimum düşüşe ulaştığında yazılımın tüm açık emirleri kapatmasına ihtiyacımız var ve bu görev yazılımın birçok bölümünde gerçekleştirilmelidir. Bu durumda, aynı kodu gerekli tüm yerlerde tekrarlamak yerine, bir fonksiyon oluşturmak ve bu görevi gerçekleştirmek için gerekli kodu (mantığı) dahil etmek ve ardından diğer bölümlerde çağırmak daha iyi olacaktır.

Neden bu tür bir fonksiyon kullanmamız gerektiği sorusunu yanıtlamak için, kullanıcı tanımlı fonksiyonları kullanmanın özelliklerini incelememiz gerekir:

  • DRY (Don't Repeat Yourself, kendini tekrar etme) ilkesini uygulamamıza yardımcı olur: Kullanıcı tanımlı fonksiyonlar sayesinde aynı kodu tekrar tekrar yazmak zorunda kalmayız. Görevimizi yerine getirebilecek bir fonksiyon oluştururuz ve daha sonra yazılımın uygun herhangi bir yerinde çağırırız.
  • Yeniden kullanılabilirlik: Fonksiyonumuzu oluşturduktan sonra, onu istediğimiz zaman yeniden kullanabiliriz.
  • “Böl ve fethet” konseptinin uygulanmasına yardımcı olur: Büyük bir problemi daha küçük problemlere bölebilir ve her birini fonksiyonlarla çözebiliriz.
  • Kodu daha okunabilir ve anlaşılabilir hale getirir: Her bir fonksiyon belirli bir problemi çözer.
  • “Soyutlama” konseptinin uygulanmasına yardımcı olur: Fonksiyonlar olmazsa daha fazla kod satırına ihtiyaç duyarız.
  • “Kapsülleme” konseptinin uygulanmasına yardımcı olur: Fonksiyonlar, kodumuzu ve verilerimizi korumamıza ve daha kolay yönetmemize olanak sağlar.
  • Hata ayıklama sürecini iyileştirir: Fonksiyonlar, hataların bulunmasını ve giderilmesini önemli ölçüde kolaylaştırır.

Fonksiyonları kullanmanın getirdiği avantajlardan bahsettiğimize göre, bu kullanıcı tanımlı fonksiyonları yazılımımızda kullanmanın ne kadar faydalı olacağını kolayca anlayabiliriz.


Yazar: Mohamed Abdelmaaboud

 

yardımcı

Çok teşekkürler

işaretçiler ve ilgili konular için de aynı şeyi bulmayı umuyoruz

 
Mohamed Hassan Mohamed Hassan Alsherbiny #:

yardımcı

Çok teşekkürler

işaretçiler ve ilgili konular için de aynı şeyi bulmayı umuyoruz

Nazik yorumunuz için teşekkür ederim.

Bunu yapmaya çalışacağım.

 

Bu makale için yazara teşekkür ederim! MQL5 programlama dilini öğrenmeye yeni başlayanlar için çok faydalı bilgiler olduğunu düşünüyorum. Sık kullanılanlarıma ekledim.

Saygılarımla, Vladimir.

Eklendi: Rusça bir forumda makale yayınlarken tek dileğim tüm yorumların Rusça olması. Bilgiyi sindirmek çok daha kolay. İşte bir örnek. Bunun yerine:

//ekleme işlevi
// döndürülen veri tipi bir tamsayıdır - fonksiyonun adı add'dir - parametreler veya argümanlar iki int değişken val1 ve val2'dir
int add(int val1, int val2)
  {
   //işlevin çağrıldığında gerçekleştirmesini istediğimiz işlevin gövdesi
   //val1 ve val2 toplamasının sonucuna atanacak yeni bir sonuç değişkeni oluşturun
   int result = val1+val2;
   //Sonucu uzmanlar sekmesinde yazdır
   Print(result);
   //dönen değer
   return 0;
  }

çevirisini bir kerede görmek harika olurdu:

//ekleme işlevi
//dönen veri tipi bir tamsayıdır. Fonksiyonun adı add'dir. Parametreler veya bağımsız değişkenler, int türünde val1 ve val2 olmak üzere iki değişkendir.
int add(int val1, int val2)
   {
    //çağrıldığında çalıştırılmasını istediğimiz fonksiyonun gövdesi
    //val1 ve val2'nin eklenmesinin sonucunun atanacağı yeni bir sonuç değişkeni oluşturun
    int result = val1+val2;
    //Sonucu Uzmanlar sekmesinde yazdırın
    Print(result);
    //dönüş değeri
    return 0;
   }

Bu arada, yorumları Rusçaya çevirirken, soru şeklinde bir eklemem daha oldu: bu fonksiyonda return neden sonuç yerine sıfır döndürüyor?

Bu yazarın hatası değil mi?

 
MrBrooklin #:

Bu arada, yorumları Rusça'ya çevirirken, soru şeklinde bir eklemem daha oldu: bu işlevdeki return neden sonuç değil de sıfır döndürüyor?

Bu yazarın hatası değil mi?

Sayın programcılar!!! Beynim return operatörünün amacını anlamayacak kadar mı kurudu yoksa hala yazarın hatası mı?

Saygılarımla, Vladimir.

 
MrBrooklin #:

Sayın programcılar!!! Beynim geri dönüş operatörünün amacını anlamayacak kadar mı kurudu yoksa yazarın hatası mı?

Saygılarımla, Vladimir.

Merhaba Vladimir. Sanırım bunun sadece bir hata olduğunu tahmin edebilecek kadar deneyimli bir programcı oldun...

 
Alexey Viktorov #:

Merhaba Vladimir. Bunun sadece bir hata olduğunu tahmin edebilecek kadar deneyimli bir programcı olduğunuzu düşünüyorum....

Günaydın, Alexey! Teşekkür ederim, elbette, ama hala Pekin'den olduğum kadar deneyimli bir programcıdan da uzağım. )) Sadece bu tür hatalar içeren makalelerin foruma girmesine nasıl izin verdiklerini merak ediyorum.

Saygılarımla, Vladimir.

 
MrBrooklin #:

Günaydın, Alexey! Teşekkür ederim, elbette, ama hala yeterince deneyimli bir programcı olmaktan Pekin'den olduğum kadar uzağım. )) Sadece bu tür hatalar içeren makalelerin foruma girmesine nasıl izin verdiklerini merak ediyorum.

Saygılarımla, Vladimir.

Vladimir, "yeterince deneyimli" demek guru demek değildir. Bu dalkavukluk değil.

İşlev yazılır ve hata ayıklaması yapılmaz, bu nedenle dikkatsizlik nedeniyle bu tür hatalar mümkündür. Ve neyi özlüyorlar......... Tüm makaleleri dikkatlice tekrar okumak ve bu tür hataları düzeltmek için ne kadar personele ihtiyacınız var? Bu gerçekçi değil... Bir hata fark ederseniz, bildirirsiniz, düzeltilir ve herkes mutlu olur.

 
Alexey Viktorov #:

Vladimir, "yeterince deneyimli" demek guru demek değildir. Bu dalkavukluk değil.

İşlev yazılır ve hata ayıklaması yapılmaz, bu nedenle dikkatsizlik nedeniyle bu tür hatalar mümkündür. Ve neyi özlüyorlar......... Tüm makaleleri dikkatlice yeniden okumak ve bu tür hataları düzeltmek için ne kadar personele ihtiyacınız var? Bu gerçekçi değil... Bir hata fark ederseniz bildirirsiniz, düzeltilir ve herkes mutlu olur.

Mesele şu ki, yeni başlayanlar, sıfır bilgiye sahip olanlar da dahil olmak üzere bu makalelerden öğreniyorlar ve kodun doğru olup olmadığını değerlendirme şansları yok, sadece inanarak alıyorlar. ))

Saygılarımla, Vladimir.

 
MrBrooklin MQL5 programlama dilini öğrenmeye yeni başlayanlar için çok faydalı bilgiler olduğunu düşünüyorum. Favorilerime ekledim.

Saygılarımla, Vladimir.

Ek: Rusça bir forumda makale yayınlarken tek dileğim tüm yorumların Rusça olması. Bilgiyi sindirmek çok daha kolay. İşte bir örnek. Onun yerine:

hemen bir çeviri görmek harika olurdu:

Bu arada, yorumları Rusça'ya çevirirken, soru şeklinde bir eklemem daha oldu: bu işlevdeki return neden sonuç değil de sıfır döndürüyor?

Bu yazarın hatası değil mi?

Merhaba, Bay Brooklyn!

Yorumunuz ve bildiriminiz için teşekkür ederiz. Bu hata düzeltilmiş ve yayına gönderilmiştir.


Çok teşekkür ederiz

 
Mohamed Abdelmaaboud #:

Merhaba, Bay Brooklyn!

Yorumunuz ve bildiriminiz için teşekkür ederiz. Bu hata düzenlenmiş ve doğrusu yayınlanmak üzere gönderilmiştir.

Çok teşekkür ederim

İyi günler, cevabınız için teşekkür ederim.

Saygılarımla, Vladimir.