Talimatlarınızı dikkatle takip ettim ancak bunu Matlab 2007b ile çalıştırmayı başaramıyorum. Önceden oluşturulmuş örneklerinizi MT5 Terminali ile kullanmaya çalışırken sürekli olarak bu hataları alıyorum.
2010.08.29 10:33:30 TestMLEngine (EURUSD,H1) 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\LibMlEngine.dll' açılamıyor (126)
2010.08.29 10:33:47 TestDllMatlab (EURUSD,H1) 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\nnSMA.dll' açılamıyor (126)
Bu konuda ne düşüneceğimi gerçekten bilmiyorum çünkü"How to Exchange Data" makalesinde bahsedilen projeyi alabiliyorum:10 Dakikada MQL5 için bir DLL " burada bulundu https://www.mql5.com/en/articles/18 herhangi bir sorun olmadan çalışıyor.
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Erişim ihlali 'C:\Users\QuantFX\AppData\Roaming\MetaQuotes\Terminal\216E2BD2BB8CE60176A41ADF6AC1C76D\MQL5\Libraries\MQL5DLLSamples.dll' içinde 0x00000000'a yazma
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Değiştir: Hızlı kahverengi kedi tembel köpeğin üzerinden atlar
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Dizi: 0 1 2 3 4 5 6 7 8 9
2010.08.29 10:44:16 MQL5DLL_Test (EURUSD,H1) Zaman 297 msn, int: -752584127 double: 17247836076609
Dolayısıyla, terminalin \Libraries klasörüne erişim ihlalleriyle ilgili herhangi bir sorunu olmadığı açıktır ve Uzman Danışman "Seçeneklerinin" dll içe aktarmalarına ve otomatik ticarete izin verdiğinden eminim ... Herhangi bir yardım çok takdir edilecektir çünkü bu makaleyi ilk okuduğumdan beri bu konuda şaşkına döndüm. Şimdiden teşekkürler
- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Sonunda bunu çalıştırdım... Mükemmel bir makale olduğunu söylemeliyim. Visual Studio konusunda çok deneyimli değilim ve metatrader programlama konusunda acemiyim. Bu yüzden, aldığım tüm hatalarla bu biraz zor görünüyordu. Matlab ve visual studio'nun tüm sürümleri için uzun vadede çok kolay olmasına rağmen.Metatrader ve Matlab'ı birbirine bağlamak için ilk denemelerini yapan herkese, matlab motoru veya metatrader harici kütüphaneleri ile hiç çalışmadıysanız, fikir edinmek için aşağıdakileri yapmanızı öneririm. 1. matlabroot\externs\examples\eng_mat\engwindemo'da bulunan matlab ile birlikte gelen projeyi oluşturun.c bu makaleyi takip ederek. http://www.mathworks.com/support/solutions/en/data/1-78077S/index.html?product=ML&solution=1-78077S Derleyin ve eksik dll dosyaları gibi sorunlarınız varsa, burada bulunan bağımlılık yürüteçini kullanın http://www.dependencywalker.com/ kullanarak kullandığınız matlab engine sürümünün çalışması için C:\Windows\System 32 klasörünüze hangi eksik dosyaların yerleştirilmesi gerektiğini belirleyin. Sistem 32 klasörünüze çok sayıda dosya koymak zorunda kalabileceğinizi veya bunları projenizde bağlamak için doğru yerleri bildiğinizi not etmek iyi olabilir. Çoğu dll matlabroot\bin\win (32 veya 64) klasörünüzde bulunmasına rağmen. Gerekli ilk birkaç dll dosyasını yerleştirdikten sonra geri dönün ve projenizi tekrar oluşturmayı deneyin. dependency walker'ın önerdiği her şeyi yapmanıza gerek olmadığını görebilirsiniz. Projenin derlenmesini ve çalışmasını sağlarsanız, işiniz neredeyse bitmiş demektir... 2. How to Exchange Data makalesinde önerilen projeyi oluşturun: 10 Dakikada MQL5 için bir DLL https://www.mql5.com/en/articles/18 . Bu projeyi çalıştırırsanız, yukarıdaki projeyi oluştururken ikisini birleştirdiğinizi unutmayın. İzlediğiniz tüm adımları hatırlayın ve bu projeyi derlemeye hazır olduğunuzda "stdafx.h "nin DLLUnit.cpp dosyasındaki ilk #include başlığı olduğundan ve oluşturmadan hemen önce önceden derlenmiş başlıkları kapattığınızdan emin olun. Yukarıdaki dosyaları olduğu gibi kullanmak, kolayca düzeltilebilecek bazı uyarılar verebilir, ancak proje herhangi bir güçlük çekmeden çalışmalıdır. Burada eklediğim iki sent, bu proje için aptalların kılavuzu gibi gelebilir, ancak bunları yapmak, bu projeyi matlab'ın başka bir sürümüyle oluşturmanız veya visual studio kullanmanız gerekirse boş zamanınızdan birkaç saat tasarruf etmenizi sağlayabilir.
Şerefe
Yanılmıyorsam, Tablo 1'deki Matlab matrislerinin türü yanlış. U harfi eksik. Yani, örneğin, 0 ile 65535 aralığından int16 türü değil, uint16 türü sorumludur. Ve böyle devam eder...
Sınıf | Değerler Aralığı | Dönüşüm Fonksiyonu |
---|---|---|
İşaretli 8 bit tamsayı | -27 ila27-1 | int8 |
İşaretli 16 bit tamsayı | 215 -215-1 | int16 |
İşaretli 32 bit tamsayı | -231 ila231-1 | int32 |
İşaretli 64 bit tamsayı | -263 ila263-1 | int64 |
İmzasız 8 bit tamsayı | 0 ila28-1 | uint8 |
İmzasız 16 bit tamsayı | 0 ila216-1 | uint16 |
İmzasız 32 bit tamsayı | 0 ila232-1 | uint32 |
İşaretsiz 64 bit tamsayı | 0 ila264-1 | uint64 |
İyi günler, harika makale için teşekkürler, çok yardımcı oldu!
Ancak, bir sorun ortaya çıktı. Belki birileri bununla karşılaşmıştır.
Bir Uzman Danışmanı kapatırken, MT5 onu kapattığımda tamamen kilitleniyor. MS Visual Studio2010 + Matlab r2011a kullanıyorum.
Sizce nedeni ne olabilir? Şimdiden teşekkürler!
İyi günler. Her şeyi makaledeki gibi yaptım, ancak TestMlEngine komut dosyasını çalıştırırken bir hata ortaya çıktı:
2011.12.17 15:55:23 TestMLEngine(EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
ve sonra hemen:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxGetSizeOfName' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxGetLogical' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxInputChar' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxOpen' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxClose' bulunamıyor
Forumda bir yerde bunun eksik dll'lerden kaynaklandığını buldum, depends.exe yardımıyla neyin eksik olduğunu buldum, aynı klasöre attım, yardımcı oldu, ama tam olarak değil. şimdi gösteriyor:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
ve liste "Bulunamıyor..." ile devam ediyor. Bana sorunun ne olduğunu söyleyebilir misiniz? Zaten bir haftadır uğraşıyorum...
Evet, Win7 + Matlab R2011a + VS201 var.
.
İyi günler. Her şeyi makaledeki gibi yaptım, ancak TestMlEngine komut dosyasını çalıştırırken bir hata ortaya çıktı:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
ve sonra hemen:
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxGetSizeOfName' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxGetLogical' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxGetDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputLogical' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputInt' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) Cannot find 'mlxInputDouble' in 'LibMlEngine.dll'
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxInputChar' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxOpen' bulunamıyor
2011.12.17 15:55:23 TestMLEngine (EURUSD,H1) 'LibMlEngine.dll' içinde 'mlxClose' bulunamıyor
Forumda bir yerde bunun eksik dll'lerden kaynaklandığını buldum, depends.exe yardımıyla neyin eksik olduğunu buldum, aynı klasöre attım, yardımcı oldu, ama tam olarak değil. şimdi gösteriyor:
2011.12.17 15:57:59 TestMLEngine (EURUSD,H1) Cannot open 'C:\Users\H_F_M\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (127).
ve liste "Bulunamıyor..." ile devam ediyor. Bana sorunun ne olduğunu söyleyebilir misiniz? Zaten bir haftadır uğraşıyorum...
Evet, Win7 + Matlab R2011a + VS201 var.
Matlab'ı yüklediğimde Sistem yolu sadece "C:\Program Files\MATLAB\R2011b\bin" idi. "C:\Program Files\MATLAB\R2011b\bin\win32" ekledim. Matlab dizinindeki Dll'ler görünür hale geldi ve Matlab Engine başladı. Bundan önce dll'leri göremediğimi yazmıştım.
İyi günler) Başka bir sorunum var - Borland C++ Builder 6 yüklü olmasına rağmen, bazı nedenlerden dolayı "Borland" kataloğu <MATLAB>\extern\lib\win32\ klasöründe bulunmuyor. Buna bağlı olarak libeng.lib ve libmx.lib dosyaları da projeye bağlanamıyor. Far, "implib libeng libeng.lib libeng.dll" komutunda aşağıdakileri verir:
)
Ve Borland klasörü orada değildi ve hala da değil... Birisi bana bu sorunla nasıl başa çıkacağımı söyleyebilir mi? Ya da en azından bu iki dosyayı atacak mı?:-)
Genel olarak, lütfen yardım edin, çünkü bir şey anlamıyorum....
Deneyin saflığı için 2 sistem kurduğum VMware'i kurdum - XP ve 7.
Sonra Matlab R2011b'yi kurdum, MCR'yi kurdum, MT5'in en son yapısını kurdum. Makaleye ekli arşivden, arşivdeki talimatlarda yazıldığı gibi tüm dosyalar klasörlere dağıtıldı. mq5 dosyalarını ex5 olarak derledim (yani arşivdeki mevcut ex5 dosyalarını sildim ve yerlerine yeni derlenmiş olanları koydum). MT5'i başlatıyorum, Matlab'ı başlatıyorum (başlatmamayı denedim - sonuç aynı), terminalde TestMlEngine'e tıklıyorum ve bana şunu veriyor:
TestMLEngine (EURUSD,H1) 13:44:58 Cannot open 'C:\Users\User\AppData\Roaming\MetaQuotes\Terminal\DEA4AAFB99C996D79821EC8BDBADDC3C\MQL5\Libraries\LibMlEngine.dll' (126)
TestMLEngine (EURUSD,H1) 13:44:58 Cannot find 'mlxClose' in 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxOpen' bulunamıyor
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxInputChar' bulunamıyor
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxInputDouble' bulunamıyor.dll'
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxInputInt' bulunamıyor
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxInputLogical' bulunamıyor
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine. içinde 'mlxGetDouble' bulunamıyor.dll'
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxGetInt' bulunamıyor
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll'
TestMLEngine (EURUSD,H1) 13:44:58 'LibMlEngine.dll' içinde 'mlxGetSizeOfName' bulunamıyor.
Ne yapacağımı bilmiyorum. Yapabileceğim her şeyi denedim. "MQL5 için bir DLL kütüphanesi nasıl yazılır ve 10 dakika içinde veri alışverişi nasıl yapılır?" () makalesindeki DLL 'yi denedim.(https://www.mql5.com/ru/articles/18)- sorunsuz çalışıyor.
Biri bana başka nasıl ulaşabileceğimi söyleyebilir mi? Neyi yanlış yapıyorum?
Şimdiden teşekkürler.

- 2010.01.27
- MetaQuotes Software Corp.
- www.mql5.com
Matlab'ı yüklediğimde Sistem yolu sadece "C:C:\Program Files\MATLAB\R2011b\bin" idi. "C:\Program Files\MATLAB\R2011b\bin\win32" ekledim. Matlab dizinindeki Dll'ler görünür hale geldi ve Matlab Engine başladı. Bundan önce dll'leri göremediğimi yazmıştım.
Path ortam değişkenini kastediyorsanız, ona "C:\Program Files\MATLAB\R2011b\bin\win32" ekledim, ancak durum değişmedi :-(

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale MetaTrader 5 ve MATLAB Etkileşimi yayınlandı:
Bu makale MetaTrader 5 ve MatLab matematiksel paketi arasındaki etkileşime ilişkin ayrıntıları içermektedir. Ayrıca MatLab masaüstü ile etkileşimde bulunmak için evrensel bir kitaplık geliştirme süreci olan veri dönüştürme mekanizması gösterilmektedir. Bunun yanı sıra MatLab ortamı tarafından oluşturulan DLL kullanımını da kapsamaktadır. Bu makale, C++ ve MQL5 hakkında bilgi sahibi olan deneyimli okuyuculara yöneliktir.
Bu etkileşim yöntemi mükemmel ve hızlı olarak adlandırılamaz, ancak en güvenilir olanıdır ve tüm MATLAB paketini kapsar. Tabii ki, nihai model geliştirme hızından da söz etmeliyiz. Geliştirmenin özü, MetaTrader 4/5 ve MATLAB Engine etkileşimi için evrensel bir kitaplık sarmalayıcı yazmaktır. Bundan sonra MetaTrader 4/5 script dosyası/göstergesi/expert'i MATLAB sanal masaüstünü yönetebilir. Ve tüm matematiksel algoritma, MQL-programında dizeler olarak saklanabilir; böylece fikri mülkiyetinizi korumak için kullanabilirsiniz (daha fazla ayrıntı için "Geliştiriciler, Kendinizi Koruyun!" makalesine bakınız). Ayrıca, <MetaTrader 5>\MQL5\Libraries klasöründe ayrı m-işlevleri veya P-işlevleri dosyalarında saklanabilir.
Bu tür etkileşimin olası uygulama alanları şu şekildedir:
Devam edelim. Umarım 1.1 MATLAB ve MQL5'teki Veri Türleri, 1.2 MQL5 ve MATLAB Veri Türlerini Karşılaştırma, 2.1 MATLAB Engine API ve MCR İşlevleri ve 2.3 C++ Standart Giriş/Çıkış Kitaplığı bölümlerini okumuşsunuzdur; zira artık onların üzerinde durmayacak ve analiz etmeyeceğiz. Gelecekteki kitaplık algoritmasını gösteren aşağıdaki blok şemasını dikkatli bir şekilde okuyun:
Yazar: Andrey Emelyanov