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

 
Yukarıdakileri uygularken bazı zorluklarla karşılaştım. Bu yüzden, birilerinin benzer sorunlarla karşılaşması ihtimaline karşı size bundan bahsedeceğim.


1) Eğer x64 terminaliniz varsa, büyük olasılıkla C++ projenizi x64 olarak yeniden derlemeniz gerekecektir. Güvenli tarafta olmak için bunu şu şekilde yapmalısınız: Visual Studio -> Özellikler (C++ projenizin) -> Yapılandırma Yöneticisi -> ve açılır liste veya <Yeni...> aracılığıyla x64 olarak değiştirin. Derleme. Tamamdır. Derlenmezse - projenin Referanslarını kontrol edin, derleyici hatalarını gözden geçirin.
2) EA ile ilgili sorunlarım vardı, başlatılmadı bile. Bunu yalnızca EA'nın grafikle bağlantısını keserken, init hatası başarısız olduğunda fark ettim (komik...). EA, başlatma aşamasında sonsuz Uyku 'ya düştü ve her şey bu satırlarla ilgiliydi (QService.mqh'de):

 QService::EnterCriticalSection()
{
   while (GlobalVariableCheck("QService_CriticalSection") > 0)
   Sleep(1);
   GlobalVariableTemp("QService_CriticalSection");

Hata ayıklama ve bu "Sleep(1) "i anlamaya yönelik boşuna çabalardan sonra kodu şu şekilde değiştirdim:

QService::EnterCriticalSection()
{
   if(!GlobalVariableCheck("QService_CriticalSection"))
   GlobalVariableTemp("QService_CriticalSection");
}

Bu arada, bu makale MT4 için de geçerlidir. MT4'te DDE olmasına rağmen, bu yaklaşımı daha çok seviyorum. Her şey harika çalışıyor.

Not: Makalenin yazarına teşekkürler! Her şey harika!
 
Anlamıyorum, iyi yazılmış ama çalışmıyor. QEXPORTWRAPPER 64 bit terminalde çalışmıyor.
 
shelandr1:
Çok ilginç... Teşekkür ederim... Ama belki bugün daha basit seçenekler vardır*???

Elbette var - bağlantıyı terminalin dahili yeteneği üzerinden kullanmak. Bu bir PIPE kanalı.

https://www.mql5.com/ru/docs/files/fileopen

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Bu makaleye dayanarak yeni bir iş yayınladım: https: //www.mql5.com/en/job/34392.

MT5 64 bit ortamımda çalışmıyor ...

Harika bir makale!

Teşekkürler

Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
Freelance service at MQL5.com: Make Visual Studio 2012 solution downloaded from article work with Metatrader 5 64 bits
  • www.mql5.com
Hi, I'm a C# developer and downloaded the code from the article "HOW TO EXPORT QUOTES FROM METATRADER 5 TO .NET APPLICATIONS USING WCF SERVICES" ( https://www.mql5.com/en/articles/27 ). The problem is that my machine is a Windows 64 bits with MetaTrader 5 64 bits installed and I had to change the compile configurations to 64 bits in Visual Studio 2012. Ok, it compiled normally, then I added one new method that aims to return a string to MT5 which i called ReadBroker2MeInstructions . Compiled...
 

Sadece bilgi için, 64 bit makinemde ne olduğunu keşfettim.

Saatlerce araştırma ve hata ayıklama yaptıktan sonra, başvurulan bir derlemenin yüklenmediğini ve "System.IO.FileNotFoundException: Unable to load file or assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".

Belki de dll'in yapılandırma dosyası olmadığı için, henüz bilmiyorum, MT 5 derlemeyi nerede bulacağını bilmiyordu. Bu yüzden onu temel yoldan (metaeditor64.exe'nin bulunduğu yol) almaya çalışıyordu. Başvurulan projelerin çıktı dizinini bu yola değiştirdikten sonra, bir cazibe olarak çalıştı.

 
sabe:

Merhaba Joe,

X64'te çalışmasını sağlamak için özel bir numara var mıydı? Az önce x64 için derledim, ancak dll başlangıçta garip hatalarla çöküyor.

Sabe, aşağıdaki cevabıma bakınız.

[]'s

 

Merhaba,


Bitmiş dosyanızı test ettim, MT5'te her şey iyi görünüyor. Ancak WinClient'ta veri yok.







 

Acaba geçmiş çubukların önceden yüklendiği benzer bir proje var mı? Hepsini Lightweight-Chart'a eklemek ve grafiği rahatça kullanmak istiyorum.