Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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 #473

Open
wants to merge 75 commits into
base: main
Choose a base branch
from

Conversation

EsIstJosh
Copy link

@EsIstJosh EsIstJosh commented Oct 27, 2024

Screenshot2025-02-07114921

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.
YouCut_20250216_064834465.mp4
  • 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)

Screen.Recording.2025-01-24.112158.3.mp4

Indicators (implemented in typescript, from KLineChart primarily ( https://github.com/klinecharts/KLineChart )):

  • Overlay Indicators:
  1. Arnaud Legoux Moving Average
  2. Bollinger Bands
  3. Exponential Moving Average
  4. Highest High
  5. Highest High Lowest Low
  6. Linear Regression Indicator
  7. Lowest Low
  8. Median
  9. Moving Average
  10. Rolling Moving Average
  11. Simple Moving Average
  12. Stop and Reverse
  13. Super Trend
  14. Symmetric Weighted Moving Average
  15. Triple Exponentially Smoothed Average
  16. Volume Weighted Average Price
  17. Volume Weighted Moving Average
  18. Weighted Moving Average
  • Oscillator Indicators:
  1. Awesome Oscillator
  2. Average True Range
  3. Bias
  4. BRAR
  5. Bull and Bear Index
  6. Commodity Channel Index
  7. Current Ratio
  8. Difference of Moving Average
  9. Directional Movement Index
  10. Momentum
  11. Moving Average Convergence Divergence
  12. Psychological Line
  13. Rate of Change
  14. Relative Strength Index
  15. Stochastic Oscillator
  16. Variance
  17. Williams %R
  18. Change
  19. Range
  20. 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

Use existing line/histogram logic to implement area charts
Add methods to plot area chart.
Fix: Area line coloring  
Feat: Implement bar series
Feat: Implement bar series
Feat: Implement Area and Bar series types
Fix: Bar update method
Add functionality to group lines under a single legend item following example shown by @esteban2006 louisnw01#452 (comment)
Implement logic to handle LegendGroup creation when creating a line series.
Add group parameter (str) to make a line appear in the legend under a LegendGroup
@EsIstJosh EsIstJosh changed the title Implement Area & Bar series types Add Features: Area & Bar series types, Grouping lines under 1 Legend item. Oct 30, 2024
@EsIstJosh
Copy link
Author

image

@EsIstJosh EsIstJosh changed the title Add Features: Area & Bar series types, Grouping lines under 1 Legend item. Add Features: Area & Bar series types, Grouping [Line,Histogram,Area,Bar] series under 1 Legend item using optional 'group' and 'legend_symbol' parameters. Oct 31, 2024
EsIstJosh and others added 12 commits October 31, 2024 05:17
Cleaned up, restructured for easier interaction adding/removing
Fix wick position for combined candles
For those who think the default candles are too thick.
Enhance flexibility by enabling the configuration of lineStyle, lineWidth, and the shape of individual bars through corresponding columns in the DataFrame, similar to the existing options for color, borderColor, and wickColor. Also improve performance by separating data aggregation from rendering.
@EsIstJosh EsIstJosh changed the title Add Features: Area & Bar series types, Grouping [Line,Histogram,Area,Bar] series under 1 Legend item using optional 'group' and 'legend_symbol' parameters. 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 Feb 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants