"Yönetilmeyen dışa aktarmaları kullanarak C# kodunu MQL5'e gösterme" makalesi için tartışma - sayfa 4
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Bir aydır utangaç bir şekilde mql5 üzerine topluluk tarafından doldurulacak bir wiki öğreticisi yapmamızı öneriyordum. Bu mega öğretici ile ilgili sorunları çözecektir. Hatta yazarlar özellikle ziyaret edilen makaleler için kredi ile ödüllendirilebilir.
Wiki motoru ücretsiz ve kullanılabilir.
// Metaquotes bunu yapmazsa, başka biri bunu harici bir sitede yapabilir. Ben kendi adıma bunu düşünüyorum.
Harici siteler için bir sorun var - materyalimiz üzerinde telif hakkımız var. Ve dışarıdan bir viki oluştururken, metnin neredeyse %100'ü bizim materyallerimizin kopyası olacaktır.
Herkese açık vikilerin bir ütopya olduğu iddia edilebilir. Kamuya açık vikiler fikri uzun süredir uygulamada gömülüdür. Topluluklarımızın ve belgelerimizin geliştirilmesi için ne kadar çaba harcadığımıza bakın. Bu çok fazla para ve günlük çalışma demek.
Sorunun çözümü, her kullanıcının terminaline zorunlu teslimat ile yönetilen içerik oluşturma alanında yatmaktadır. Bu, kitlesel alıştırma verimliliğini ihmal edilebilir %0,00x'ten çok gerçekçi %3-5'e çıkarır.
MQL5 materyallerinin hacmini ve bağlanabilirliğini günlük olarak artırıyoruz. Dokümantasyon projesi(MQL5 dili, yardım, çoklu dil) çalışmalarımızda çok büyük bir pay alıyor.
Harici siteler için bir sorun var - materyallerimiz üzerinde telif hakkımız var. Ve harici bir wiki oluştururken, metnin neredeyse %100'ü bizim materyallerimizden kopyalanacaktır.
Herkese açık vikilerin bir ütopya olduğu iddia edilebilir. Herkese açık vikiler fikri uzun süredir uygulamada gömülüdür. Topluluklarımızın ve belgelerimizin geliştirilmesi için ne kadar çaba harcadığımıza bakın. Bu çok fazla para ve günlük çalışma demek.
Sorunun çözümü, her kullanıcının terminaline zorunlu teslimat ile yönetilen içerik oluşturma alanında yatmaktadır. Bu, kitlesel alıştırma verimliliğini ihmal edilebilir %0,00x'ten çok gerçekçi %3-5'e çıkarır.
MQL5 materyallerinin hacmini ve bağlanabilirliğini günlük olarak artırıyoruz. Dokümantasyon projesi(MQL5 dili, yardım, çoklu dil) çalışmalarımızda çok büyük bir pay alıyor.
Öğretici altında yarışmaları canlandırırsak ne olur? Sonuçta yeni gelenler bir ders kitabı istiyorlar.
Çok aşamalı bir yarışma yapın, katılımcılar kayıt olur, bir ders kitabı planı sunar, %50'si elenir, geri kalanların her birine 20 dolar ödenir, ikinci aşamaya geçilir vb.
Maratonun sonuna kadar az sayıda ama en iyi çalışmalarla sona ulaşılacaktır. Gerçek yaratım şartlarını yarım yıl olarak belirleyin, aşamalara bölün ve her şey yoluna girecektir.
Genel C++ ve .NET etkileşimi hakkında çok ilginç ve faydalı bir makale.
Uygulanacak en basit strateji "2.4. C++/Cli sarmalayıcı sınıfı", çünkü .NET API'sini C++/cli'de herhangi bir güçlük çekmeden kullanabilirsiniz, bu nedenle tek tutkal kodu "gcroot" tutan küçük ve basit bir sınıftır.
Bu yaklaşım, C#'ta MQL programlamaya izin veren bir kütüphane olan http://www.nquotes.net 'un uygulanması için bir zemin olarak seçilmiştir.
İlk sürüm sadece MQL4'ü desteklese de, gelecek sürümlerde kesinlikle MQL5'e taşınacaktır.
Harika bir makale, çok ama çok kullanışlı. Ama...
Visual Studio ile ilgili küçük bir hatam var. Şablonu kullanarak yeni bir proje oluşturursam ve derlersem, VS sorun yaşamıyor. Daha sonra yeni projeyi (derlenmiş dll dahil) diske, bir çözüm klasörüne kaydedebiliyorum. Dll sorunsuz çalışıyor. Ancak, VS'de kaydedilen projeye geri dönersem, dosya orada olmasına rağmen "RGiescke.DllExport.targets" projesinin bulunamamasından veya diskte olmamasından şikayet ediyor.
Sanırım bu proje dosyasıyla ilgili bir sorun.....
Çok iyi bir öğretici, bunu sevdim.
Çok teşekkürler.
Merhaba Investeo,
Bu makale için teşekkürler, çok faydalı oldu, ancak RGiesecke'den şablon kullanmaya çalışırken bazı sorunlarla karşılaştım gibi görünüyor.
Bir DLL oluşturduğumda ve inşa ettiğimde, GetProcAddress aracılığıyla onları bulabilmek ve çağırabilmek için dışa aktarılan işlevlerin adlarını kontrol etmek için DLL Dışa Aktarma Görüntüleyicisi'ni kullandım. Ne yazık ki DLL'nin kendisi LoadLibrary işlevi içinde iyi yükleniyor ancak GetProcAddress 127 - Function not found hatasını döndürüyor. Aynı zamanda DLL Dışa Aktarma Görüntüleyicisi fonksiyonlarımın hiçbirinin dışa aktarılmadığını gösteriyor ...
Lütfen kodumda neyin yanlış olabileceğini önerebilir misiniz?
Ve sonra Win 32 Konsol uygulamasında aşağıdakileri yapıyorum:
Teşekkürler, Art
Bu arada, MetaTrader 5, birkaç yapı için .NET'te yazılmış DLL'lerden işlevleri yerel olarak içe aktarabiliyor
Bu desteği özel olarak ekledik ve artık geçici çözümler kullanmaya gerek yok.
Net fonksiyonunun nasıl doğaçlama yapılacağı hakkında bilgi bulamıyorum. Kim yapabilir, lütfen bir bağlantı veya basit bir örnek paylaşın.
Editör gezgininde "Tüm dosya türlerini göster" seçeneğini açın, DLL'nizi bir fare ile tutun ve programın MQL5 penceresine atın.
Büyük olasılıkla sonuç sizi şaşırtacaktır.
Editör gezgininde "Tüm dosya türlerini göster" seçeneğini açın, DLL'nizi fare ile tutun ve programın MQL5 penceresine atın.
Muhtemelen sonuç sizi şaşırtacaktır.
Harika.
DLL'deki tüm işlevleri bir kerede ekleyebilseydim.
Editör gezgininde "Tüm dosya türlerini göster" seçeneğini açın, DLL'nizi fare ile tutun ve programın MQL5 penceresine atın.
Muhtemelen sonuç sizi şaşırtacaktır.
Not:
Win8 Enterprise 64
MetaEditor build 842
.Net lib'nin bir işlevi vardır: