Open kuyzhou opened 9 years ago
it shouldn't because I was ever using a MT4 build>=600 when I create this project. But I haven't use this project for some months.
Try to compile DLL
In fact, the project Rabbit4mt4 would be built successfully.
Here is the size of each related files copied into the MQL4/Libraries folder FYR:
11,264 Rabbit4mt4.dll
2,171 Rabbit4mt4.exp
3,852 Rabbit4mt4.lib
28,160 Rabbit4mt4.pdb
23,168 Rabbit4mt4.vshost.exe
490 Rabbit4mt4.vshost.exe.manifest
249,856 RabbitMQ.Client.dll
329,760 RabbitMQ.Client.xml
And btw, I've also checked my current MT4 version is up to 840.
I haven't test it soon with a recent MT4 build.
Please try to fix (that's open source)
You may be also interested by this project from an other developer https://github.com/OpenTrading/OTMql4AMQP
Hi!
I have an issue too. I managed to compile the dll, but when I would like to try it out using rabbit4mt4_ticks_emit
EA, it doesn't work.
I get these errors on initialization:
Cannot find 'InitializeMQConnection' in 'Rabbit4mt4.dll'
unresolved import function call
rabbit4mt4_ticks_emit EURUSD,M1: not initialized
rabbit4mt4_ticks_emit EURUSD,M1: uninit reason 8
I'm using build 840. Obviously the dll is found, but I cannot understand why it can't find the functions inside. I then commented out the line with InitializeMQConnection()
in the ea and then it throws the same error with DispMQVersion()
which is the next function in line, so I guess all the functions are somehow affected.
Thank you for any suggestions.
Hi,
I'm really sorry I lose interest in this project (for now).
DLL was made using "unmanaged exports"
I was using these articles to create this project http://vb6-to-csharp.blogspot.com/2011/08/write-csharp-c-dll-for-metatrader.html http://vb6-to-csharp.blogspot.com/2012/04/code-to-export-c-dll-to-metatrader.html https://sites.google.com/site/marketformula/vb6-to-c/vb6-to-c-downloads/code-to-export-c-dll-to-metatrader https://www.mql5.com/en/articles/249
You might have a look also at this article http://vb6-to-csharp.blogspot.com/2014/05/code-to-export-c-dll-to-metatrader.html
You need this Nuget package https://www.nuget.org/packages/UnmanagedExports
I suggest to try to create yourself a very basic DLL which could expose for example an add function which could add 2 integers and return result or a function which could display a message box and see if your DLL is working fine with your MT4 installation
You might also add logger http://www.codeproject.com/Articles/80175/Really-Simple-Log-Writer it could help
An other approach could be to avoid DLL and use named pipes https://www.mql5.com/en/articles/115 https://www.mql5.com/en/articles/503 https://www.mql5.com/en/code/10865
or have a look at projects like https://github.com/OpenTrading/OTMql4AMQP https://github.com/OpenTrading/OTMql4Zmq https://github.com/OpenTrading/OTMql4Py https://github.com/OpenTrading/OTMql4Lib
Kind regards
Hi Femtotrader,
I have been following the instruction step by step to make a test in my local Win7 64bit machine. Using the send.bat & receive.bat scripts proved the RabbitMQ runs well. However, when I was launching the EA
rabbit4mt4_ticks_emit
, I got the error below in the console:May I know if any additional steps we have to make for using with MT4 in version 600+?