![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Kısmi not. Argümanların kod tarafından desteklenmesi harika olurdu ve sadece böyle değil, falan filan.
Desteklerim.
İşte benim CMyObject sınıfım:
Sonunda, DEBUG sürümü için nesnenin türüne bağlı olarak ek bir işaretçi dönüşümü denetimi gerçekleştiren CONVERT_OBJECT_WITH_CHECK makrosu da tanımlanır.
Desteklerim.
İşte benim CMyObject sınıfım:
Sonunda, DEBUG sürümü için nesnenin türüne bağlı olarak ek bir işaretçi dönüşümü denetimi gerçekleştiren CONVERT_OBJECT_WITH_CHECK makrosu da tanımlanır.
Güzel. Tabii ki bu bir zevk meselesi. Ancak MQL sözdizimine dayanarak şöyle yazardım:
Güzel. Tabii ki bu bir zevk meselesi. Ancak MQL sözdizimine dayanarak şöyle yazardım:
Evet bu doğru.
Ama bu benim eski moda "programlama tarzım" (son iş parçacığından merhaba Volchansky).
Tüm numaralandırmalara sahibim - E ile başlayın ve ardından "kambur" notasyonu - isim. Ve numaralandırmadaki türler, numaralandırma türünün bir kısaltmasıyla (dört harfe kadar) başlar.
Buna göre, EMyObjectType numaralandırmasından itibaren tüm değerler MOT_ ile başlar.
Sen bir salaksın? )) F# hakkında tek bir kötü söz söylemedim. Aptalca yorumlarınızı göndermeden önce size yazdıklarını okumayı ve anlamayı öğrenin.
OOP'yi FP ile karşılaştırırsak, saf bir FP dili ile karşılaştırmak mantıklıdır, yani. Haskell. F# zaten öyledir, ancak python ve R hiç değildir. Demek istediğim şey o. Aksi takdirde, C++'ın da FP'ye ait olduğu kabul edilebilir.Okuma yazma bilmeyen bir trolsün. Referans olarak, listelenen tüm diller bir dereceye kadar işlevseldir. Git ve konu alanını öğret. Soru, Andrei'nin hangi koordinat sisteminde olduğunu anlamak için soruldu. Belki de FP dillerinden birini kullanıyor, bu yüzden numaralandırma çok geneldi.
Abasnuy?
"Temel nesne" de sizin üzerinizde ne olmalı?
Şahsen, tüm projelerde neredeyse TÜM nesnelerim var - CMyObject sınıfından miras alıyorlar: public CObject, (nesneme iki alan daha eklendi - sınıf adı ve örnek kimliği) ve tekrar tekrar CObject'in işlevselliğinin olduğundan emin oldum. ::Compare() - çok ihtiyaç duyulduğu ortaya çıktı. Liste işaretçileri birkaç kez işe yaradı.
CObject'in bir görevi vardır - tip kontrolü sağlamak. Ve bununla titrek rulolar başa çıkıyor. Next(), Prev(), vb. gibi yöntemler. bu çok özel koleksiyonlar içindir. CObject'te yerleri yoktur. Aynısı Kaydet ve Yükle yöntemleri için de geçerlidir. İyi bir şekilde, bunun içinde Comparer'a da yer verilmemeli, ancak arayüzler olmadan bu tek çözüm.
Type() yöntemine gelince, güçlü yazma sağlamaz çünkü normal bir sayı döndürür. Kendi kodlarınızın örneği ile doğrulayabilirsiniz. Türü bir numaralandırma olarak döndüren yeni bir GetType() yöntemi tanımlarsınız. Ve gerçekten, başka yolu yok, kendim yapıyorum. Bu nedenle, standart CObject'in eklenmesi gerektiği ortaya çıktı ve bu yanlış.
CObject::Compare() hakkında devam edeceğim.
Böyle bir nesnem var CFfactoryBalanceResultSeries - bu, uzmanın fabrika nesnesine bağlantı içeren denge sonuçlarına sahip bir seridir. Aslında, bu, ticareti yapan uzmana atıfta bulunularak, tarihin bir denge eğrisidir.
Bu aynı denge serilerini karşılaştırdığım bir senaryom var.
Sadece iki seri olmasına rağmen, bunları karşılaştırmak kolaydır. Ancak bir düzine olduğunda - zaten gözle - cehennemi karşılaştırabilirsiniz, daha resmi bir karşılaştırmaya ihtiyacınız var.
Ve sadece bu süreci otomatikleştirmek için, aynı serileri sıralayan bir fonksiyon yazmak gerekliydi. CFactoryBalanceResultSeries sınıfının, karşılaştırma işleviyle birlikte CObject'in mirasçısı olması benim için burada kullanışlı oldu. Bu işlevi yeniden tanımladık - ve dizileri sıralamak için hazır bir yeteneğimiz var.
İşlevim şöyle görünür:
Yani, sıralama türüne bağlı olarak, genel sıralama işlevinde kullanılan istenen karşılaştırma işlevini seçiyoruz.
Örneğin, bakiye serisini maksimumdan son düşüşün kısmına göre sıralamak istersek, aşağıdaki fonksiyonlar kullanılacaktır:
CObject::Compare() hakkında devam edeceğim.
taze
IMHO, çok güzel değil.
Bir işlev işaretçisi kullanabilirsiniz .
Evet bu doğru.
Ama bu benim eski moda "programlama tarzım" (son iş parçacığından merhaba Volchansky).
Tüm numaralandırmalara sahibim - E ile başlayın ve ardından "kambur" notasyonu - isim. Ve numaralandırmadaki türler, numaralandırma türünün bir kısaltmasıyla (dört harfe kadar) başlar.
Buna göre, EMyObjectType numaralandırmasından itibaren tüm değerler MOT_ ile başlar.
Evet, aynı listelere sahibim.
Not: Ancak şimdi bilgisayara geçtim. Beklendiği gibi, iş parçacığı hızla bir sele dönüştü)) Sanal işlevlerle ilgili hikayeyi daha sonra bitirmeye çalışacağım .. Bu forumu şöyle adlandırmalıyız: sohbet-forumu Bla-Bla-Bla ))
Her şeyi okudum, herkesin farklı ilgi alanları var ... Şimdi sanal bir grid kurmak ve yönetmek için bir sınıf yeniden yapıyorum, buna ihtiyacım var.