Algorithmic Trading Software
So you want to get started with algorithmic trading software? Whether you're a total beginner or a seasoned trader looking to up their game, this guide will help you ramp up quickly and flex your algo trading muscles!
Table of contents
This guide is logically ordered into the following sections. You can skip and jump between them by clicking on the section you're interested in.
Before you dive into any type of algorithmic trading, you need a solid foundation for doing technical analysis. This is foundational to developing a good trading strategy.
Jump to Technical AnalysisYou've got choices, but there are tradeoffs.
Jump to optionsThe best free algorithmic trading software requires knowledge of Python. Understand what you need to know to successfully code up a bot. If you're new to programming, but eager to learn, we can recommend some shortcuts to get you building bots in no-time.
Jump to PythonIf you're running your own trading bot, choosing good server hardware and a strategic server location are critical variables to make winning trades.
Discover which hosts give you the best performance for the lowest price, and earn you an edge over the competition
Jump server setupProfitable trades require liquidity, low fees and hot coins to trade! We've curated an awesome list of exchanges for trading crypto and stocks. Some even include discounts on trading fees and free sign up bonuses. Free money!
Jump to choosing an ExchangeTechnical Analysis of Cryptocurrencies and Stocks
Welcome to the world of technical analysis—an essential skill for investors, traders, and enthusiasts in the realm of cryptocurrencies and stocks. Technical analysis involves studying market data and using various tools and indicators to identify potential patterns and trends. By leveraging these insights, you can make more informed short-term trading decisions, improving your odds at making a winning trade.
The basics of technical analysis involve identifying general trends and areas of resistance on a chart, along with using technical indicators like moving averages, MACD, RSI and more, to determine good entry and exit points for buying and selling.
Here's an example of Bitcoin on the weekly timeframe showing clear resistance around $30-32K range:
And here's an example of Cardano (ADA/USD) on the 4-hour timeframe, showing a descending triangle pattern. This suggests a breakout soon:
These are just two simple examples of identifying trends using technical analysis. Combine this with additional indicators like moving averages, RSI and MACD, you can begin to develop your own thesis on price action... identify trends, potential reversals, and market momentum.
Remember, technical analysis is just one tool among many. For long-term investments, it's always beneficial to combine it with fundamental analysis and other market indicators for a more comprehensive assessment.
And for both short-term and long-term trades, it's critical to understand the macro-environment… is the market in a bull run, or is the outlook bearish for the next 6-12 months? How is bitcoin trending? How is the S&P 500 trending?
Macro matters. If the overall market is trending down, it's more than likely the alt-coin market is also trending down.
If you want to dive deep into learning technical analysis, it's a great idea to take a course on Udemy. You can learn a lot from experienced traders in a short amount of time. Here are a few recommendations on Udemy:
Build a trading bot vs. using algo trading software
If you know how to perform technical analysis and are ready to start developing strategies, then you need to choose your path:
-
Create your own trading bot
- Best option for those who know how to write code, or want to learn
- Use free open source software
- Control your bot via Telegram
- Precisely control your strategies and trading parameters
- Free: you only pay for your webhosting server to run the bot
- Get the details here
-
Use an algorithmic trading platform
- Best for people who don't know how to code and don't want to learn. No code required!
- Good control over your trading strategies and parameters
- Paid: you need to subscribe to trading software (amount varies)
- See our recommended algo trading platforms
-
Copy trading
- Some exchanges let you copy other traders on their platform. Maybe the person you choose to copy is algo trading... or maybe not.
- Copy trading is not algo trading, but it's like having a bot.
- It's an option for those that just want to gamble with something automated
- Free(ish): you'll make the same trades as other investors that you pick. Your win (or lose) rate will be the same as theirs. You have no control over what you're trading. You only pay exchange fees on the trades, and the cost of constant fear about what someone else is doing with your money.
- Learn more about copy trading
Python crypto trading bots
Many algo traders choose to program their own bot. There are some incredible, free, open-source software packages that you can use to algorithmically execute trades. But the requirements for this route are the highest:
- You must be able to write code in Python
- You need the skills to create your own trading strategies, backtest them using real data and refine them based on your own analysis
- You must be able to deploy your trading bot to a suitable web host, with fast servers and a good geo location
The best python crypto trading bot
FreqTrade is the best-in-class open source software for running a crypto trading bot. It has been around for years, is battle tested, it has an incredible feature set, excellent documentation and a thriving community on Discord. It is a top choice for algorithmic trading software.
To give you a taste of FreqTrade's abilities:
- Download historical market data directly from your crypto exchange
- Develop a custom strategy, and backtest it to measure ROI
- Use machine learning to further optimize trading parameters, like technical indicators, buy, sell and take profit points
- Run in dry-mode to test your bot in real market conditions, without risking any money
- Control your bot and get trade reports via a private Telegram bot (this is awesome!)
You might also look at Hummingbot or Octobot as alternatives to FreqTrade. They are written in Python, the code base is actively developed and they release new features at a regular pace. They are worth a look if you want more choices.
Crypto bots in other programming languages
Most open source algorthimic trading software is written in Python. But there are a few other choices. For the Julia crowd, there is PingPong trading bot, and for the Java crowd there is Cassandre trading bot.
If you really want to see all the options out there, check out this curated list of Awesome Crypto Trading Bots. Beyond trading bot software, it has other resources like technical analysis libraries, market data libraries and charting libraries. But take a close look at the Github page for each project you're interested in. Many on this Awesome list haven't been updated in years.
Learn to code Python
If you don't know how to code, but want to learn, we suggest taking a course on Python. While there are many free resources online, paid Python learning courses are extremely well thought out and will accelerate your path to algorithmic trading.
In particular, to code a crypto bot in Python requires:
- Solid understanding of Python basics: variables, functions, classes
- Ability to work with dataframes in the Pandas library
- Ability to set up local programming environments
- Ability to deploy your code to remote servers and execute trades
Whether you know some or none of these, an online course is a great way to build up your knowledge incrementally, give you hands-on tasks to complete, and get access to an instructor who you can answer questions and provide 1:1 help. Usually these courses are on sale for around $10-25 each. Considering time is money, and knowledge is power, this is money well spent.
Here are some courses that we know and can highly recommend:
Use an algorithmic trading platform
If you don't want to learn code, or just want to get started quickly, you can always pay for access to an algorithmic trading platform that does a lot of the heavy lifting for you. They come loaded with tools to do technical analysis and develop strategies, as well as backtest and forward test your strategies. And often times, these platforms give you access to many different asset classes, like Crypto, Stocks and Forex. So if you want to branch out beyond crypto, you've got options.
Some top choices to consider:
-
Coinrule
- Starter plan is free and provides up to $3,000 per month in trade volume, with some feature restrictions. After that, pricing starts at $30 / month
- Crypto only, works with a variety of exchanges
- Build your own strategies, or buy strategies from other pro traders
- Sign up here
-
TrendSpider
- Pricing starts at $297 a year
- Works with crypto, stocks and forex
- Strategy development tools, charting, analysis, idea generation and trade timing tools are all baked-in
- Real-time prices for 65,000+ assets, plus hundreds of other pro data sets
- Free, dedicated US-based support & training
- Sign up here
Copy trading
While copy trading isn't the same as algorithmic trading, we'd be remiss if we didn't present this as an option. Many exchanges allow you to follow and make the same trades as other users, in real-time. This option gives you no control over your trades. You don't get to pick the coins, entries/exits, whatever. You only get to pick the person you are copy trading, and how much you want to wager. Your win/lose rate will match the person you're copying. It's simple and easy to set up. Perfect for those that want to take a gamble on someone else's ability.
If you want to go this route, here are some top crypto exchanges that support copy trading:
MEXC Exchange
- Claim up to $1,020 USDT Bonus and get up to 50% off Trading Fees!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use MEXC referral code: 1H1S9
- Claim your bonus here
KUCOIN Exchange
- 20% discount on trading fees and up to $10,800 USDT in Welcome Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use KUCOIN referral code: QBS2LM4G
- Claim your bonus here
Gate.io Exchange
- 30% off trading fees, up to 300,000 LUNC Airdrop and $2,800 in Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use Gate.io referral code: 9024874
- Claim your bonus here
Bybit Exchange
- Free gifts for new users and up to $30,020 in Bonus Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use Bybit referral code: LUNCMETRICS
- Claim your bonus here
Choosing a web host and geo location for your crypto trading bot
Ok, so let's say you've wrote the code for your own trading strategies, you've backtested the data and are ready to deploy this thing to start making trades. What's the best place to deploy a crypto trading bot and how do you do it?
Typically, the method for deploying a crypto trading bot will be in a Docker container. This minimizes environment errors, deployment issues and simply reduces your headaches. And FreqTrade supports this out-of-the-box. So ideally, you need a webhost that can deploy containerized code. The deployment process on each host is different, so it's best to follow their guides. But it's common for deployments to be triggered by merging your code to a repository on Github.
And it's important to note that your server location matters. Millisecond delays in order execution can and will cost you money! If your server is in the USA or in Europe, and the exchange you're sending orders to is in Hong Kong, then your setup is not optimal. Minimize delays by choosing a server location as close to your exchange as possible.
If you're looking for the best-bang-for-the-buck servers that deploy containerized code in a geo location of your choosing, we can whole-heartedly recommend:
-
Vultr Cloud
Servers
-
Cloud compute VM's from $5-6 per month
- We suggest the high-frequency CPU's for $6/month, you can usually run two bots on one machine
- Choose from 32 locations around the world
- Premium CPU's and hardware
- Sign up here: get $100 credit in free hosting for 14 days
-
Cloud compute VM's from $5-6 per month
-
DigitalOcean
- Droplet VM's with 1GB of RAM are $6 per month
- Choose from 9 locations around the world
- Standard CPU's and hardware
-
Akamai (formerly Linode)
- Nanode 1 GB plan costs $5 a month
- Choose from 27 locations around the world
- Standard CPU's and hardware
What are the best crypto exchanges to algo trade on?
For algo trading, you generally want high liquidity, low fees and access to a wide range of tokens that you can trade. While there are many options out there (see our top choices), here are three that we highly recommend for algo trading:
MEXC Exchange
- Claim up to $1,020 USDT Bonus and get up to 50% off Trading Fees!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use MEXC referral code: 1H1S9
- Claim your bonus here
KUCOIN Exchange
- 20% discount on trading fees and up to $10,800 USDT in Welcome Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use KUCOIN referral code: QBS2LM4G
- Claim your bonus here
Gate.io Exchange
- 30% off trading fees, up to 300,000 LUNC Airdrop and $2,800 in Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use Gate.io referral code: 9024874
- Claim your bonus here
Bybit Exchange
- Free gifts for new users and up to $30,020 in Bonus Rewards!
- KYC is not required to trade, but completing KYC will enable more features. See the restricted countries list
- Use Bybit referral code: LUNCMETRICS
- Claim your bonus here
Wrapping up
Hopefully this guide gave you a clear overview of how to get started with algorithmic trading software, and the steps needed to get from zero to algo trader. It should go without saying, but just in case...