
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
This lecture will help you to understand the course organization and goals.
Download Python, install it and check that it is working.
Tutorial to create your API keys on the exchanges, and security recommendations.
This lecture explains the roots of the program, how to create the interface, the logging messages and how to start the program. The elements presented it in will be used all along the course.
Understand what an API is and start using the Binance Futures API.
Start combining what you know about the interface and the APIs.
Learn some basics to make your interface look better.
Create an API client class and start parsing various data from Binance Futures.
Learn how to perform operations on your account using the authenticated requests.
Learn to stream market data in your program using the Websocket API.
Make your code more efficient and more readable thanks to data models and data typing.
Make your code more reliable with various error handling methods.
Subscribe to all the Binance symbols without jeopardizing the connection.
Connect and subscribe to the Bitmex websocket channels.
Use the python-dateutil and datetime libraries to manipulate ISO 8601 strings.
The source code of the course is available in this Lecture ressources!
Create and understand the Root component that will be used to host the other components.
Create your first component and learn how to display logging message directly in the interface.
Update information in the interface and avoid one of the big traps when coding Tkinter applications.
Create the Watchlist Component and prepare the methods/variables that it will use.
Add a new row to your Watchlist and check that what the user types is right.
Add a Tkinter Button to remove the symbol from the Watchlist.
Use the collected bid/ask price to update the Watchlist with the udpdate_ui() method.
Nothing very new in this part, but still necessary before coding the trading functionalities!
Prepare the Strategy Component command button and table with headers.
Add the widgets when clicking the "Add strategy" button.
Delete the strategy when clicking the X button and learn about a tricky "lambda" function behavior in for loops.
Create a pop up window that will display additional parameters specific to the strategy chosen.
Save the additional parameters in a variable so that they can be reused in other methods.
Learn how to activate your strategy and be ready to trade!
You will learn how to organize your strategy module using a parent strategy class.
Request historical data and subscribe to trade updates.
Update your historical candlesticks with live websocket data.
Code the first strategy of the bot, based on candlestick patterns.
Use pandas to calculate the MACD and RSI.
Trigger the check_signal() methods based on the websocket trade updates.
Use the strategy parameters and the information about your current account balance to calculate the trade size. The Bitmex case is more complex because you have to take into account the contract type (quanto, inverse...).
Finally time to place the order! In this lecture, we will check that the order was placed successfully, monitor the execution and create a new data model containing information about the trade.
Use the update_ui() method to update the Trade component.
Complete the trade cycle by exiting a position when the TP or SL is hit.
Adjust Tkinter widgets to improve their appearance on Mac.
Create validation callback functions to make sure the user can type only a specific type of characters in the Entry widgets.
Learn to properly close a Tkinter application.
Create an executable file to start your program without opening Pycharm.
Create a database to store useful information related to your program.
Create a menu widget and use the get() | save() methods to save and then load your workspace.
Leads to integrate the Binance Spot API to your program.
Subscribe to the bookTicker and aggTrade updates on an individual basis.
Conclusion about the course and advice to take your own ideas to code.
Take your trading ideas to code and make them more efficient by automating them like a pro!
This course will guide you through all the steps required to write a program in Python for algorithmic trading, using the best coding practices. It is a perfect example of the "learning by doing" pedagogy: instead of learning only theoretical concepts, you will learn important concepts whilst creating a real trading application, from API connections to trade management.
Keep control over your trading robot with an interface
A trading program can automate your strategy, but that's not all: you can also use it as a trading assistant by building a user interface (UI) that will help you follow your trades and market data. This course will give you an understanding on how to develop a solid Tkinter interface and integrate it with the trading automation part.
Interact with the crypto exchange servers without an intermediary
Many platforms propose to write simplified code to automate your strategy and handle most of the interaction with an exchange API in the background. It doesn't give you the freedom you may need, it prevents you from building very developed programs, and their service- of course- isn't easy on the wallet.
This course will teach you how to interact with an exchange API without an intermediary- giving you control of everything. It will also give you the power to improve your programming knowledge, which you can re-use for other projects.
Learn with the Binance Futures and Bitmex APIs
Binance and Bitmex are two of the most popular crypto exchanges in the world, they provide awesome automation possibilities and are great for beginners. You can then apply what you have learned to your Binance Spot/Margin account or other exchanges.
Both Binance and Bitmex have testing environments, including their API, which is a great way to learn!