What's the best way to broadcast an EA's signals?

 

Ok, so I think I'm close to coming up with a somewhat profitable EA. The thing is, no matter how good your EA is, there will always be losses. No one knows the future, and the best you can do is make an educated guess and hope your forex gambling winnings are greater than your losses. I think i understand now why some people sell their EAs rather than using them to bet their own money.

I'm willing to trade a potentially higher but volatile income for a lower-but-still-adequate, zero-risk, more stable income by monetizing my EA. The problem is that, based on what i've read, the moment you sell your EA, some degenerate thief is going to decompile it, steal your code, rebrand it and sell it as his own. I'm told even if i take some functions to a DLL that can be cracked too.

So that leaves me with only the option to broadcast signals to users in some manner, and charging a subscription fee for the service. I've heard that there are some services out there that take care of the broadcasting and user account management.

Does anyone here have any experience using such service and is there one you can recommend? I'm interested in a service that is secure, has low overhead costs, is stable, and preferably located in the US.

 

You don't need broadcasting. You create a simple EA that reads the signals off of your site. You could even release that code. The protection (account paid -> file location) would be on web server.

There are services that convert mql4 to encrypted DLLs and include periodic subscription check. Decompiling mql4 is easy. Decompiling a Dll is harder. An encrypted DLL would be tough.

 
WHRoeder:

You don't need broadcasting. You create a simple EA that reads the signals off of your site. [...]

Yes and no. You seem to be implying that the EA repeatedly polls the server, e.g. using HTTP. The issue with that is the latency between the signal being put on the server and the EA collecting it. Let's say that you want a maximum of 1 second delay (ignoring the network latency between the EA and the server). That means that the EA has to issue one HTTP request every second. If you have 100 clients, that's 100 HTTP requests per second, or 8.6 million per day. While it's true that even a low-spec modern server might be able to handle that, it's still a very substantial level of traffic. For comparison, if you were running a normal website with 8 million page impressions per day then you'd definitely be in the busiest 10,000 in the world, and you might very well be in the top 1,000.

Of course, you can scale back the frequency of the requests from the EAs, but you've then got increasing issues about the price at which the broadcaster enters a trade versus the price at the time a client gets a signal. The viability of that depends on the nature of the system.

For an alternative to all this, send me a PM.

 
The EA does not have to issue a request every second. It has to open a TCP/IP connect and wait. The server sends the update when something changes, just like MT4.
 
WHRoeder:
The EA does not have to issue a request every second. It has to open a TCP/IP connect and wait. The server sends the update when something changes, just like MT4.

...And how, in the "simple EA" which you describe, does the EA respond to push notifications from a server? Calling Winsock functions such as connect() and recv() from an EA is not what I would personally call simple.

This also implies bespoke server-side software. Not a web (HTTP) server, as you describe above. It's just about possible to do some kinds of push over HTTP, but they are grossly unreliable - or completely unusable - with Wininet, which is about the only HTTP library directly usable from an EA without bespoke, non-simple code.

 
WHRoeder:

You don't need broadcasting. You create a simple EA that reads the signals off of your site. You could even release that code. The protection (account paid -> file location) would be on web server.

There are services that convert mql4 to encrypted DLLs and include periodic subscription check. Decompiling mql4 is easy. Decompiling a Dll is harder. An encrypted DLL would be tough.


Do you have an example of such services?
Reason: