Roffield'ın kütüphanesi - sayfa 3

 
Roffild :

Ve neden karmaşık bir şey icat edeyim?

Örnek, bir göstergeyi değil , bir Uzman Danışmandan gelen bilgileri harici bir kod oluşturmaya gerek kalmadan bir gösterge biçiminde görüntüleme olasılığını göstermektedir .

ToIndicator_Example.mq5 çalışmadıysa, muhtemelen Göstergeler\Roffild\ klasöründeki kod terminal başlatıldığında oluşturulmamıştır. Bir günlük iyi olurdu...

Elbette hepimiz her şeyi sıfırdan oluşturmaya alışkınız, bu yüzden kimse yeni kütüphaneler öğrenmek istemiyor, ancak günümüz dünyasında üçüncü taraf kodunu kullanmak yaygın bir uygulamadır...

Platform geliştiricileri, program modüllerini işlevsel amaçlarına göre sıralama sistemini sistematik olarak geliştiriyorlar ve siz ve kitaplıklarınız ters yöne gidiyorsunuz ve her şeyi yeniden kişiselleştirmek istiyorsunuz...))
 
Ivan Negreshniy :
Platform geliştiricileri, program modüllerini işlevsel amaçlarına göre sıralama sistemini sistematik olarak geliştiriyorlar ve siz ve kitaplıklarınız ters yöne gidiyorsunuz ve her şeyi yeniden kişiselleştirmek istiyorsunuz...))

Modüllere bölmek için bağımlılıkları çözmek için bir sisteme ihtiyacınız var. Şimdi MQL için böyle bir sistem yok ve olması da olası değil.

Normal geliştirme sırasında Uzman, Kitaplık, Gösterge ve Komut Dosyası olarak net bir ayrım yoktur - her şey birbirine bağlıdır. MQ paylaşmaya karar verdi. Bu bölüm, CodeBase'i su basan küçük projeler için uygundur.

CodeBase'de bu kütüphanenin olmamasının temel nedeni, tüm dosyaların tek bir arşivde veya sürüm kontrolü yoluyla yayınlanamamasıdır. Şimdi her dosyayı veritabanına ayrı ayrı eklemeniz gerekiyor - ama bu saçmalık ... Bu nedenle CodeBase'de bu kısıtlamalardan dolayı orta ve büyük projeler olamaz.

 
Merhaba, günlük için kütüphaneyi kullanmak için kodu kullanabilir misiniz ( Log4MQL.mqh   ve   Log4MQL_tofile.mqh   +   modül   için   LogMX ) günlüğe nasıl yazılır.
 
Dosyalar:
 

Roffield'ın kütüphanesi

MQL5 programlama topluluğu tarafından Roffild takma adıyla biliniyorum ve bu benim MQL5 için açık kaynak kitaplığım. Uzun zamandır popüler programlama dilleri için standart haline gelen MQL5'teki özellikleri uygulama girişimi. Her dosya bir fikir içerir. Kütüphane, ihtiyaç duyulduğunda yeni özelliklerle güncellenir.

Çok az kişi projeyi Github'a koymaya çalıştı. Tek bir standart yoktur. MetaQuotes, proje oluştururken sürüm kontrol sisteminin kullanımını dikkate almaz. Bazı nedenlerden dolayı, MetaQuotes programcıları bir projenin aynı türden olması gerektiğini düşünüyor. MQL5.com web sitesinde CodeBase'de yayınlanan küçük projeler için böyle bir ayrım yapılması uygundur. Orta ve büyük ölçekli projeler için tek tip proje seçmek mümkün değildir.

Farklı proje bina yapıları denedim. Git'i kullanmak için dosyaları MetaQuotes tarafından benimsenen standart klasör yapısının dışına taşımam gerekiyordu. Bir ara klasöre (bu kitaplıkta “Roffild” klasörü) bağlanmak en iyi seçenektir.

MetaEditor, kodu UTF-16'da kaydedebilir, ancak BOM ile UTF-8 kodlaması da desteklenir. Kaynak dosyayı dönüştürmek için üçüncü taraf bir düzenleyici kullanmanız gerekir ( Notepad++ ' ı öneririm).

Kütüphane ilgi alanlarına ayrılabilir:

  • düzenli görevler (ArrayList, Log4MQL, ToIndicator, vb.);
  • makine öğreniminde AlgLib ile deneyler;
  • AlgLib artık yeterli olmadığında Apache Spark'ı Amazon Web Services (EC2 ve EMR) ile kullanmak.

belgeler

MQL5
Java

Bağlantılar

Roffield.com
Github
MQL5.com: tartışma konusu
MQL5.com: Rusça tartışma konusu


Kurulum

(Gerekli değil)

mklink /j bağlantısı - yönetici hakları gerektirmez.

%APPDATA%\MetaQuotes klasörünü bölümün köküne veya daha büyük bir bölüme taşımak mantıklıdır. Windows'un 255 karakterlik bir dosya yolu sınırı vardır. Benim için MQL5 klasörünün tam yolu 88 karakterden oluşuyor. Test sırasında terminal, geçmişi yerel aracıların sayısına göre kopyalar ve bu klasörün boyutunu birkaç gigabayt artırır.

  1. %APPDATA%\MetaQuotes klasörünü D:\MQLProjects konumuna taşıyın
  2. mklink /j %APPDATA%\MetaQuotes D:\MQLProjects
  3. mklink /j D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\ D:\MQLProjects\MQL5

(Önemli)

Projeyi klonladıktan sonra MQL5\MyProjects\RoffildLibrary klasöründen create_links.bat dosyasını çalıştırın.

kod stili

Google Java Stili

Sekme = 3 boşluk

Sütun sınırı = 110

Lisans

Apache Lisansı 2.0

 
Библиотека Roffild’a
Библиотека Roffild’a
  • roffild.com
Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях. Мало кто...
 
" MySQL format dosyasına veri yazma " var, neden bu formattan okumuyorsunuz?
 
Aleksey Vyazmikin :
" MySQL format dosyasına veri yazma " var, neden bu formattan okumuyorsunuz?
Metin formatına yazmak kolay olduğu için ve bu formattan okumak için bir ayrıştırıcı kullanmanız gerekir. https://en.wikipedia.org/wiki/Parsing
Parsing - Wikipedia
  • en.wikipedia.org
The term has slightly different meanings in different branches of linguistics and computer science. Traditional sentence parsing is often performed as a method of understanding the exact meaning of a sentence or word, sometimes with the aid of devices such as sentence diagrams. It usually emphasizes the importance of grammatical divisions such...
 
Roffild :
Metin formatına yazmak kolay olduğu için ve bu formattan okumak için bir ayrıştırıcı kullanmanız gerekir. https://en.wikipedia.org/wiki/Parsing

Kimin için kolay, kimin için değil, örneğin MQL kullanarak 1000 sütun oluşturmak hiç kolay değil ...

 
Aleksey Vyazmikin :

Kimin için kolay, kimin için değil, örneğin MQL kullanarak 1000 sütun oluşturmak hiç kolay değil ...

Um... MQL'de hiç sütun yok. Ve MQL != SQL tamamen farklı dillerdir.

SQL bilenler için, sayıları 5000 geçişi aştığında, optimizasyondan sonra en iyi geçişleri ayıklamak daha kolaydır. TesterSql.mqh'de uygulandı