Jesse's GUI dashboard is officially released! Here's what you need to know
I am more than happy to announce that version 0.30.0 of Jesse is released! This is the biggest update of the framework to this point. It is mostly about the new GUI dashboard, which is a much more convenient way to interact with Jesse rather than the CLI.
But make no mistake, it is not just about a pretty face! I had to completely rewrite the bones of the framework to allow for the GUI dashboard to work smoothly. For example, I had to make sure that the process that is responsible for running the dashboard, is running at all times, even if something crashes in your strategy execution. So now every task is running in a separate process. One good that came out of this is a much more reliable error reporting and notifications system.
The other significant change about this dashboard is that it makes the interface so much simpler. The simpler the framework is, the easier I can add more features without worrying about making the usage too complicated.
This big release wouldn't have been possible without the help of the community in sending me feedback, suggestions, testing features, and reporting back to me. Thank you, guys! Also, I want to give special thanks to Nicolay Zlobin for helping me with the frontend side of the dashboard. He's a great developer, and an absolute pleasure to work with.
Preview video
I made a Youtube video where I walk you through the installation, and all the essential features of the Jesse using the new dashboard. Watch it to see how easy it is to install and use the new dashboard.
<iframe width="560" height="315" src="https://www.youtube.com/embed/nlV8Y0QeWfc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
What's in the box?
I don't think I can fill in all details in this post, but I'm gonna try my best to at least mention most of them briefly:
- Docker setup is improved and is now a first-class citizen of Jesse and is shipped with all newly created Jesse projects. It enabled you to run Jesse with one single command!
- Sending feedback and exception reports with optional log-file attachment right from within the dashboard.
- Responsive design which makes it easy to use even on mobile devices (if you install Jesse on a remote server)
- The error handling is now much more robust and reliable.
- Every time you run an action like a backtest, the action is run in a separate process. This means that the action is not blocking the main process; hence, the main process can continue to run even if an error occurs. One example good that comes out of this is that notifications are now more reliable.
- Isolated
backtest()
function in the research module - DNAs of the optimize mode are now defined in the strategy instead of the
routes.py
file - Added average execution time for optimizing mode
- Faster backtest execution with the debug mode enabled because of no actual terminal printing
- Improved handling of database connections
- All main forms of the dashboard remember your inputs. So repeating backtests, etc is much easier with a click of a button
- Environment variables are now set in the
.env
file, and application settings are now in the settings section of the dashboard. No moreconfig.py
andlive-config.py
files. - Ability to open multiple tabs (inside the dashboard itself) and run multiple candle importing and backtests in parallel.
- You can choose between light and dark mode.
- Installation of the live-trade plugin is now fully automated. No need to manually find your machine's info, download, and install.
- And much more!
How to migrate from previous versions?
Migration takes only a few seconds since there are barely any breaking changes. The strategy API had barely any changes at all. I wrote a guide for migrating from previous versions of Jesse which is available on the documentation website here.
The entire documentation website has been updated with changes related to this release. As always, our documentation website is the best place for finding info about Jesse.
Will it replace the CLI version entirely? What if I want to develop my own scripts using Jesse?
In short, yes. There are many limitations that I was facing when developing the CLI version which does not apply to the GUI version.
I am aware that a few of you developers of the community are more interested in the CLI version because it allowed you to develop features on top of it. My good news for you is that I have added a backtest()
function to the research
module. This function allows you to execute backtests by calling the function rather than using the dashboard. It is also a pure function. What that means is that it is perfect for running it in parallel. In fact, that's how the new optimize mode works.
I haven't documented this function yet, because I want to make a few more changes to make it more flexible.
What's next?
The next milestone for the project that I'd be focusing on is the full support for both backtesting and live trading on spot exchanges. From now on that the interface is stable, I will also be publishing more guides and tutorials in both article and video format.
And as always, I will be releasing updates and fixes to already existing features. So make sure to use the "feedback" button of the dashboard, and also report any weird exceptions you encounter.
❤️ Like Jesse?
If you like this project, please consider supporting me for free by using my referral links.
It's a win-win, you get free discounts and bonuses, and it helps me to develop more features and content:
Thank you 🙏