Functional:
Binance testnet account
An actual Binance account (Optional)
API keys (Which you can get after creating a binance account)
Non-Functional:
Trading Knowledge
Minimum Storage Required - 30MB
Recommended Storage - 50MB
Synched System Clock - Required
Network Connection - Enabled
Threads Required - 2
Minumum RAM - 50MB
Python Version - 3.xx
OS Recommended - Windows 7 or later
- Mac OSX 10.9 or later
As discussed in the interface, we have 4 components i.e. Watchlist, Logger, Strategies and Trades. These components are tiled and placed on the root window(Tkinter concept).
We can easily switch between live market (You use your own money to trade) and the simulated market (Test your strategies and practice trading without putting in real money).
We've gone with minimal design and preferred functionality over design for this app as major focus is on trades and to keep placing orders when the trade conditions are met. The app does this infinitely, until the strategy is switched off.
Technical:
All you need is a running system with python installed.
You just go the directory and run the command: 'py main.py' OR 'python main.py'
Economical:
You don't have to use real money i.e. it is optional. You can use the amount provided in the demo account by binance to practice and know the outcome of your strategy.
Operational:
You need to keep the app running, i.e. the system must be on while you are trading or doing other work side by side.
We followed OOP and implemented its principles and also modularized our code.
Wrote our code in such a way that when you're writing code in other modules, you'll get auto complete help by the IDE you're using.
We used try-except wherever necessary to make our app more robust.
Testing and validation checks.
Binance does all the heavy lifting here for us. i.e. we don't have to worry about authentication and security since we're using their API and they've implemented best in class security measures, we're just leveraging them.
None. On the developing side our cost was Zero, we used free resources like Binance Testnet(Demo/Simulated trading environment) and the Binance API
Cost of money can incur if you want to trade in the live market where you use your own money to trade, but since we used Binance testnet as our base to develop this app, cost is Zero.
Add support for more exchanges like Bitmex, WazirX, CoinDCX, Coinbase, etc.
Add more template strategies, or 'tried and proven' classic strategies.
Binance API documentation: https://binance-docs.github.io/apidocs/futures/en/#general-info
Binance testnet demo: https://www.youtube.com/watch?v=Vp2jSUtrdK0&t=1230s
Tkinter documentation https://docs.python.org/3/library/tk.html
Tkinter video tutorial: https://www.youtube.com/watch?v=YXPyB4XeYLA&t=634s
For Strategies:
MACD indicator implementation: https://medium.com/codex/algorithmic-trading-with-macd-in-python-1c2769a6ad1b
RSI indicator implementation: https://medium.com/codex/algorithmic-trading-with-relative-strength-index-in-python-d969cf22dd85
MACD + RSI Strategy implementation: https://medium.com/analytics-vidhya/momentum-trading-with-macd-and-rsi-yfinance-python-e5203d2e1a8a
Trading Basics: https://www.youtube.com/watch?v=y7iVTTH5tOA
w3schools as a mini reference for python concepts/doubts: https://www.w3schools.com/python/python_reference.asp
Websockets basics: https://www.youtube.com/watch?v=8ARodQ4Wlf4
websocket-client documentation: https://pypi.org/project/websocket-client/
logging documentation: https://docs.python.org/3/library/logging.html