Kitaplıkları MQL5'e dönüştürmenin zamanı geldi - sayfa 5

 

Bu arada, insan tarafından anlaşılabilir bir dilde depo ile çalışmak için komutlar vermek gerçekten imkansız mıydı? - peki, bunun gibi bir şey:

"Depoya Gönder"

"Depolamadan indir"

"Depolama ile senkronize et"

"ME ile senkronize et"

Ve şimdi olan takımlar - belli değil. Ve bu konuda Urain'e katılıyorum. Ve eğer birisi için sezgisel olarak net olmayan bir şey varsa, o zaman bu kişinin yeni işlevselliği kullanmak için komutları öğrenmek için zaman harcaması pek olası değildir, özellikle ondan önce onsuz başardıysa (işlevsellik).

 

Dal dilek listesine dönüşüyor benimkini de buraya koyayım

Sayısal kütüphanelere gelince:

  • enterpolasyon, yumuşatma ve yaklaşım
  • matrislerle çalışmak
  • optimizasyon (aşırı arama), yöntemler:

Tek boyutlu: Altın kesit yöntemi, Dikotomi, Parabol yöntemi, Grid arama, Fibonacci yöntemi, Üçlü arama
Doğrudan yöntemler: Gauss yöntemi, Nelder-Mead yöntemi, Hook-Jeeves yöntemi, Yapılandırma yöntemi, Rosenbrock yöntemi
Birinci mertebe: Gradyan inişi, Zeutendijk yöntemi, Koordinat inişi, Eşlenik gradyan yöntemi, Quazi-Newton yöntemleri, Levenberg-Marquardt algoritması
İkinci derece: Newton yöntemi, Newton-Raphson yöntemi
Stokastik: Monte Carlo yöntemi, Tavlama benzetimi, Evrimsel algoritmalar, Genetik algoritmalar , Diferansiyel evrim, Karınca kolonisi algoritması, Parçacık sürüsü yöntemi

Wikipedia'dan bir liste, tamamı muhtemelen gerekli değildir

  • nöral ağlar?

Sayısal yöntem kitaplıklarına ek olarak:

  • diyagram oluşturma

Ve Java Reflection API'sinin bir analogunu dile gömün

  • Nesne sınıfının tanımı.
  • Değiştiriciler, alanlar, yöntemler, yapıcılar hakkında bilgi alma.
  • Program çalıştırılana kadar adı bilinmeyen bir sınıfın örneğini oluşturun (dize olarak verilir).
  • ...

Ve düzenli ifadeler

Ve buna iyi bir ekleme, programı sembol tablosu penceresinde değil de çalıştırma yeteneği olacaktır. Ve normal bir pencerede. Kullanıcı "uygulamalarından" kaçamayacağınız zaten açık, bu yüzden neden bir sembole bağlanasınız, çünkü herhangi bir işlem için herhangi birine başvurabilirsiniz. Genel olarak, 5-ke'de, varsayılan olarak bir sembolün üzerine gelinmesi gerekli değildir. Bu, gerçekten uygun olduğu çok sayıda gösterge ve uzman uygulamadır.

Ve en azından, arayüz öğelerinden grafiğe olayların "ortaya çıkmasını" engellemek için, şimdi sürüklenen pencere nesnesi, grafiği kaydırmanın yanı sıra can sıkıcıdır (veya belki de zaten öyledir?).

Statik yöntemler için teşekkürler - singleton'larım artık global işlevler değil.

 
Renat :
Diğer dillerde yazılmış mevcut kitaplıkların dönüştürülmesini basitleştirmek için MQL5 derleyicisine ince ayar yapmak için büyük miktarda çalışma yaptık.

Ayrıca MQL5 dilinin gelişimi de devam etmektedir. Güçlü bir kod profil oluşturucu da dahil olmak üzere daha fazla özellik yakında geliyor.

Şimdi iki görevimiz var:
1) dönüştürme için kullanışlı açık kaynak kitaplıkları seçin
2) dönüşüm projelerinin uygulanması için gönüllüler toplamak (bunu finanse edeceğiz)

Başlangıç olarak, potansiyel projelerin bir listesini toplamak istiyorum. Bağlantılarla ilgili yardım ve kısa bir açıklama lütfen.
Piyasaya kütüphane yüklemek isteyenler için daha karlı olduğunu düşünüyorum çünkü. bu uzun vadeli bir hedeftir ve tek seferlik bir ödeme teklif edersiniz. Tabii ki, bir proje için 10.000 ila 50.000 ABD Doları veya daha fazlasını teklif etmeye hazırsanız, sonra başka bir konuşma, o zaman bir şeyleri değiştirmeye hazırım.
 
-Alexey- :
Piyasaya kütüphane yüklemek isteyenler için daha karlı olduğunu düşünüyorum çünkü. bu uzun vadeli bir hedeftir ve tek seferlik bir ödeme teklif edersiniz. Tabii ki, bir proje için 10.000 dolardan 50.000 dolara veya daha fazla teklif vermeye hazırsanız, o zaman bu farklı bir hikaye, o zaman bir şeyleri değiştirmeye hazırım.
Çok ilginç, sunmaya hazır olduğunuz şey nedir? En azından ince bir ipucu pliz?
 
Yine de büyük sayılarla karmaşık sayılarla çalışın. Üç boyutlu grafiklerin daha fazla oluşturulmasıyla koordinat dönüşümü .
 
TheXpert :
tekrar yayın :)
Ay! Ah! :)
 

Başka bir soru - şimdi MQL5'i mümkün olduğunca C++'a yakınlaştırmaya çalışıyorsanız, belki #ifdef veya #if tanımlanmış mı yoksa sadece #if mi?

Ardından, kitaplıkların hata ayıklamasıyla ilgili bir soru soracağım, belki fark etmemişsinizdir?

Небольшой вопрос -- сейчас есть возможность нормально дебажить библиотеки? Просто не всегда все баги вылазят сразу -- некоторые могут остаться и вылезти уже во время активного пользования библиотекой.

Tabii ki, kısmen iç kontrol tarafından çözülüyor, ancak kütüphane kodunun oluşturulması ışığında çok alakalı.

EMNIP, kütüphanelerdeki aralar çalışmıyor.

 
Renat :
Hem MQL4 hem de MQL5'te 7 yıldır mükemmel bir şekilde çalıştığında "garantili DLL erişimi" hakkında bir şeyler duymak garip.

Harika çalışıyor - bu, bir başlık dosyasıyla C ++ (veya C #) dll aldığımızda, bunları uygun klasöre koyduğumuzda, orijinal başlık dosyasını (veya dosyaları) # include aracılığıyla dahil ettiğimizde kodunuzda ve bu kadar. Şimdi mümkün mü?

 
Bu, C/C++ olmayan başka bir dilde mümkün mü?

C/C++'ın toplam güvenlik eksikliği ve doğrudan veri erişimi, güvenliği asgari düzeyde bile olsa önemseyen dillerle pek uyumlu değil. Başlık *.h dosyaları MQL5'te pratikte oldukları gibi kullanılabilirler ve onları MQH olarak yeniden adlandırırlar. Ancak bağlantılarla çalışan ve verilere doğrudan erişim sağlayan yerlerin düzenlenmesi gerekecektir.

Tüm bunlarla birlikte, DLL'li paketler gayet iyi çalışıyor.

 
Renat :
. . . Başlık *.h dosyaları MQL5'te pratikte oldukları gibi kullanılabilirler ve onları MQH olarak yeniden adlandırırlar. Ancak bağlantılarla çalışan ve verilere doğrudan erişim sağlayan yerlerin düzenlenmesi gerekecektir.

Sanırım düzeltilmesi gereken çok şey olacak.

Aslında, verilere doğrudan erişimde yanlış bir şey yoktur. Sonuçta, MetaTrader'ın kendisi muhtemelen C / C ++ ile yazılmıştır ve hiçbir şey yoktur. Ayrıca, genellikle bağlayıcılar, montajcı eklerini bile yapmanıza izin verir ve ayrıca hiçbir şey yapmaz. MetaTrader'ı hatırlayın Windows altında çalışmak, doğrudan veya dolaylı olarak çok sayıda sistem faturası kullanır ve bu da sorun değil.

Bana öyle geliyor ki, kullanıcıyı seçme hakkından mahrum etmek imkansız. Örneğin, ALGLIB - dll ve yerel başlık dosyasını (dosyalarını) alıp "çarpık tutamaçlarım" ile dokunmadan güvenilir bir hata ayıklanmış kitaplık kullanabileceğim, ancak MQL derleyicisine bunun olduğunu belirttiğim seçeneği gerçekten çok isterim. MQL değil, C ++'dan bir başlık dosyasıdır.

Soru ortaya çıkabilir - ya bu kitaplık kötü niyetli ve tehlikeli ise? Ama kendim kullanmaya karar verdim.

Başka bir deyişle, MQL'de yazılan her şeyin istediğiniz kadar güvenli olmasına izin verin, ancak harici bir şey bağlamaya cesaret edersem, o zaman bunlar benim kişisel sorunlarım. Bu arada, MetaTrader için de tehlikeli olabilecek işletim sistemimi korumanın yanı sıra.