Add Features: Area & Bar & custom Candlestick series types, Grouping series in Legend, + plugins: Trend Trace, Fill area between 2 series, VolumeProfile, + Indicators, Settings+Context menu
Series Types:
- Area
- Bar
- Custom Candlestick implementation
| | |
V V V
-
Capable of candle data aggregation )
for displaying multiple timeframes simultaneously
-
Customizable Line Width
-
Customizable Line Style
-
Customizable Bar Spacing
-
Customizable Shape:
- Rectangle
- Rounded
- Ellipse
- Arrow
- Polygon
- Bar
- 3d
-
Volume Color Opacity Plugins:
-
- Fill Area: Shades the area between two series.
https://github.com/user-attachments/assets/6815125c-a216-4f40-885f-b61a9b53961b
-
Pitch Fork: Tool for drawing (added to toolbox):
- Standard
- Schiff
- Modified Schiff
- Inside
-
Volume Profile: Displays volume profiles based on the visible range ( also can be instantiated from and linked to existing drawing: box, trendline etc)
-
Trend Trace: A transformable/scalable replica of a section of series between a drawings points. Similar to 'Bars Pattern' in TradingView (instantiated from and linked to existing drawing: box, trendline etc)
https://github.com/user-attachments/assets/4b7da4e6-47a5-4835-878f-529191e4abd6
Indicators (implemented in typescript, from KLineChart primarily ( https://github.com/klinecharts/KLineChart )):
- Overlay Indicators:
- Arnaud Legoux Moving Average
- Bollinger Bands
- Exponential Moving Average
- Highest High
- Highest High Lowest Low
- Linear Regression Indicator
- Lowest Low
- Median
- Moving Average
- Rolling Moving Average
- Simple Moving Average
- Stop and Reverse
- Super Trend
- Symmetric Weighted Moving Average
- Triple Exponentially Smoothed Average
- Volume Weighted Average Price
- Volume Weighted Moving Average
- Weighted Moving Average
- Oscillator Indicators:
- Awesome Oscillator
- Average True Range
- Bias
- BRAR
- Bull and Bear Index
- Commodity Channel Index
- Current Ratio
- Difference of Moving Average
- Directional Movement Index
- Momentum
- Moving Average Convergence Divergence
- Psychological Line
- Rate of Change
- Relative Strength Index
- Stochastic Oscillator
- Variance
- Williams %R
- Change
- Range
- Standard Deviation
Context Menu:
- Upgraded context menu for better control over chart/series/primitive settings..
Legend
- Upgraded to allow for collapsible grouping of series.
- Tree-style display of groups > series > primitives. Series Cloning / Type Conversion
- Simple cloning to different series types
-Settings Menu:
- Ability to save options for chart, series, and primitives to JSON
Note:
- this is my first project using typescript
- code implemented primarily via bruteforcing chatGPT, there is probably a better way of doing lots of things in here, but hopefully this makes things quicker to implement
@EsIstJosh I've tried installing your fork, but it'm experiencing the following issue:
Traceback (most recent call last):
File "C:\...\visualize.py", line 42, in <module>
chart = Chart()
^^^^^^^
File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\chart.py", line 185, in __init__
super().__init__(window, inner_width, inner_height, scale_candles_only, toolbox, position=position)
File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\abstract.py", line 1087, in __init__
from lightweight_charts_.polygon import PolygonAPI
ModuleNotFoundError: No module named 'lightweight_charts_'
I've installed it using the following command with Python 3.11.4:
pip install -U git+https://github.com/EsIstJosh/lightweight-charts-python
Maybe I'm not doing it right. But if you could help in any way, that would be great.
@EsIstJosh I've tried installing your fork, but it'm experiencing the following issue:
Traceback (most recent call last): File "C:\...\visualize.py", line 42, in <module> chart = Chart() ^^^^^^^ File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\chart.py", line 185, in __init__ super().__init__(window, inner_width, inner_height, scale_candles_only, toolbox, position=position) File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\abstract.py", line 1087, in __init__ from lightweight_charts_.polygon import PolygonAPI ModuleNotFoundError: No module named 'lightweight_charts_'I've installed it using the following command with Python 3.11.4:
pip install -U git+https://github.com/EsIstJosh/lightweight-charts-pythonMaybe I'm not doing it right. But if you could help in any way, that would be great.
I think it has to do with me having an underscore after this : ModuleNotFoundError: No module named 'lightweight_charts_',
In my setup I have the project in my working directory so I could just reference it like that but it should probably be renamed back.
@EsIstJosh I've tried installing your fork, but it'm experiencing the following issue:
Traceback (most recent call last): File "C:\...\visualize.py", line 42, in <module> chart = Chart() ^^^^^^^ File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\chart.py", line 185, in __init__ super().__init__(window, inner_width, inner_height, scale_candles_only, toolbox, position=position) File "C:\...\venv_trading_2\Lib\site-packages\lightweight_charts\abstract.py", line 1087, in __init__ from lightweight_charts_.polygon import PolygonAPI ModuleNotFoundError: No module named 'lightweight_charts_'I've installed it using the following command with Python 3.11.4:
pip install -U git+https://github.com/EsIstJosh/lightweight-charts-pythonMaybe I'm not doing it right. But if you could help in any way, that would be great.I think it has to do with me having an underscore after this : ModuleNotFoundError: No module named 'lightweight_charts_',
In my setup I have the project in my working directory so I could just reference it like that but it should probably be renamed back.
Alright I'll make a local edit until you've changed it in the repo. Thanks for the reply! Edit: For anyone interested, changing from:
from lightweight_charts_.polygon import PolygonAPI
To
from .polygon import PolygonAPI
Fixed it.
How can I change the name of the candles on the chart? it's default is candles, the line is fine btw. And this it kinda out of context but I cant make the sub-chart scaling with the main chart using JupyterChart