Releases: simonpotel/QTSBE
Releases · simonpotel/QTSBE
beta
- Added a local data bank for storing datasets
- Updated data format to include timestamp/open/high/low/close/volume
- Implemented Bollinger Bands Indicator
- Added Moving Average (MA) Indicator
- Added Exponential Moving Average (EMA) Indicator
- Added Moving Average Convergence Divergence (MACD) Indicator
- Normalized MACD to a 0-100 scale for consistency with RSI
- Added Relative Strength Index (RSI) Indicator
- Introduced Positions class for managing trades and current positions, simplifying strategy implementation
- Simplified strategy return to use the Positions class object
- Added example strategy (rsi_example)
- Default strategy now loads all implemented indicators
- Binance API methods added: fetch_and_save_ohlcv, get_top_50_tokens_by_volume, fetch_tokens_daily_ohlcv, get_recent_try_pairs, get_least_volatile_tokens, get_most_volatile_tokens to populate data bank
display/python:
- Enabled price candlestick chart visualization
- Overlaid indicators based on the strategy code
- Added drawdown visualization
- Added ratio visualization
- Added trade visualization directly on the price chart
- Web page with charts is saved in display/python/saved_results/* and can be shared and loaded on another computer
Full Changelog: alpha...beta
alpha
Users can create their own strategies following the structure of api/strategies/default.py and then utilize the coded indicators.
You can then launch the API via app.run in api/api.py and proceed to run the utility in display/python to test your strategy on multiple data series. Currently, the display part is mainly missing, with only the JSON result available, which can be obtained directly through a request in your browser.
Later on, there will be graphs, tables, and more for visualization purposes.
About api/api.py and api/strategies/
- The code provides a Flask API to serve data and execute trading strategies.
- It uses the Flask module to create a web application and the Flask-CORS module to handle cross-origin requests.
- Trading strategies are stored in Python files in a specific directory.
- Strategies are dynamically loaded from these files.
- Each strategy is a function in its own Python file.
- Market data is retrieved from files.
- Different technical indicators (moving averages, RSI) are calculated for the market data.
- Strategies analyze the market data and return results based on the calculated indicators.
- Strategy results (indicators, trades, position) are returned in response to an HTTP request.
- The code uses the Loguru library to manage logs.
- There is a debug mode that influences the log configuration.
- The API can be run locally using
app.run()
.
display/python:
- Implemented interactive data fetching and display feature using customtkinter.
- Users can select a data file and a strategy from dropdown menus.
- Clicking 'Load' fetches data from a specified URL and displays it in a new window.
- Displayed data is formatted as JSON with a scrollbar for easy navigation.
- Users can save fetched JSON data to a file for future reference.