Code Monkey home page Code Monkey logo

fancycandles's Introduction

candlestick chart control FancyCandles

NuGet version (FancyCandles)

FancyCandles is a WPF library that lets you add a professional candlestick charts to your applications. A wide variety of settings provides rich customization abilities. Traditionally candlesticks are used for visualizing a price history of financial instruments - stocks, currency pairs or futures. But you can utilize the candlestick charts for plotting any time series converted to OHLC format (Open, High, Low, Close).

WPF candlstick chart control

FancyCandles is an open source library under the GPLv3 license. That lets you use the FancyCandles candlestick charts in your internal trading/analytical software applications or another open source projects absolutely free. A licensing under permissive licenses is available for a commercial usage in a proprietary software projects.

Chart settings

You can open the properties window of the candlestick chart control by right-clicking on the chart area and selecting Settings in the context menu.

WPF candlstick chart properties

To save or load settings from a file select the appropriate context menu items. You can do the same via API methods.

WPF candlstick chart properties

Technical indicators

The candlestick chart control contains a collection of built-in technical indicators. Yet, you or even users of your application can expand it with custom add-in overlay indicators. For more information about it read this article in the documentation.

WPF candlstick chart properties

Candle Providers

You can implement your own candle data provider to use it in conjunction with the FancyCandles candlestick chart control, so that your application users can select a security from a provided financial instrument list via the context menu.

WPF candlstick chart properties

Demo app in Microsoft Store

Look at FancyCandles Demo app to see the FancyCandles candlestick chart control in action. Moreover, you can use this app as a simplistic interactive documentation - change class properties from the list, and see how they affect the appearance and behavior of the control. The easiest and most effective way to learn about the features and functionality of our product!

Documentation and Quick start

You can read the documentation online. The Getting started section of the documentation is the best way to take the initial steps.

Got questions?

If you have any questions or suggestions, don't hesitate to submit a new GitHub issue.

License

GNU GPLv3 license.

fancycandles's People

Contributors

gellerda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fancycandles's Issues

Issues with migrate to Core

if someone try to convert to Core (my case .net6 core )
everything seem go smooth , but as soon as trying to open setting it will fail .

2 things need to be changed in the
CandleChartPropertiesWindow.xaml.cs
method : GetOverlayIndicatorTypes

  1. you can no longer scan the .exe for indicators , it will be cover by the dll of same name as .exe file
    so remove the .exe from allowedExtensions
    var allowedExtensions = new[] { ".dll"}; // the .exe file generated in a .NET Core 3.0 application is not an IL assembly

otherwise it will fail in this line :
Assembly asm = Assembly.LoadFile(asmPath)

this line InitializeComponent(); in the contructor will throw
System.Exception: 'The component 'FancyCandles.CandleChartPropertiesWindow' does not have a resource identified by the URI '/FancyCandles;component/candlechartpropertieswindow.xaml'.'

fix .
change Assembly asm = Assembly.LoadFile(asmPath) -> Assembly asm = Assembly.LoadFrom(asmPath)

Font color

Can't find properties for font color changes

image

Add the ability to plot trades on the chart

It would be nice to be able to plot trades on the chart.

For example, provide the ability to bind to a collection of trades and render an up arrow when a buy occurs a down arrow when a sell occurs. Connect the entry and exit transactions for a given trade with a dotted line.

Nice library!

Not work With C# Vs2019

Severity Code Description Project File Line Suppression State Error Could not install package 'FancyCandles 2.7.1'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

Small bug

When using your library, I found a small bug, when setting zero volume for a candlestick - the volume histogram behaves strangely

image

AxisTickColor

Hi, This chart is very useful to me.
can you split AxisTickColor to AxisBorder and AxisText? It might be awesome.

Вертикальный скролинг ?

Привет, не знаю понимаешь ли ты русский язык.

Мне бы хотелось узнать возможен ли вертикальный скролинг ? В какую сторону мне копать дабы это реализовать самому ? Я не прошу реализовать такой функционал, мне нужно понять возможно ли это и куда копать в коде.

Current price label

I would like to see in your FancyCandles library a label on the chart that would show the current price

image

Thanks for the library

Is it possible to draw a 1 sec chart?

Hi,

First of all great work on control.

I have few questions which I would be appreciate if someone can help me with.

  • I would like to draw a second chart of BTCUSD but when I do that, it only shows Y-Axis and Price but no time on the X-Axis. Chart draws and work but missing labels on the X-Axis.
  • Is it possible to move the Price label box inside the chart? Currently its showing outside the bounds of the chart.
  • OHLC values are double but when they show on the chart, they are not formatted and showing as many decimal points. Is there a way to fix that?
  • Is it possible to add a line or image at certial point on the chart at runtime based on custom logic?

Please see screenshot for reference.

image

Regards
Azhar

DefaultLegend Text cannot be replaced programmatically at start up

Hi,

I am new to using FancyCandles library. I followed the instructions to display the Candles in the WPF app.
But I could not figure out how to change the default legend text programmatically at start-up of the app.
I must manually open the Setting tab and change it which is not my goal.
I saw there was the CandleChart_Loaded() function that I can call at start-up but I could not figure out how to change the Default Legend text with my Custom text at start-up.

Another question is I have many monitors in my desktop.

How do I display the particular FancyCandles chart at start-up at a specific monitor and at the specific location of that monitor?

Thanks for answering my questions.

Sincerely,

Kenneth Lai

Error when switching from the view with the chart to any other view

My main viewmodel has a property CurrentViewModel. When I click on button Spot, CurrentViewModel = new SpotViewModel. SpotViewModel has a view which has a chart. When I click for exaple on Account button. The CurrentViewModel = new AccountViewModel, at this time an exception occurs. Any suggestions?

image
image

<local:ObservableOverlayIndicatorCollection> error

everything is working but not that line it says not exist.. i already added this

     xmlns:fc="clr-namespace:FancyCandles;assembly=FancyCandles"
        xmlns:fci="clr-namespace:FancyCandles.Indicators;assembly=FancyCandles"   

and it works without that line.. what is that line for?

Want to look into merging my fork?

I have made some really heavy, insane changes to the FancyCandles (I only pulled it around 2 months ago), adding a lot of new features including a running real-time value to display in the cross price value field when the mouse is not over, several visual improvements (a redesigned scroll bar), and other extras including number formatting, dash patterns for cross lines, a sub-heading for legend, etc.

Now, I have seen that you have also added a lot of new cool features to your own version, and I want to see if they're mergeable.

I'm looking through some of your code, now.

So, for all the improvements that I've made, there will need to be a settings area added in the settings window, now, I guess.

Not too sure how to merge your changes into my code.

Oh, another very major thing I did is that I converted the entire project to .NET 5.

Since there's a lot of ground that separates the two versions, I was wondering if you wanted to discuss merging, some time?

Price axis label color inheritance

Hello, very nice library. It is the best one around that I could find for candle charts.
My only issue is attempting to skin the chart to fit my app, I cannot change the font color on the price & time axis. Since my application has a darker background, the actual prices are hard to read as they default to black.
I was looking through the documentation and was unable to find a property to change this value. I was hoping you can assist! Thank you.

Support line chart

Hi,
Just started to build with the chart. Consider to add line chart to it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.