📜 ⬆️ ⬇️

Creating trading robots: 11 development tools



In our blog, we pay a lot of attention to the issues of algorithmic and automated trading on the exchange, considering both theoretical aspects, such as the choice of programming language, and practical ones, for example, the implementation of event-based backtesting in Python.

Today we present to your attention a selection of programming environments and tools for creating trading robots.
')

TradeScript (SmartX)


In the ITinvest trading terminal called SmartX there is a special plugin with the TradeScript robot designer. Using a simple but fairly powerful scripting language, traders can create mechanical systems of various levels of complexity.

There is also a backtesting module that allows you to evaluate the performance of the programmed strategy on historical data. In addition, the opportunity to test the trading system “on the fly” using current exchange data, but without taking an order on the stock exchange - the time of the virtual transaction, the price and the resulting yield will be shown in a separate window.



TradeScript language was originally created by the American company Modulus FE specifically for writing trading robots on it. It is quite easy to learn, and many of the algorithms are similar in writing to Metastock, which makes it easier for users who are familiar with this software package.

The advantage of TradeScript in comparison with Wealth-Lab and the same Metastock is the absence of the need to create complex structures and use different connectors to send orders to the trading terminal. The robot designer is built into the SmartX, which makes it possible to achieve much higher reliability and speed.

Below is the trade strategy trading code:

Buy Signals # ,        TREND(EMA(CLOSE, 20), 15) = UP AND TREND(MACD(13, 26, 9, SIMPLE), 5) = UP Sell Signals # ,        TREND(EMA(CLOSE, 20), 15) = DOWN AND TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Long Signal # ,         TREND(EMA(CLOSE, 20), 15) = DOWN OR TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Short Signal # ,         TREND(EMA(CLOSE, 20), 15) = UP OR TREND(MACD(13, 26, 9, SIMPLE), 5) = UP 

In addition, the user can run as many simultaneous algorithms as the processor’s clock speed and computer memory will allow. Given the large number of words and operands of the scripting language, this means the possibility of creating any complex trading strategies.

We discussed the issue of writing trade robots on TradeScript in more detail in our previous materials ( first , second ).

CQG Integrated Client


This is a professional multifunctional technical analysis platform, popular with traders all over the world, providing real-time quotes from a variety of trading platforms. The program also provides opportunities for the automation of trade operations.

Well-lab


Created by Fidelity International, the most powerful system for technical analysis, development and testing of trading strategies. You can create trading robots using the built-in programming language WealthScript. The latest versions of the system also use C # and other .NET-languages.



TSLab


The TSLab tool allows merchants to create mechanical systems of varying degrees of complexity. There are opportunities to create a trading robot and test it on historical data. There are various modules of the program, for example a risk management module, which, before sending a request to the exchange, checks it for compliance with specified conditions. If the order does not satisfy them, it will be rejected. Thus, you can enter additional control over the script.

What is important for traders who do not have programming skills, the logic of the robot can be implemented using a flowchart.



LiveTrade (CoFiTe)


The LiveTrade software package was created by the developers of the St. Petersburg company CoFiTe. Among other things, it includes a software solution for creating trading robots - Robotlab. This tool, like TSLab, allows traders to create automated trading systems using flowcharts in the visual designer:



After the trading logic of the application is implemented using a flowchart, it can be run in the terminal.

TradeMatic


Another tool that allows you to create trading robots using a visual designer without programming as such. Provides the ability to test the resulting robot using the built-in source of historical data.



There are various modes of operation of the trading system — from manual, in which the execution of signals requires placing orders with hands, to fully automatic, when all trading signals are immediately executed without requiring the participation of the trader.

Smartcom


The open interface of the ITinvest trading system also allows traders to create trading robots of varying degrees of complexity and connect external development environments and the trading systems already created in them. Using the component object model allows you to connect to the broker's trade servers mechanical trading systems written in various programming languages. For example, C ++, any of .NET languages ​​(C #, VB.NET and others), Visual Basic, Visual Basic for Application (in particular from Microsoft Excel) and many others.

There is also an additional SmartCOM plugin for the AmiBroker software package, the use of which facilitates the analysis of downloaded data.

MetaStock


Also popular overseas product. The MetaStock system contains an extensive library of indicators and tools for creating your own formulas. A simple programming language is also provided; with the help of additional modules, it is possible to generate buy and sell orders.

Like the Wealth-Lab in the Russian market, it is used in conjunction with trading terminals operating with additional libraries. This can lead to various difficulties of integration, as well as adversely affect the reliability of the resulting bundle.

StockSharp


Free in the basic version of the platform StockSharp open source. Based on it, products for creating trading robots have been developed.

As the developers themselves write in their article on Habré , the StockSharp project is built according to the classical model of complex software development. In the beginning, a kind of foundation is created (S # .API), and already with it, high-level add-ins are created.

Currently, the S # team has implemented a full range of software tools for algorithmic traders - a system for collecting and storing historical data (can distribute data in server mode), a system for testing history, a number of graphical components.

As a result, in fact, a day a trader can develop a full-featured module for connecting to trading, displaying graphical information and testing the created strategy on historical data.



Quik


The name of the system is an abbreviation for Quickly Updatable Information Kit. Initially, Quik was an information system, the “chip” of which was a high speed of data delivery, but subsequently the product evolved. Prior to version 6.4, Quik provided a built-in Qpile scripting language. It had a small set of features compared to high-level languages ​​(C # or C ++) and was used mainly to automate simple trading strategies.

Its advantages include ease of use, convenient access to data from the trading terminal and general integration with it, attracted traders and the possibility of step-by-step debugging of algorithms in the terminal. However, there were significant drawbacks - for example, the inability to test a strategy on historical data, the lack of a graphical interface other than standard Quik tables, speed, etc.

Quik versions older than 6.4.0 support Lua scripts. This language is also built into the terminal, is quite simple and has more functionality than Qpile. Since Lua is an interpreted language, a special QLua library is used to work with its code.



Image: RusAlgo.com

TRANSAQ


A brokerage service system popular on the Russian market, through which traders can access trading on the stock exchange. The tool allows merchants to obtain information about the current state of affairs in the market, place orders for the purchase and sale of financial instruments manually, as well as create mechanical trading systems.

You can create robots either by connecting to TRANSAQ external development environments like Metastock, Omega, Wealth-Lab, or using the integrated programming language ATF (Advanced Trading Facility). There are fairly detailed documentation on this language, in which, among other things, are examples of the code for ready-made robots.

Other ITinvest materials on the creation of trading robots:

Source: https://habr.com/ru/post/268783/


All Articles