"WCF Hizmetlerini Kullanarak МetaTrader 5'ten .NET Uygulamalarına Fiyat Tekliflerini Dışa Aktarma" makalesi için tartışma

 

Yeni makale WCF Hizmetlerini Kullanarak МetaTrader 5'ten .NET Uygulamalarına Fiyat Tekliflerini Dışa Aktarma yayınlandı:

MetaTrader 5'ten kendi uygulamanıza fiyat tekliflerinin dışa aktarılmasını düzenlemek ister misiniz? MQL5-DLL birleşimi, bu tür çözümler oluşturmanıza olanak tanır! Bu makalede size fiyat tekliflerini MetaTrader 5'ten .NET'te yazılmış uygulamalara dışa aktarmanın yollarından biri gösterilecektir. Benim için bu platformu kullanarak fiyat tekliflerinin dışa aktarımını uygulamak daha ilginç, mantıklı ve kolaydı. Ne yazık ki, sürüm 5 hala .NET'i desteklemiyor; bu nedenle eski günlerde olduğu gibi .NET destekli win32 dll'yi ara katman olarak kullanacağız.

Hizmeti kullanarak bir tickler tablosu örneği oluşturdum. Proje arşive eklenir ve WindowsClient olarak adlandırılır. Çalışmasının sonucu aşağıda sunulmuştur:

Yazar: Alexander

 

Aferin! Başka bir şey söyleyemem. Ne yazık ki, MQL5 - .NET bağlantısı hala bir aracı gerektiriyor, bu da tüm yapıyı çok hantal hale getiriyor.

 
Itso:

Ne yazık ki, MQL5 - .NET iletişimi hala bir aracı gerektiriyor ve bu da tüm yapıyı çok hantal hale getiriyor.

Katılıyorum. Bu arada, basit etkileşimler için harika bir şey var - Inverse P/Invoke - aracılar olmadan etkileşim.

Ayrıca 3 derlemeyi de QExportWrapper.dll ile birleştirmek için ILMerge kullanmayı denedim - işe yaramadı ya da daha doğrusu yaradı, ancak mql5'ten birleştirdikten sonra dışa aktarılan işlevleri görmüyor

 

Merhaba!

Kaynak dosyalarınızı kopyaladım ve çalıştırmak için yeniden derledim.

Ancak MT5'te bir çökme yaşadım.

Bu konuda nasıl hata ayıklayabilirim / sorun giderebilirim?

Teşekkürler!

 

1. İlk olarak, bin.rararşivinde bulunan derlenmiş dosyaları kullanmayı deneyin

Örneğin, MetaTrader5 istemci terminalinin dizini "C:\Program Files\MetaTrader 5\" şeklindedir.

Uzman QExporter.mq5 için yeni bir klasör oluşturalım, örneğin "QE", "C:\Program Files\MetaTrader 5\MQL5\Experts\" klasöründe

C:\Program Files\MetaTrader 5\MQL5\Experts\QE\QExporter.mq5 (1615 bytes)
C:\Program Files\MetaTrader 5\MQL5\Experts\QE\QService.mqh (4380 bytes)

C:\Program Files\MetaTrader 5\MQL5\Libraries\QExport.dll (5632 bytes)
C:\Program Files\MetaTrader 5\MQL5\Libraries\QExport.Service.dll (7168 bytes)
C:\Program Files\MetaTrader 5\MQL5\Libraries\QExportWrapper.dll (27648 bytes)

C:\Program Files\MetaTrader 5\WindowsClient\QExport.Client.dll (6656 bytes)
C:\Program Files\MetaTrader 5\WindowsClient\QExport.dll (5632 bytes)
C:\Program Files\MetaTrader 5\WindowsClient\WindowsClient.exe (12288 bytes)

Daha sonra QExporter.mq5'in derlenmesinden sonra derlenmiş QExporter.ex5 dosyası dizinde görünecektir:

C:\Program Files\MetaTrader 5\MQL5\Experts\QE\QExporter.ex5 (6706 bayt)

EURUSD,H1 grafiğine ekledikten ve WindowsClient.exe'yi çalıştırdıktan sonra aşağıdaki resmi elde ettim:

Bunu buld 249'da (18 Şubat) test ettim.

 
sgfxtrader:

Kaynak dosyalarınızı kopyaladım ve çalıştırmak için yeniden derledim.

Ancak MT5'te bir çökme yaşadım.

Bu konuda nasıl hata ayıklayabilirim / sorun giderebilirim?

Merhaba,

Öncelikle, hataya neden olan fonksiyonu bulmak için mql5 kaynaklarında hata ayıklamaya çalışırdım - tüm dll fonksiyonları çağrılmadan önce kesme noktaları ayarlayın. Ne yazık ki, terminal çöktüğü için hata ayıklama için dll'i terminal.exe'ye ekleyemedim. Belki yeni sürümlerde bu mümkün olabilir

Ayrıca hangi işletim sistemini kullandığınızı bilmek istiyorum. Benim 32bit işletim sistemim var ve bu nedenle 64bit sistemlerde kontrol etme imkanım olmadı.

Ve derlenmiş dosyaları çalıştırmayı denediniz mi?

Ve bir şey daha, lütfen çözümde ConsoleService ve ConsoleClient'ı çalıştırmayı deneyin. Belki de sorun mql veya sarmalayıcı kütüphane ile ilgili değildir.

Finnaly, sanırım terminal.exe.config dosyasını oluşturmayı (veya kopyalamayı) unuttunuz. Lütfen deneyin.

 

MQL5'in NET'in wrap dll'ini kullanabilmesi için iyi bir haber.

Mql4 neden Net wrapped DLL ile iletişim kurmak için bu modu kullanamıyor?

 
DxdCn posted # :

MQL5'in NET'in wrap dll'ini kullanabilmesi için iyi bir haber.

Mql4 neden Net wrapped DLL ile iletişim kurmak için böyle bir mod kullanamıyor?

Mt4'te hibrit dll kullanmak mümkündür, sorun mql4'ün yapılara sahip olmamasıdır. Ama bu o kadar da büyük bir sorun değil, yapı yerine birkaç parametre geçirebilirsiniz.
 
sgfxtrader:

Merhaba!

Kaynak dosyalarınızı kopyaladım ve çalıştırmak için yeniden derledim.

Ancak MT5'te bir çökme yaşadım.

Bu konuda nasıl hata ayıklayabilirim / sorun giderebilirim?

Teşekkürler!


Ben de aynı sorunu yaşıyorum.

2010.07.27 12:11:09 Experts QExporter'ın başlatılması(EURUSD,H1) başarısız oldu

 

Gönderilen örnek için çok teşekkür ederim. Bir haftadır (akşamları) .net ve mql5 arasında veri alışverişi için bir kütüphane oluşturmaya çalışıyorum.

C++ konusunda iyi değilim ve bu yazı benim için çok faydalı oldu.

Sadece bir sorun var. X64 altında derlemeden sonra, servis başlatma hata veriyor.

ExportService^ service = gcnew ExportService(serverName); // <- ServiceManaged.cpp 

İşlem herhangi bir açıklama yapmadan sadece "çıkıyor".

Daha fazla analiz için bu hatayı günlüğe nasıl çıkarabilirim? Ya da belki bu sorunla daha önce karşılaşmışsınızdır ve bir çözümü vardır ????.

 

Bunu hem 32bit MT5 ile çalıştırmayı başardım hem de x64 için yeniden tamamladıktan sonra 64bit MT5 ile çalıştırmayı başardım.... ancak EA'yı strateji test cihazında çalıştırmaya çalıştığımda her ikisi de olağanüstü bir şekilde çöküyor.

Harici yazılımla bazı analizler yapmak için bazı fiyat ve gösterge verilerini bir veritabanı tablosuna aktarmak için bunu kullanmak istiyorum..... bu çökmeye neyin neden olabileceği hakkında herhangi bir fikriniz var mı? Şimdiye kadar çalışan bir çözüme en yakın olduğum şey bu.


Joe