“Would any of you using NJ4X mind sharing about your interface setup?”
OK, you need to be a sophisticated programmer in either Java or C# Visual Studio, in order to do a significantly complex system layered on the NJ4X API. But it is a thread-safe high performance API which allows you to designate MT4 “server” processes, full “terminal.exe” processes running separately, connected to your code through the NJ4X Terminal Server. To some extent, NJ4X is “future proof” as it also has an MT5 API which nobody wants to use, but which MetaQuotes is determined to force on everybody.
Multiple MT4 “terminal.exe” process pools can be created in NJ4X for super high performance “round robin” parallel processing; and cross-brokerage access. In my case, I can replicate management of many dozens of orders on one brokerage; into many other “slave” brokerages, all accessed using NJ4X “MT4 server pools”. It is really incredible, and really fast; from a retail trader perspective.
So you will need to have either a dedicated bare metal server; or a high performance VPS server. I find that SeedVPS offers KVM based Windows Servers which have both dedicated Xeon processors, and dedicated memory which is always available for you to use. This is true, even though these are VPS systems which are a “slice” of a much larger piece of hardware. Hundreds of threads of execution can easily be handled and, to give an example, 4 Xeon cores and 8gb of memory costs me $40 / month. Very good value.
“As I understand, @HyperScalper is using NJ4X and had success with Linux/WINE.”
Linux, for me, is painful, but once it is set up it is rock solid. PlayOnLinux, I’ve found is one of the easiest ways of configuring a WINE 32-bit subsystem on Linux, where I’ve used only Centos 6.x Linux. It is so painful, and WINE isn’t always perfect; that I migrated my NJ4X components onto front-end VPS servers running Windows 2008 Server. Although NJ4X is in Java, the “terminal.exe” processes which are “cloned” and used, are 32-bit Windows executable processes. So if you’re a Linux genius, then maybe you can do just about anything; but I always worried my WINE config would “break” and I wouldn’t be able to figure it out.
“Are updates needed from the NJ4X vendor when MT updates?”
NJ4X software versions are frequently updated; but they are independent mostly of the versions of MT4. As I understand it, MetaQuotes (desperate to force us off MT4) are no longer distributing 32-bit MT4; so any copy from any of the MT4 brokers is equivalent and can be used as the “clonable version”.
“Did you end up with a pure MS Windows installation?”
Well, usually you want the Terminal Server to be on the same machine as your client software. But I think it’s possible to distribute the system; you’d have to consult with the author of NJ4X. I’d suggest using Windows Server 2008, for best usage of memory; but installing 32-bit CYGWIN and putting the cygwin “bin” folder on the System Path so that you can use “hybrid” Linux and Windows commands interchangeably, e.g. mv .\update\x.jar . (Note the \ instead of the / but it makes it easier for a Linux guy).
“I prefer running a Linux VPS headless using non-GUI APIs, but don’t adapt well to changing brokers with their different APIs, so I’m thinking to take the plunge back to MT to access the overseas MT brokers.”
This is absolutely the best environment for complete broker portability through the ubiquity of the MT4 platform. Of course you have to code everything !! It’s like being able to write super-sophisticated, multi-threaded Expert Advisors without ever having to deal directly with MQL4. Instead, you write in Java or C# . In my case, it’s Java.
“Can you avoid MS Windows completely? If not, can you recommend some MS Windows VPSes (Low cost; Decent performance; 1 or 2 brokers to start)?”
Since MT4’s “terminal.exe” is a 32-bit Windows process, no you cannot avoid Windows entirely; for that portion of the system. The rest is in pure Java or in Visual Studio C# where you have complete freedom to write headless or GUI interactive code or any mixture of the two.
“Any other advice?”
YES. Be sure you are a “real programmer” or willing to suffer to become one. Otherwise, it is difficult to significantly leverage the amazing power of NJ4X.com as an API framework. It’s not “Hello World”; in my case I have hundreds of thousands of lines of Java code. So don’t try this unless you’re capable.
Maybe make a deal with someone who already has a system they’re willing to share with you? Or be prepared to suffer for years, acquiring the skills you’ll need to write your own algorithms… ?
You are very welcome. hyperscalper