Skip to content
This repository has been archived by the owner on Feb 16, 2020. It is now read-only.

Extending the UI chart #690

Closed
askmike opened this issue Apr 15, 2017 · 17 comments
Closed

Extending the UI chart #690

askmike opened this issue Apr 15, 2017 · 17 comments

Comments

@askmike
Copy link
Owner

askmike commented Apr 15, 2017

Right now the charts found in the UI (backtesting + live strat runners) are very limited, they only show:

  • Market price (fixed at the interval configured under candleSize - this is what the strat sees).
  • Buy/sell signals.

aa

However Gekko has a lot of other information that should be plotted in the chars as well:

I am thinking now of:

  • All numbers indicator outputted by the indicators (Gekko already has a registry of indicators already)
  • Any other numbers you might want to register in your strat.

I was thinking something like this:

aa

Any thoughts on this?

@askmike askmike mentioned this issue Apr 15, 2017
12 tasks
@thegamecat
Copy link

This would be absolutely awesome. Would also be useful to be able to see all indicator values when hovering over the price line too.

Ultimately this is a tool to try and see if an indicator output is making sense regarding the price line.

Would also be useful to see volume bars on the price line.

I realise there has been a discussion about using the trading view graphs (and your reasoning for not using them is super sound), ultimately that is the type of thing that would be great to see.

@askmike
Copy link
Owner Author

askmike commented Apr 15, 2017

Would also be useful to see volume bars on the price line.

Yes!

This would be absolutely awesome. Would also be useful to be able to see all indicator values when hovering over the price line too.

I'll make it so that when you hover over anywhere within the "combined" chart you will see all props (price, date, volume, indicator numbers) in one box that hovers at your mouse.

I realise there has been a discussion about using the trading view graphs (and your reasoning for not using them is super sound), ultimately that is the type of thing that would be great to see.

All behaviour above this comment is very easy to do for myself :)

@thegamecat
Copy link

Boom!

@askmike
Copy link
Owner Author

askmike commented Apr 15, 2017

@thegamecat not related at all, but does this makes sense?

https://gekko.wizb.it/docs/introduction/about_gekko.html

(work in progress, lots of broken stuff).

@thegamecat
Copy link

Yep looks really good - only major change I would make is to the TA strategies section to state it's very easy to add your own Indicators with Nodejs knowledge.

@thegamecat
Copy link

I do wonder if there should be a tips and tricks section.

@tomih
Copy link

tomih commented Apr 16, 2017

Hi,
I think drawing library should be able to dynamicaly plot any number of time related data. It should plot on main chart or sub chart(s).
I did that some time ago with highcharts. The json outputed by strategy dictated how many charts (canvases) there should be. Something like this:

[
{
    name: 'candlestick',
    target: 'canvas1',
    type: 'candle',
    data: {}
},
{
    name: 'ema',
    target: 'canvas1',
    type: 'line',
    data: {}
},
{
    name: 'macd',
    target: 'canvas2',
    type: 'line',
    data: {}
},
{
    name: 'buysell',
    target: 'canvas1',
    type: 'flag',
    data: {}
},
...
] 

I hope it's clear.

regards,
T.

@askmike
Copy link
Owner Author

askmike commented Apr 16, 2017

@tomih yes, that is exactly what I was thinking as well. I posted this issue here to get feedback on what this would look like visually.

As for implementation I am thinking a small list of all chartable elements as well where you can toggle what parts of the graph should be visible.

The chart would likely be driven by the JSON, but the price data will soon be removed from the backtest JSON response (the client can just fetch it using thegetCandles API call, in order to improve the issues outlined in #603).

@tomih
Copy link

tomih commented Apr 16, 2017

Yes, backtester should return just backtest results. UI (the chart lib) should make separate request(s) to fetch candles and indicator data for the visible range of the chart.

As I already wrote once (and to ref #603), my strategy uses multiple timeframes (1, 15, 60, 240min, ...). 1 minute tf is used mainly for detecting pumps & dumps, other timeframes are used for different indicators.
Therefore it would be nice to plot candles in different (selected) timeframes.
I hope it makes sense.
T.

@thegamecat
Copy link

So you have one strategy that calls different candle sizes?

How do you achieve this?

@tomih
Copy link

tomih commented Apr 17, 2017

Actually I changed Gekko to create multitimeframe candles and emit them to strategy. https://github.com/tomih/gekko/tree/multitimeframe?files=1
T.

@thegamecat
Copy link

Nice will take a look.

@JohannesFerner
Copy link

This would actually allow to resolve #860 using some sort of Plugin or custom implementation in the strategy logic.

@askmike
Copy link
Owner Author

askmike commented Jul 23, 2017

discussion moved to #793.

@askmike askmike closed this as completed Jul 23, 2017
@askmike
Copy link
Owner Author

askmike commented Jul 25, 2017

@JohannesFerner:

This would actually allow to resolve #860 using some sort of Plugin or custom implementation in the strategy logic.

Yes a chart tracking current portfolio balance would be a simple plugin listening to (currently undocumented) trade events & candle prices to output a new event "portfolio balance". This is currently part of the performanceAnalyzer though..

@verbraucher
Copy link

I think this feature is already part in the gekko Quasar UI:
https://github.com/H256/gekko-quasar-ui

@PGTBoos
Copy link

PGTBoos commented Aug 29, 2019

@verbraucher this looks very usefull, are there plan for making this branch master ?.
Having no access to candles seam a huge limitation with the current GUI.
Yesterday i coded just a csv exporter (its in the strategies folder), to allow for data dumping and logging of additional data.

It would be great if additional lines could be drawn, on top of the graph (transparant overdraw?)

Are there more updated GUI's or is this the most advanced one so far ?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants