Thousands of hours of research and years of practice. All this you will find below.
Our robots do not fail.
On this page you will find free software to automate your trading.
On this page you can download free robots for trading, which will help you in the automation of trading.
We have one of the largest collections of free robots. These are robots for trading on indicators such as: Moving Average, RSI, Bollinger, Williams Range, MACD, CCI, etc. These are robots for trend, countertrend trading, arbitrage.
All robots are developed on a platform for creating robots Osengine. And are included in the standard library assembly https://github.com/AlexWan/OsEngine
Pair robot based on the RSI indicator
If the value of the RSI indicator of the first tool is greater than the value of the RSI indicator of the second tool by 20 (default), then:
The first tool we sell, the second one we buy.
If the value of the indicator RSI of the first tool is less than the value of the indicator RSI of the second tool by 20 (default), then: The first instrument is bought, the second one is sold.
PinBar Pattern Robot
Trend robot based on MACD indicator
Trend robot based on the moving average and the indicator Stochastic
Countertrend robot based on Williams% Range indicator
Over the years of trading and algorithmic trading, our team has accumulated a gigantic and successful bundle of knowledge in the field of algorithmic trading. And now it is time to write uberArticle on what we think about it. Our team makes trading robots for several years. For our fund, for free, customized.
I tried to structure the article as a guide, which can be used to obtain a holistic view of the world of algorithmic trading and choose the right path.
Who's driving: Alex Van, a professional programmer. I was engaged in algorithmic trading for last few years. I finished about 50 commercial projects, and more than 20 for myself. I wrote bots, gears, alerts, indicators, mining stations, optimizers, connectors, etc. I've already done anything that a programmer could think or write about in this area. At the moment I'm a headliner in software development for our fund. From here.
Forgive me my pathos, it's not about narcissism. You will not find anything lake this anywhere else. I guarantee.
Here's the plan:
1. Trading and its meaning
2. Trading robots - what are they?
3. The problem of manual trading
4. How bots help traders
5. How to look for patterns
6. The limits of systematic trading
1. Trading and its meaning
We will speak in a roundabout way since I decided to write in detail. In order not to make readers look through Wikipedia to study the nuances. Moreover, in a world far removed from stock trading I saw the most savage and disgusting definitions of what I do with my programs. So, first of all let's talk about the importance of speculation for everyone on the planet earth, and only then on the role of ATS in this mess.
Trading is the buying and selling of securities on the stock exchange on the basis of the forecast, with the purpose of profit. Respectively, profit occurs if you buy cheap and sell expensive.
Usually transactions are made via "terminal", a special program installed on your computer. Rarely by phone. Still very rarely from "pit", a special place on the exchange.
Dozens of different techniques are used for prediction. Many of them are based on watching the price graph and then attempts to determine where it will go. Many of them are based on true knowledge, and some are not, and therefore they are unscientific. We'll talk about that below.
In the context of the stability and effectiveness of pricing
The speculation is not just channelizer for gamblers. This kind of activity has very significant, and often underestimated function.
Trading makes the markets stable and smooths the pricing anomalies
For a layman, it looks like this: you can't get up one morning and discover that the price of sugar was 300 percent more expensive. When the price of the goods is formed by the tens of thousands of people, attempts to understate or overstate it are not possible.
Once again, no matter how silly it sounds: the more traders are in the country, the more you are protected from surges in currency, stocks, goods/services, and more.
Speculation is good. It helps to keep prices close to fair values. It improves the quality of life of ordinary citizens.
The process of finding the best rates
The only way to predict the behavior of securities in the long term, is "using inefficiencies", or anomalies in price movement. Most traders, are one or another way involved in the search process, and then in the correction of these anomalies.
All that the speculators do while forecasting is an attempt to find a gap in the efficiency of the market to find a fair price. And then become the party that helps the system to be more effective by participating in the auction on the right side.
If a trader finds a real inefficiency (for example, a problem in the speed of information dissemination), and then successfully "closes" it, it becomes an important part of improvement of the "efficiency" of the economy. It makes the prices fairer and more transparent. It allows to quickly find a fair price of the asset and to deviate from it as little as possible.
So, the industry forms “fair” prices for securities. This is a global challenge and achievement. If there were not speculators, prices would be dictated by the monopolies, which would bring damage to the laymen.
2. Trading robots - what are they?
Trading robots (automated trading system(ATS), bots) are software for trading with securities instead of a person.
Usually this is a window application that connects to the terminal and performs the transaction of purchase/sale by itself under the previously installed algorithm. But not always. There are several fundamentally different ways of creating and operating such systems.
2.1. Libraries for building ATS
This is the most sophisticated technology for creating bots. The fastest. Usually we have a window or console application. This app connects to the terminal or to one of the Internet gateways available at the broker and carries out the trade.
This technology was never available to the mass user, because in order to write bots for the library, you need to be a programmer.
Such technology originated in the late 20th century in the banking sector, where companies could spend money on large teams of programmers.
Only during the last few decades these technologies were spread among users.
For Russia, this is certainly StockSharp, the pioneers of this sphere in the CIS.
2.2. Trading robots embedded in a terminal
In many terminals it is possible to create ATS in a scripting language directly inside the terminal. This can be a visual design tool, places to insert the code of a scripting language or a full strategies editor.
Once upon a time it was a breakthrough it the area of algorithmic trading. It is the most honored way of creating such programs. It was one of the first to create bots for wide use.
Of course, trading robots were created before such an opportunity had appeared but nevertheless one day this technology made a breakthrough.
This is a very simple technology. In most cases, studying it takes just a few weeks.
The most popular terminal for writing ATS this way in Russia is Quik. Thanks to it algorithmic trading appeared in the CIS at the beginning of the two thousandth.
2.3. Visual editors for creating trading robots
Two previous technologies could not fully embrace everyone who wanted to create bots since they were complicated in some degree. But a huge number of people wanted to do it without putting any effort. And now, at the dawn of the 21st century, appeared the editors.
Visual editor is a window app for creating bots. It allows untrained people, who are far from programming to do it. Time of enter is a few days.
By a few manipulations with the cubes inside a logical scheme, visual editors allow to create a full app for trading.
Of course still popular editors have some limitations in comparison with libraries and languages. Among these limitations are the inability to conduct testing on the glass and in many cases, the lack of portfolio trading.
The most popular visual editor of strategies in Russia is TsLab.
3. Problems of the manual trade
Before we talk about the advantages of the use of bots, let’s consider the problems awaiting the trader who wants to trade the old fashioned way - manually.
There are pros and cons in manual trading. Forgive me my snobbery, but here we will discuss only the cons. If you need "undeniable" pluses of this kind of trading, go to the kitchen and visit a seminar. Unfortunately, I do not see any advantages compared to algorithmic trading.
3.1. Incorrect understanding of the market mechanics
It seems to me that up to 95% of all who trades manually do not understand how to get benefits for a long term. How to be on the right side of the chart for a long period.
So here is the question: why do people have an incorrect understanding of speculation? Let’s discuss it.
Most books on trading are written by people far from exact science and methodologies of verification of knowledge. Therefore, these books contain unscientific, or even anti-scientific information. Knowledge which lead the reader astray.
Starting your journey in this field, people are getting caught by these fantasies – they trade based on false paradigms.
Sectarianism and idolatry
Idolatry, sectarianism, and even the cult of personality are widespread in trading as nowhere else. As in any business where the life itself depends on the decisions taken, the weak will always be trying to shift the responsibility to another person.
Very often it becomes the reason for the misunderstanding of market. Once got in the "near-market sect", a person loses the ability to think clearly. The crowd of "believers" seizes the mind, then one begins to enter the positions based on knowledge and projections of "GURU".
It's funny to read if you haven’t ever faced it. But if you know how the forums of "Elliott's followers", "Candlestick analysts" or "watching the dolls (trading deity)" operate, then it’s getting sad. Since there are lots of these people. No one holds special studies, but I think it's a few tens percent.
Lack of scientific basis
In the vast majority of sources (literature, training courses, video guides), which claim to be teaching a person our craft, the person is not taught to look for efficiency. The person is not offered a universal way of working with information. As a rule, studying is reduced to memorization of certain rules for trade, knowing which a person will always be on the right side.
This approach to teaching new people multiply persons unable to respond to new circumstances and to learn the subject independently.
As a result of all of the above, most of the traders have problems with the perception of reality. As if the drivers on the roads were driving with a blindfold on, or could turn only to the left.
In the previous chapter we examined the inability of people to discover a plan. In this one we would talk about the ability of people to follow their rules.
In other words, even if you have ready and tested market anomaly, inefficiency, you still will not be able to use it correctly. Human psychology creates many risks here.
We will not consider this in detail. In order to write about it more or less viewable, you need to study it for many years on the relevant faculty and understand human behavior.
However, the fact is: people are systematically incapable of following their own plan. I.e., mistakes are inevitable and important. The human factor is huge.
3.3. Learning through deposit
People coming into speculations and deciding to start from manual trading tend to believe in the "accumulation" of experience. That the contemplation of the graphics or the performance of transactions with real money is what would teach. In any other sphere it would be normal. But only if we talk about statistically significant samples. Since in order to see and test some types of strategies without any help of technical means one man would need several lives.
For example, a speculator sees repeated formation 50 times, and decides to trade. But! This observation is not statistically significant. And the person begins to lose money.
He does not know that he needs to see the system 1500 or more times to consider it stable (this statement is easily verified by forward tests). In the end, these experiments end the same way - loss of money and/or nullification of the deposit.
One of the fundamental mantras of trading says - "Enter the transaction, lose money, and in the process you will learn how to trade. To learn to get up, you need to learn how to fall."
This comes from the most popular book among traders: "Reminiscences of a Stock Operator" by Edwin Lefevre. This is the first book read by any speculator. It is recommended to read by the absolute majority of traders.
Year after year, people follow this road but can't find stable patterns and profitable strategies. Their experience doesn’t give them the opportunity to make a profit.
Avoiding the use of technical means leads to a dead end from 95 to 99% of traders.
4. How trading robots help
In the previous chapter we considered the main problems of manual speculation. Now let's find out how to neutralize them with the help of algorithmic trading.
Let’s imagine that we have algo traders, and find out how we cope with the problems of understanding the mechanics of the market and "psychology".
4.1. Transparent, scientific, true understanding of the mechanics of the market
The algorithmic traders have a clear idea of shares price movements in the market. After several years of research, a man could not be led astray by pseudo-scientific literature and demagoguery. Bots do not believe in charismatic leaders.
The scientific approach to the study of the market guarantees you a true picture of functioning of the market. This is guaranteed by the use of technology as well as statistically significant samples while searching for inefficiencies.
4.2. “No” psychology problems
In general, the problem of psychology cease to exist. Together with the human factor. The bot itself can't generate anything like this.
Trading robots will not panic, change their mind a few minutes after they entered the position. They can not be scared by news or performance of a well-known "Guru".
However, the word “no” is taken in quotes because in some way the human factor is still there. But in a slightly modified format. At any time, there is always a temptation to disable the program, partially or completely. To interfere with the work. There's no escape...
4.3. Market research by technical means
The algo traders don't need to spend money on market research or to learn how to trade looking at charts for a decade. Market research for them is the use of special programs that do all the work.
And this is a direct savings of time and money.
Of course, the study of such programs takes time. Sometimes it takes a few years. But the resulting advantages are obvious.
In addition, this approach allows you to stay "on the cutting edge". To include only the working, tested strategies. Shake up your portfolio of bots and change the anomaly that they use. This will maximize the time while you are net positive.
5. How to conduct research + the GRAIL
In this chapter we'll talk about the technical tools and methods of market research in terms of inefficiencies that will help us earn.
Let's start with the GRAIL. Read this chapter carefully! It will save you a lot of time!
5.0. What to look for?
Globally, over 5 years of research, I realized one thing: there are several types of strategies in the market that earn. Let’s start with the simple without recreating the wheel:
1) TREND. Algorithms for identifying formations which alarm about the beginning of a great movement. In the process you need to focus on finding the exit from the consolidation and holding the position as long as possible. No sudden exits, especially without short stops.
2) ARBITRAGE. The algorithms based on mean reversion.
Both works. Moreover, the Arbitrage works for Forex, which with its super-effective market is incredible. This means that on the MICEX, it will work for a long time.
Do not look for anything else. Focus on these two types of strategies. If you receive an understanding of how it works - you will become the god of the market, you will be able to move on. If you do not find anything trendy and arbitrage-like on the MICEX - feel free to go to the factory, you should never start trading.
Stops and exits
In trending algorithms exit is more important than entry. You should pay special attention to this.
I haven't noticed anything like this in arbitrage. You shall focus on the entry point in them.
Follow the volatility of the market. Without this, any algorithm is to slide to sad trash for a couple of years. Always assign logic to volatility. This are the indicators like ADX and ATR, etc. Trading robots which are not looking for volatility are dead at birth.
Money and portfolios management
Never run the single bot. At least 5 different algorithms should participate in real trading. This is the only way to make equity smooth. This is very important, since after a few months of drawdown or sideways you will feel the desire to disable the program. To avoid this, include a set of strategies.
Stop trading for certain hours. This is due to the "limits of algorithmic trading," which we'll discuss later. Now I can only say that ATS need people to "press them out" - if people stop pushing the buttons, they will cease to earn. But this fuel tends to get tired, to sleep, to work and to celebrate the holidays. Trade only during the active hours.
5.1. Programs for testing and research
Now it is time to talk about the inventory.
There are special programs. Typically they are window applications that help the algorithmic traders to test their ideas and look for patterns. Among them are testers, miners, optimizers, lots of them...
I will not describe them in detail. There are several dozen, and many of them are good. We’ll focus only on those, which I like personally.
I met this program relatively recently, about a year ago. A great testing platform! Until this I was all amazed at the foresight of domestic developers of similar platforms. After meeting it I realized where they borrowed their ideas.
There are several modes of writing strategies: in the form of code, rules, in the visual editor. Fits every taste.
This is a development of Western programmers, representing a great toolkit for market research.
The only bad in this program, is that it is tuned only to Western platforms. Therefore, for the CIS it’s just the testing station.
A Russian equivalent of the previous product, with the absence of the latter fault. With this program you can both – hold ISL and trade.
We also have several types of writing bots as in the form of block diagrams as in code. Rich optimizer and beautiful Russian support, with a huge forum.
In my opinion, the only problem is the inability to test a set of strategies in parallel. You need to "push" them all in one script.
5.1.3. Self-written libraries
This is where I started...
First of all, you need to become a programmer. Then we open a new project in the compiler and write everything by ourselves.
You can try to go this route. It will take about two years before the first normal tester. When I was talking that I did it in 2010, I used to look like a fool. Because there were so many ways to test trading robots without wasting several years of life.
Anything you want can be implemented in code. The only problem is time. You will spend a very, very long time.
But this is the only way to test the trading robots which are use in their logic, the order log, or glass snapshot.
And yes, this is the only way to make really fast HFT algorithm.
5.2. The methodology of testing strategies
During testing the trading robots, you need to follow a few simple rules. They once helped me, so they will definitely help you.
The number of entries matters
If the number of entries during testing is less than 1000, there is a 70-90% probability that this algorithm will not work in the future.
Take it seriously. If you cannot reach this figure in one tool - take several, take data not for three but for five years. Do what you want, but the number of inputs must be large. 1000, 2000, 5000. This is the only way for forward tests to be positive.
Always do forward tests
It is necessary to conduct forward tests. Leave a small amount of data in order to verify the final strategy on them.
This rule is closely related to the previous one. In the course of the research, our team noticed that there is a direct correlation between the number of entries on the main range of testing and success of forward tests. It can be represented in the following chart:
Tools on the market are different. Some are trendy, others are suitable for arbitrage. Anyway don't expect the trend to change.
You will understand which ones are suitable during your first tests. They are pretty obvious. Next, test and trade trend algorithms on trending tools, the arbitrage algorithms on the arbitrage ones.
6. Forward you trading robots into the battle
There are no special tips and techniques. Everything seems to be obvious, but I’ll write about it anyway.
Test the strategy at least one month on demo account
Almost any broker can order a test server. Take your time. There will be errors. Both, logical and technical. You need to fix them prior to bidding.
Do not run the program from your home PC
Always use the services of VDS. Run bots on remote servers of Windows. This is how you can guarantee the program constant access to the Internet and a stable connection with the exchange.
In conclusion, I wish you luck in the field of algorithmic trading study. We tried to make a convenient service for a quick start. I hope it was useful.
Trade algorithmically! Write robots, test your ideas!
Have good algorithms!