A type of chart developed by the Japanese in the 1870s that uses a series of vertical lines to illustrate general levels of supply and demand for certain assets. Thick lines are drawn when the price of the underlying asset breaks above the previous high price and is interpreted as an increase in demand for the asset. Thin lines are used to represent increased supply when the price falls below the previous low.
As you can see, the Kagi chart shows a series of connecting vertical lines. The thickness and direction of the lines are dependent on the price. Suppose the prices are moving in the same direction then the line is extended. However, if prices reverse by a negative amount, a new Kagi line is drawn in a new column. When prices enter a previous high or low, the thickness of the kagi line changes. One important note about these charts is that they are independent of time and only change direction once a predefined reversal amount is reached. FusionCharts allows you to configure this reversal value either as percentage of range value or absolute value. FusionCharts also allows you to plot anchors at each data point to show the data points individually. You can opt to show or hide them.
Inheritance: NSoft.NFramework.FusionCharts.Charts.SingleSeriesChart
        private static KagiChart CreateKagiChart(string caption) {
            var kagi = new KagiChart
                       {
                           Caption = caption,
                           ShowValues = false,
                           Animation = true,
                           LabelDisplay = LabelDisplayStyle.Rotate,
                           ReversalPercentage = 5,
                           Anchor = { Draw = true },
                       };

            return kagi;
        }
Example #2
0
        public void KagiChartXmlTest() {
            var kagi = new KagiChart
                       {
                           Caption = "Kagi",
                           ShowValues = false,
                           Animation = true,
                           LabelDisplay = LabelDisplayStyle.Rotate,
                           ReversalPercentage = 5,
                       };
            kagi.Anchor.Draw = true;

            for(int i = 1; i <= 30; i++) {
                kagi.AddSet("3/" + i, rnd.Next(2400, 2800) / 100.0);
            }

            ValidateChartXml(kagi);
        }
        public void KagiChartXmlTest()
        {
            var kagi = new KagiChart
            {
                Caption            = "Kagi",
                ShowValues         = false,
                Animation          = true,
                LabelDisplay       = LabelDisplayStyle.Rotate,
                ReversalPercentage = 5,
            };

            kagi.Anchor.Draw = true;

            for (int i = 1; i <= 30; i++)
            {
                kagi.AddSet("3/" + i, rnd.Next(2400, 2800) / 100.0);
            }

            ValidateChartXml(kagi);
        }
 private static void FillSetData(KagiChart kagi) {
     for(int i = 1; i <= 30; i++) {
         kagi.AddSet("3/" + i, rnd.Next(2400, 2800) / 100.0);
     }
 }