Installation and setup. Cloud services.
Some tips for installing Zorro on your home PC or on a remote server:
- Zorro runs on any Windows PC from XP or Server 2012 on. Some broker APIs
(f.i. FXCM) require Windows 7 or better. For
installing under Linux or OS X, see below.
- You can install Zorro in any folder on which you have full access. Don't
use a path with blanks or special characters, such as cyrillic, chinese, accents, or diacriticals. Zorro itself has no problem with that,
but external
modules and some broker APIs have. By default, Zorro is installed in
your user directory (C:\Users\YourName\Zorro). But if YourName
contains blanks or foreign language characters, install it
elsewhere. C:\Zorro will always work.
- It is not recommended to install Zorro in a directory with restricted
access, such as the Program Files or Programs(x86)
directory.
If you still want to do it, switch off the Windows UAC
(User Access Control). Otherwise the UAC creates
shadow copies of your strategies in the ProgramData folder,
and redirects file access to the shadow copy. This can be confusing for
scripts and for users .
- Zorro runs fine from a USB stick. You'll need about 15 MB for a plain
installation with no historical data files.
- Zorro needs no installer. You can directly copy a Zorro installation
from one folder or PC to another.
Zorro on Linux or Mac
Although Zorro is a Windows program, users are also running it under Linux
and OS X with Wine. We
currently only support the Windows version, but you can find
threads on the
Zorro forum where Linux and Mac installations are discussed. The basic
steps:
- Install 32-bit Wine from
https://wiki.winehq.org/Download. The installation steps for Ubuntu/Mint
are described
here.
- Install Zorro from
https://zorro-project.com/download.php. By default it's installed in
the virtual Windows drive under \\users\\YourName\\Zorro.
- Alternatively to installing, copy a Zorro installation from the Windows disk
system or a USB drive directly into a suited Linux directory.
A supposed incompatibility of the current Wine version with the Windows COleDateTime
class causes Zorro backtest results under Wine to deviate slightly from backtest
results under Windows, due to variations in bar start and end times. The Wine
developers have been informed about that issue and it will be hopefully fixed in
future Wine versions.
Zorro in the cloud
For live trading, it is recommended to run Zorro not at home, but on
a virtual private server (VPS) hosted by a commercial service provider. You'll
get a fast and reliable online connection to the broker, regardless how bad
your internet is at home, and can access Zorro from anywhere. VPS are available
from many providers for a small fee, like $20 per month. It's recommended to
select a large and reliable company, like 1&1, Google, or Amazon, for hosting a
trading VPS. Amazon offers its EC2™ servers even free during the first year.
Installation with a broker or MT4 connection on a VPS is not totally easy to a beginner, so we're offering a VPS installation service on the
support page. If you want to do it yourself, here are the basic steps for setting up an Amazon VPS:
- Order a cloud server with Windows Server 2012, 2016, or 2019. You'll usually receive a server IP, a login name (normally "Administrator"), and a password from your provider. With Amazon you have to generate a key pair for
decrypting the password. You'll be walked through the procedure.
- Launch the server from your provider's website. When it's running, connect to the server. Under Windows, use the Remote Desktop Connection (under Accessories). Enter your access data, and a window will open where you can see the VPS desktop. It normally looks like a very empty Windows desktop. Alternatively to the Windows Remote Desktop Connection, you can install TeamViewer™ on the VPS - it's free for private use and more convenient to handle, especially for uploading or downloading files. The Windows Remote Desktop, as well as TeamViewer are also available for iPhone and Android, so you can control your VPS from anywhere.
- You can now install Zorro on the VPS. We recommend not to run the
installation program, but to copy the Zorro folder directly - it's a lot
faster. Start the Windows Explorer both on your PC and on the VPS. On your PC, right click on the Zorro folder, and select Copy. On the VPS, open a folder on
which you have full access rights - we recommend Users\Administrator - and right click on an empty space. Select Paste. Your Zorro folder will now be copied over to the VPS.
Make sure that the folder names do not contain foreign language characters - see above.
If you don't want to do backtests on the server and don't use the
PRELOAD flag, historical data files (*.t1, *.t6, *.t8) need not be
copied, which makes the process a lot faster.
- You can now start Zorro on the VPS, select your broker, enter your user name and password, and begin trading. Dependent on number of CPU cores and
amount of RAM on your VPS, you can trade with several Zorro instances simultaneously. Note that
backtesting large portfolio strategies - such as Z12 - will not work on cheap VPS with little RAM. Trading uses minimal memory and will
normally always work.
It is recommended to disable automatic Windows updates for preventing
reboots that interrupt the trading session. Make also sure that the time and the time zone of the VPS is set up correctly. It does not matter which time zone - you can either use your PC's time zone, or the VPS time zone, or any other time zone - but the VPS time must
match the zone. If it is wrong, Zorro will display a wrong UTC time in the server window, and strategies based on market open and close times - such as gap trading - won't work anymore. If in doubt, set the VPS to the
same time and time zone of your PC at home.
Running multiple Zorros
If one Zorro is good, many Zorros are even better. The free Zorro version can
trade with one broker and one account only. Zorro S allows to run many Zorro instances simultaneously with different scripts (for details about setting up
multiple connections, see Account List). How many Zorro instances can run at the same time depends on the broker
API, the Internet bandwidth, and the PC speed and memory resources. As an example, a Amazon EC2 Micro Instance can support
about 4 Zorro instances with a direct broker connection, or up to 2
instances with a MT4 connection.
If the parallel trading Zorros use different broker APIs, set the NOLOCK flag for speeding up API access. Otherwise a synchronization mechanism lets
any Zorro wait with accessing the broker API until other Zorros have finished their API access.
When running multiple Zorros with the same script, make sure that they don't
write into the same logs or temporary files. The Script
string and/or the LogNumber variable can be
used to let any Zorro generate different file names. For communication between
different Zorro instances, see Processes.
Surviving reboots
Rebooting a live trading server should be avoided. But if it still happens, the trading
session should be automatically resumed when the server restarts. Here's the
procedure - you'll need Zorro S since the free
version does not fully support command lines:
- Create a file startup.bat in the Zorro folder. Here's
an example that starts Global Prime MT4, waits 25 seconds, then starts a Zorro
trading session:
START /D "C:\Program Files (x86)\Global Prime - MetaTrader 4" Terminal.exe
TIMEOUT 25
START Zorro.exe -trade MyStrategy -stay
- Right click on startup.bat and select Create Shortcut.
- When the shortcut has been created, right-click it and select
Cut.
- Hit Windows-R to open the Run window.
- In the Run window, type shell:startup to open the
Startup folder.
- When the Startup folder has been opened, click the Home tab at the top
of the folder and select Paste to paste the
shortcut into the folder.
The startup.bat file will then be executed at any reboot. Depending on the
Windows version, the Startup folder can be different - on older versions it's
named Autostart
and you can edit it with msconfig. On Windows Server, open
Administrative Tools / Task Scheduler and enter the task
with the properties "Start a program" / "When the computer
starts". Please note that some server configurations are reported to start
Zorro in minimized mode with no GUI when no user is logged in. In this case, use
"At Log on" rather than "At startup", specify the user account in the task
properties, and use the Microsoft Sysinternals Autologon program to establish
automatic logon at start.
Zorro on a fallback server
A server breakdown due to a hardware failure can be fatal for some trading
systems. In such a case, a fallback server should immediately take over the
trading when the original server becomes unresponsive. This is the suggested
setup of such a configuration:
- The fallback server must contain a Zorro installation with a twin of the
trading system and all necessary files. It should be accessible from the
trading server either through an IP address or as a mapped network drive.
- The trading system continuously counts up a 'heartbeat' variable and
stores it on the fallback server with a
putvar
call. This variable serves as signal that the trading server is still
running.
- At any relevant change of the trading status, i.e. opening or closing a
position, or change of an essential trade or algo variable, the trading system saves its status on the fallback server with a
saveStatus call.
- The system on the fallback server checks the heartbeat variable
continuously for detecting a problem with the original server. If the
heartbeat variable stops counting, the fallback system loads the trading
status with a loadStatus call, sends an
email to notify the user about the problem, and
takes over the trading.
- The fallback server can also send a similar heartbeat variable to the
trading server. In this way the trading system can detect a breakdown of
the fallback server, and notify the user by email about the problem.
- When trading server and fallback server are not physically located on
the same network, heartbeat and trading status can be exchanged via
ftp_upload or
http_transfer commands.
Starting a script at a specific time / date
If you want to start a session every Monday at 15:30 pm, you can do that with
the Zorro command line and the Windows Task Scheduler. Here's the procedure - you'll need Zorro S since the free
version does not fully support command lines:
- Open the Task Scheduler (on German Windows
versions: Aufgabenplanung).
- Under Action, open a new task. Use a weekly
(or daily, or monthly) trigger with the desired start time.
- For the task, select Start Program. In the
program window, enter the Zorro task, for instance:
C:\Users\MyName\Zorro\Zorro.exe -trade MyScript
Control the task's properties, then save and finish. It should now
appear in the scheduler's task list.
Trading status on a website
It is recommended that you regularly observe Zorro's trade list, profit status, and messages on your PC or smartphone. For this
purpose, Zorro displays the trade status and the message window permanently on a
website that's updated once per minute. The tricky part is to make that page
visible on the Internet. Here's the instruction for Amazon EC2 with Windows Server 2012
/ 2016 (similar for Google Cloud instances):
- Open your VPS desktop with Windows Remote Desktop or TeamViewer, and use the Server Manager to add a new role. From the selection of roles, select "Web Server (IIS)". Windows will walk you through the setup - the default settings will do - and install the server.
- In the Amazon EC2 dashboard, select the "security group" of your instance and add a new inbound rule. Select "HTTP" with port 80. This will make your website visible to the public.
On a Google Cloud instance, make sure that HTTP and HTTPS traffic is enabled.
- In the zorro.ini file, edit WebFolder and set it to the web folder of your server. The default web folder of a Windows server is normally C:\inetpub\wwwroot.
- You can now visit Zorro's trade status page through the public IP address of your server - for instance, by entering
http:\\198.765.43.12\Z12.htm in your browser's address field. Note that anyone else who knows this address can observe your trade success!
So you might want to add an authentication
role to the IIS web server, or hide the status page in a cryptic
subdirectory.
Zorro as trade signal provider
This is for Zorro S users only, as the free Zorro license does not permit providing trade signals. Some trade copy services such as ZuluTrade™ offer a free VPS for their signal providers. The VPS is already configured, completely with MT4, but it's a little tricky to copy Zorro onto it. Here's the procedure for ZuluTrade, step by step:
- Open a MT4 demo account with a broker of your choice (f.i. AAAFx, Zulutrade's own broker). When starting MT4, you'll get a form for adding an account; write down the login number and the password that you'll see in the MTR4 welcome message. You can deinstall MT4 afterwards, as you only needed the login data. The MT4 demo account will not expire unless the broker goes broke or the account is inactive for
30 days.
- Register as a trader on ZuluTrade. On the MT4 link settings, give the login number and password from the previous step. Zulutrade will now link your trader account to the MT4 version. If that was successful, you'll get a button under your [Settings] tab for connecting to your VPS. Note that sometimes you have to wait a couple of weeks until a free VPS slot is available and the button appears.
- Click the [Connect] button to open the VPS. The VPS desktop will appear in your browser. Compress a copy of your Zorro folder to a single zip archive; strip it before from files not needed for trading, such as the content of the Log folder, or the price data files in the History folder. A stripped down Zorro archive has only a size of about 10 MB. Upload the zip file to the VPS. With Zulutrade, you can do this with the upload manager: click on the half-transparent round icon at the top of the VPS desktop, then click [Select Files] and navigate to the Zorro zip file on your PC.
- Once the archive is uploaded, open the folder on the VPS that receives uploaded files - on the ZuluTrade VPS it's the ZuluHDD folder. You can now open the archive and drag the Zorro folder inside over to the MTR4 Experts folder. Zorro can run from anywhere, so it's no problem to have it in a MTR4 subfolder.
- Now install the MT4 bridge on the VPS. You can now start MT4 and Zorro on the VPS, select your strategy, click [Trade] and begin generating trade signals.
When you provide signals, please play fair in the interest of your followers. Do not use martingale or similar methods, even though this might attract more followers at first. In the end, only the few signal providers that survive more than one or two
months will earn long-term trust and profits.
See also:
Brokers, Getting Started,
engine API
► latest version online