No Trade-Copier Based on DDE for Win XP,Vista,7,8,10 and even Linux/Wine ..?

To add comments, please log in or register
Carl Schreiber
Moderator
7069
Carl Schreiber  

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.

Alain Verleyen
36033
Alain Verleyen  

DDE is obsolete and limited technology. If you found it easier, then just use it. 

What is the point ?

Carl Schreiber
Moderator
7069
Carl Schreiber  
Alain Verleyen:

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..

Marco vd Heijden
Moderator
8151
Marco vd Heijden  

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.

Carl Schreiber
Moderator
7069
Carl Schreiber  
Marco vd Heijden:

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().

Fernando Carreiro
4315
Fernando Carreiro  
Carl Schreiber:

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.
Carl Schreiber
Moderator
7069
Carl Schreiber  
Fernando Carreiro:
  • 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

  1. 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?
  2. Locally is the way trade copier are meant to work - no?
  3. 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)
    

Fernando Carreiro
4315
Fernando Carreiro  
Carl Schreiber:

add

  1. 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?
  2. Locally is the way trade copier are meant to work - no?
  3. More complex? Look at the python code for a client I have found here:
Well, then go ahead a make a Trade-Copier with DDE and you will soon see why it is not as easy or as practical as you think!
Tom Sasson
187
Tom Sasson  
Marco vd Heijden:

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.

MARCOFRANCA
23
MARCOFRANCA  
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.
Marco vd Heijden
Moderator
8151
Marco vd Heijden  
MARCOFRANCA:
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

Trading applications for MetaTrader 5 to order
Trading applications for MetaTrader 5 to order
  • www.mql5.com
Monitor system condition braking down the system components reliability using probabilistic prediction and evaluation models in real-time, mining data from database for analysis and evaluation of faulty conditions in the system, then printing a report to the system interface for decision making. To create EA that opens/closestrade using...
12
To add comments, please log in or register