Case Study: Fixing the MetaTrader 4 Account Issue on a Forex VPS
We have always claimed that our clients are our biggest asset and we firmly stand by that statement. Not only our users are heavily involved in the feature development of SPanel, but even their issues can be a great source for improvement.
Regardless of the project you’re undertaking, issues will inevitably arise. How you deal with them is what’s important, and that’s where having a reliable hosting provider comes into play.
In this series of articles, we give YOU, the Client, a chance to share your experiences and help others that might face the same issue.
Without further introduction, let’s dive in today’s topic.
The Project
Neil Milligan is a ScalaHosting client on a custom Forex VPS plan. Neil is a kitchen designer turned Forex trader, and he quickly became proficient enough to run his own server.
Choosing Scala, Neil had an exact plan – running multiple MT4 installations with multiple Expert Advisors (28) on each installation without downtimes and all on one Windows server.
Here is Neil’s story, told from his point of view:
At the New York data center, I was able to secure a VPS server with 16 processors, 24GB RAM, and a 100GB SSD hard drive. On there, I installed a whopping 97 MetaTrader 4 installations – 87 of them have 14 Expert Advisors, and the other 10 have 8 EAs (Live Accounts). That has enabled me to finally configure a stable testing platform for my Forex Trading business.
The Issue
A problem arises when you try to run multiple MetaTrader 4 installations with numerous Expert Advisors (EAs) on each instance and on the same Windows Forex server. In my case, I needed to run as many as 28 EAs on each MT4 installation.
The problem that I kept running into was that when you had more than about 6 installations, the pc would start slowing down and after about 12 – 15 installations become inoperable and unstable. Even though I may only be using as little as 5-10% of the memory or cpu processing power. From research thai is primarily due to the MT4 coding being from such an old original source and not being specifically created to run on multiple processor machines.
The Research
Running this configuration with multiple MT4 accounts was crucial for Neil’s Forex project. This is why he started digging around for a solution.
What followed was mountains of reading online articles on forums and message boards:
While the best articles that he discovered eventually aided him to the right solution, there were numerous searches that led down to dead-end alleys and useless articles that weren’t of much help.
Here is the working solution that Neil actually came up with.
The Solution
Here is a breakdown of what is needed:
- Multiple Users;
- Set up an RDC Manager to log on to all the user accounts on your Forex server;
- Install multiple MetaTrader 4 accounts;
- Split the MT4 accounts to use one processor only and not all available ones;
- Separate the MetaTrader 4 accounts into maximum blocks of 12. A smaller number of blocks is recommended if they will be under heavy use;
- Keep a check that you’re not using too much % of your CPU or RAM in your task manager or server control panel. Ideally, you should keep resource consumption under 75%, and even occasional spikes should not exceed 100%.
Doing all of the above should give you a very stable and fast MT4 Server experience, and with ScalaHosting, you can add extra CPU and memory on the go, which makes it easy and affordable to just use what you need without paying for waste.
Let’s now focus on each step:
After purchasing your Windows Forex VPS, it’s time to add the users.
- Multiple Users
- Log in to the Windows server.
- Search for Computer Management.
- Navigate to Local Users and then Groups.
- In the next window, expand Local Users and Groups, then right-click on Users and select New User.
- This will open the next window where you can input the details of your user(s).
- Below the section where you key-in the passwords, you will see four options connected to how the password will be treated. Choose the one that makes sense to you then proceed to click on Create to add the user.
- Now, click on the Users folder while still in Computer Management to get a list of all existing accounts. Right-click the name of the specific user and select Properties.
- A new Username Properties window will come up. Click on the Member Of tab, then Add.
- You should see a smaller Select Groups window. Select Administrators and then Check Name. If the group is found within the VPS server, click on OK. With that, you have added your user to the Administrators group.
- Now, repeat the above steps but with Remote Desktop Users.
- Repeat the above for every user that you wish – in my case, I used Users for each section of test accounts on MT4 I was setting up.
- RCD Manager – I started with the link to download an RCD with full instructions from the official Microsoft Learn resource.
- Download the file from the link above to a PC you can access the server from.
- Add your Server.
Server Settings
– Server Name – the address from your server provider – i.e. Scala
– Display Name – The name you want to see to identify the Project
– Login Credentials – untick Inherit from Parent – Your name and password that you used in User creation
Note that there can be display issues if you have a multiple monitor setup. I overcame this by the following in Display Settings and Remote Desktop Settings.
To access the server, just double-click on the user you want to access.
- Installing Multiple MetaTrader 4 Accounts
In my case, to make things easy, I created a MetaTrader 4 account on my drive and then populated it with the different users for each MT4.
I then installed MetaTrader 4 in the normal method into the first account and then copied and pasted that into all the subsequent folders – when you then open each one up for the first time it will open each account with its own set up.
- Split the MT4 accounts to use 1 processor only and not all available ones.
NOTE: This step speeds up the whole process of using MetaTrader 4 on a Forex VPS. If you don’t do this – multiple processors and MT4 will quickly lead to performance issues.
In each of the above folders you have created, find the Terminal application, right-click, and create a shortcut.
Place the shortcut where it is more convenient for you.
Right-click on the shortcut and open the Properties menu.
In the Start In field, input the destination folder that your Terminal is in.
In Target, type in the following line. changing the number after affinity to the required number of the processor that you require from the chart that follows:
%ComSpec% /C Start /High /Affinity 20 terminal.exe
Processor Number Chart – Currently, with ScalaHosting, I am using 16 CPUs, and the HEX column is the number you will need to place in the above stage.
The Happy End
I came across ScalaHosting looking for a server provider that would guarantee no resource sharing and was very scalable up and down – within minutes of me realizing I need or don’t need additional resources.
The custom VPS plans were right up my alley as I was not only able to secure all the needed CPU and RAM, but to also host a Windows-based server.
I could not recommend the ScalaHosting cloud VPS services highly enough and would like to stress that having a managed service if you’re not that techy (like myself) is definitely worth the extra money.
It’s always great when issues have a happy end, and you can contact the ScalaHosting Team to see if your online project can find a great new home as well!