New releases including the second beta of the GUI dashboard are out!

I've been working hard on the new GUI dashboard. And boy did it take more work than I expected! But the result was totally worth it. It makes my algo-trading experience much more enjoyable the same way Jupyter notebooks did for researching in Python.

v0.0.14 of the live-trade plugin

I released the 0.0.13 version of the plugin weeks ago but the rest of the things I had in mind wasn't in place for an announcement post. So here are the changes for both the 0.0.13 and 0.0.14 versions of the plugin:

This release is important to Binance Futures users. If you are trading there, make sure to install this update:

  • Fixes Mandatory parameter "'marginType'" was not sent, was empty/null, or malformed on Binance Futures
  • Makes unnecessary logs less verbose when debug-mode is enabled which makes it easier to go through logs.
  • Won't stop the session on websocket errors (you still get the notification though)
  • Fixes the issue of closing stop orders' execution event not being properly working on Binance Futures
  • Improved handling of rejected orders on Binance Futures
  • Fixes a bug when changing the martin type on Binance Futures
  • Fixes a bug with closing open positions on session termination
  • Calling the self.log() method of the strategy now sends notifications (Telegram/Discord) when running on a live/paper session.

0.0.29 of the main framework

This release doesn't have many changes on its own, but it is still necessary for the live-trade plugin to work.

Second beta of the GUI dashboard

I am proud to announce the second beta of the dashboard is out and ready for testing. The second beta brings a lot of new features and fixes including the following:

  • Merged all the recent updates to the current master branch including support for FTX Futures
  • Countless improvements to the GUI, both in terms of design and functionality
  • Added proper handling of "termination" events for live mode
  • Improved settings page

And here are the new features that deserve a bit of extra explanation:

Improved bug reports, and feedback submission

One of the most helpful features of the new dashboard is that whenever you face an exception error that isn't clear enough for you, or that you think is a bug, you can quickly (with two clicks!) send me the traceback of it, and (if you choose to) the log file of your running session along with it. So no more manually looking for the log file, and uploading it somewhere just to show it to me.

exception-report

You can also submit your feedback from within the dashboard. This is a great way to help me improve Jesse:

feedback

Form inputs are now synced in your browser

Route and options in form pages (import-candles, backtest, live trade, and optimize) are now stored in your browser's local storage. This means after a page reloads, the form will automatically be filled with the last values you used.

This is especially useful when you are working with the backtest page because you can easily start a new backtest with the same parameters.

Database migration command

This release of the dashboard comes with a database migration command which you can easily run with running jesse migrate in your terminal.

This is super useful when you are migrating from the CLI version of Jesse to the GUI version.

Also, from now on, whichever new release that requires a modification in the database, will be easy to do using this command. No need to manually update the database or recreate the tables from scratch.

Optimize mode

This version also brings the good old "optimize mode". Here's a screenshot of the page:

optimize-mode

What's different from the previous (CLI) version?

I realized defining the DNA in the route file was not the best way to do it. Especially in the new dashboard since the usage of routes is different. So the new way is to define a method named dna() in your strategy that returns a string containing your DNA:

def dna(self):
    return "o4"

When will the final release of the dashboard be?

This depends on the amount of help I get from you guys for testing it. I did my best to make the transition as smooth as possible especially with the jesse migrate command. So please don't hestiate to run it, and send me your feedback, ideas, etc. I really appriciate it.

After running the new version of a VPS, I noticed a few issues that matter if you intend to run the dashboard on a live server instead of your local machine which is actually the recommended way to run the dashboard for live trading.

I'm now thinking about changing my development environment to use Docker so that the cross-platform issues are solved.

Also, there are a few improvements to the backtesting page that I would like to implement before the final release.

My current estimation is that I will be releasing an RC (release candidate) version of it in the next 2-4 weeks. The RC version will be the initial official release of the dashboard, but I won't replace the current version on our PyPi repository until I update the documentation and blog posts to reflect the new features and include a few screenshots.

How to get started with the beta version

Head over to the beta branch of the Github repository and follow the instructions there.

Thank you for your support! Saleh