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.
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.14 versions of the plugin:
This release is important to
Binance Futures users. If you are trading there, make sure to install this update:
Mandatory parameter "'marginType'" was not sent, was empty/null, or malformedon
self.log()method of the strategy now sends notifications (Telegram/Discord) when running on a live/paper session.
This release doesn't have many changes on its own, but it is still necessary for the live-trade plugin to work.
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:
And here are the new features that deserve a bit of extra explanation:
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.
You can also submit your feedback from within the dashboard. This is a great way to help me improve Jesse:
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.
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.
This version also brings the good old "optimize mode". Here's a screenshot of the page:
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"
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.
Head over to the
beta branch of the Github repository and follow the instructions there.
Thank you for your support! Saleh