DDE is obsolete and limited technology. If you found it easier, then just use it.
What is the point ?
1) DDE is obsolete and limited technology. If you found it easier, then just use it.
What is the point ?
add 1) But obviously it is widely used and therefore still part of Windows 10 (64bit) and that's the reason why I am wondering that this way of a trade copier does not exists and we can be sure it wont be changed any more! So it is quite likely that it will survive even the next Windows (11, 12, Super, ..?) while other things would need an update or upgrade..!
add 2) Actually I have no time but may later..
Well not all things need an update or upgrade.
I have one that simple writes to file and each instrument is assigned a value 0 for no positions, 1 for a long position, and 2 for a short position.
The file is then served by a web server, and all clients read the file and synchronize to it by opening and closing positions accordingly.
No DLL or DDE needed and it would only stop working when file read and write themselves stop working which is highly unlikely.
Well not all things need an update or upgrade.
I have one that simple writes to file and each instrument is assigned a value 0 for no positions, 1 for a long position, and 2 for a short position.
The file is then served by a web server, and all clients read the file and synchronize to it by opening and closing positions accordingly.
No DLL or DDE needed and it would only stop working when file read and write themselves stop working.
If you use FileRead and -Write from kernel32.dll and a ram-disk this can be quite fast but still needs e.g. FileExists, FileOpen, FileRead, FileClose and eventually a FileDelete or a local management of what has been read and what is new and all that needs the overhead to catch errors and what to do in this cases ...
I assume that a DDE solution would need much less code in OnTimer().
I just saw there is a DDE solution for MT5 that comes with it own DDE-Server!
Now I am wondering why there are quite some attempts for trade-copiers based on pipes and sockets but not on that quite simple DDE which exists for Windows XP,Vista,7,8,10 and even Linux/Wine and probably MAC.
One only would need the ddeml.dll (from e.g. here even with an installation how-to) and an EA that check in OnTimer() whether there are new data available.
Here is even a client that shows what the MT4-DDE-Server sends without the need of Excel or Libre Office.
I think that a DDE connection could be quite easier coded than sockets or pipes.
- DDE is very old OS/2 and Windows 2.x 16-bit technology. It is very inefficient compared to Pipes or Sockets.
- DDE only works on the local session and not via the Network (anymore). The last version of Windows to support Network DDE was Windows XP.
- DDE is also much more complex to manage than Pipes or Sockets.
- DDE is very old OS/2 and Windows 2.x 16-bit technology. It is very inefficient compared to Pipes or Sockets.
- DDE only works on the local session and not via the Network (anymore). The last version of Windows to support Network DDE was Windows XP.
- DDE is also much more complex to manage than Pipes or Sockets.
add
- Inefficient - maybe but as it from times when the pc were much slower it may have been designed to be as fast as possible at that time and even faster nowadays?
- Locally is the way trade copier are meant to work - no?
- More complex? Look at the python code for a client I have found here:
# 'Request' example added jjk 11/20/98 import win32ui import dde server = dde.CreateServer() server.Create("TestClient") conversation = dde.CreateConversation(server) conversation.ConnectTo("RunAny", "RunAnyCommand") conversation.Exec("DoSomething") conversation.Exec("DoSomethingElse") conversation.ConnectTo("RunAny", "ComputeStringLength") s = 'abcdefghi' sl = conversation.Request(s) print 'length of "%s" is %s'%(s,sl)
add
- Inefficient - maybe but as it from times when the pc were much slower it may have been designed to be as fast as possible at that time and even faster nowadays?
- Locally is the way trade copier are meant to work - no?
- More complex? Look at the python code for a client I have found here:
Well not all things need an update or upgrade.
I have one that simple writes to file and each instrument is assigned a value 0 for no positions, 1 for a long position, and 2 for a short position.
The file is then served by a web server, and all clients read the file and synchronize to it by opening and closing positions accordingly.
No DLL or DDE needed and it would only stop working when file read and write themselves stop working which is highly unlikely.
This methos is very "painful" to SSD drives and shorten their lifespan.
Even for mechanical HDD it is a hard and even slow task.
You shouldn't use files for auto-copy, because if you download a large file now, or do some other heavier task with your HDD, it will harm your copier and you might lose milliseconds or even seconds, which could be crucial for trade-copying.
I made a DDE / EXCEL worksheet for MT4 and with thousands of adjustments, I'm now getting a 78% hit. I am not a programmer, but with great effort to develop some good algorithms after downloading the instruction books on the net. Impressive as some EA mql are starting from wrong premise, like: "if the average such, cross such number, then ....." As I said, I do not know anything about programming, but already had affinities with excel, so it was a This discussion is very relevant, and as for HD / SSD spending, it may be, but almost never exceeds 70%, this with two open mt4s and the edge, now I've been studying how to send excel orders to mt4, so it's going to make a lot of Money.
Good if you need help you can post a job here : https://www.mql5.com/en/job
- www.mql5.com
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I just saw there is a DDE solution for MT5 that comes with it own DDE-Server!
Now I am wondering why there are quite some attempts for trade-copiers based on pipes and sockets but not on that quite simple DDE which exists for Windows XP,Vista,7,8,10 and even Linux/Wine and probably MAC.
One only would need the ddeml.dll (from e.g. here even with an installation how-to) and an EA that check in OnTimer() whether there are new data available.
Here is even a client that shows what the MT4-DDE-Server sends without the need of Excel or Libre Office.
I think that a DDE connection could be quite easier coded than sockets or pipes.