Skip to content

Releases: simonpotel/QTSBE

beta

03 Jun 16:33
434c40d
Compare
Choose a tag to compare
  • 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

image

image

image

image

Full Changelog: alpha...beta

alpha

20 May 09:18
Compare
Choose a tag to compare

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().
    image

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.
    image
    image