Skip to content
daisyBlazor

PriceActionChart

Charts that only move when the value does, whatever the time: Renko bricks, Kagi lines, line break lines and point and figure columns, built from a series of readings such as CPU utilisation or queue depth. D3 computes the bricks, lines or columns from the closes; the x axis numbers them, the y axis is the value, and each tooltip gives the dates of the move.
Over time
Cover · <PriceActionChart>
Renko chart23 bricks, 14 rising and 9 falling, from Oct 19, 2026 06:00 to Oct 19, 2026 21:00; box 4.510152030405060Brick 1, rising: 45 → 49; Oct 19, 2026 06:00 – Oct 19, 2026 06:15Brick 2, rising: 49 → 53; Oct 19, 2026 06:15 – Oct 19, 2026 07:00Brick 3, rising: 53 → 57; Oct 19, 2026 06:15 – Oct 19, 2026 07:00Brick 4, rising: 57 → 61; Oct 19, 2026 07:00 – Oct 19, 2026 07:45Brick 5, rising: 61 → 65; Oct 19, 2026 07:45 – Oct 19, 2026 08:45Brick 6, falling: 61 → 57; Oct 19, 2026 08:45 – Oct 19, 2026 10:45Brick 7, falling: 57 → 53; Oct 19, 2026 10:45 – Oct 19, 2026 11:30Brick 8, falling: 53 → 49; Oct 19, 2026 10:45 – Oct 19, 2026 11:30Brick 9, falling: 49 → 45; Oct 19, 2026 11:30 – Oct 19, 2026 12:15Brick 10, falling: 45 → 41; Oct 19, 2026 12:15 – Oct 19, 2026 12:30Brick 11, falling: 41 → 37; Oct 19, 2026 12:30 – Oct 19, 2026 13:15Brick 12, falling: 37 → 33; Oct 19, 2026 12:30 – Oct 19, 2026 13:15Brick 13, falling: 33 → 29; Oct 19, 2026 13:15 – Oct 19, 2026 14:00Brick 14, falling: 29 → 25; Oct 19, 2026 14:00 – Oct 19, 2026 15:00Brick 15, rising: 29 → 33; Oct 19, 2026 15:00 – Oct 19, 2026 17:00Brick 16, rising: 33 → 37; Oct 19, 2026 17:00 – Oct 19, 2026 17:45Brick 17, rising: 37 → 41; Oct 19, 2026 17:00 – Oct 19, 2026 17:45Brick 18, rising: 41 → 45; Oct 19, 2026 17:45 – Oct 19, 2026 18:30Brick 19, rising: 45 → 49; Oct 19, 2026 18:30 – Oct 19, 2026 19:15Brick 20, rising: 49 → 53; Oct 19, 2026 19:15 – Oct 19, 2026 19:30Brick 21, rising: 53 → 57; Oct 19, 2026 19:30 – Oct 19, 2026 20:15Brick 22, rising: 57 → 61; Oct 19, 2026 19:30 – Oct 19, 2026 20:15Brick 23, rising: 61 → 65; Oct 19, 2026 20:15 – Oct 19, 2026 21:00

Examples

Renko

Prices takes Candle records (only the closes build the chart). ChartKind="Renko" draws a brick of BoxSize each time a close is a whole box past the last brick, so a trend goes on after one box and reverses after two. Without a BoxSize, the brick is the average true range over AtrPeriod (14) periods.

CPU utilisation, api-01 (%): 5-point bricks
CPU utilisation, api-01 (%): 5-point bricks21 bricks, 10 rising and 11 falling, from Oct 19, 2026 to Oct 19, 2026 23:30; box 5 %.246810121416182020304050607080Brick 1, falling: 27 % → 22 %; Oct 19, 2026 – Oct 19, 2026 00:30Brick 2, rising: 27 % → 32 %; Oct 19, 2026 00:30 – Oct 19, 2026 03:30Brick 3, rising: 32 % → 37 %; Oct 19, 2026 03:30 – Oct 19, 2026 04:30Brick 4, rising: 37 % → 42 %; Oct 19, 2026 04:30 – Oct 19, 2026 06:15Brick 5, rising: 42 % → 47 %; Oct 19, 2026 06:15 – Oct 19, 2026 07:15Brick 6, rising: 47 % → 52 %; Oct 19, 2026 07:15 – Oct 19, 2026 08:15Brick 7, rising: 52 % → 57 %; Oct 19, 2026 08:15 – Oct 19, 2026 10:15Brick 8, rising: 57 % → 62 %; Oct 19, 2026 10:15 – Oct 19, 2026 11:00Brick 9, rising: 62 % → 67 %; Oct 19, 2026 11:00 – Oct 19, 2026 11:15Brick 10, rising: 67 % → 72 %; Oct 19, 2026 11:15 – Oct 19, 2026 11:45Brick 11, rising: 72 % → 77 %; Oct 19, 2026 11:45 – Oct 19, 2026 12:00Brick 12, falling: 72 % → 67 %; Oct 19, 2026 12:00 – Oct 19, 2026 13:00Brick 13, falling: 67 % → 62 %; Oct 19, 2026 13:00 – Oct 19, 2026 13:15Brick 14, falling: 62 % → 57 %; Oct 19, 2026 13:00 – Oct 19, 2026 13:15Brick 15, falling: 57 % → 52 %; Oct 19, 2026 13:15 – Oct 19, 2026 14:15Brick 16, falling: 52 % → 47 %; Oct 19, 2026 14:15 – Oct 19, 2026 15:15Brick 17, falling: 47 % → 42 %; Oct 19, 2026 15:15 – Oct 19, 2026 17:00Brick 18, falling: 42 % → 37 %; Oct 19, 2026 17:00 – Oct 19, 2026 18:00Brick 19, falling: 37 % → 32 %; Oct 19, 2026 18:00 – Oct 19, 2026 19:45Brick 20, falling: 32 % → 27 %; Oct 19, 2026 19:45 – Oct 19, 2026 20:45Brick 21, falling: 27 % → 22 %; Oct 19, 2026 20:45 – Oct 19, 2026 23:30
Rising Falling
Same readings, brick = average true range (14)
Same readings, brick = average true range (14)13 bricks, 7 rising and 6 falling, from Oct 19, 2026 to Oct 19, 2026 20:45; box 6.9 %.12345678910111213304050607080Brick 1, rising: 27 % → 33.9 %; Oct 19, 2026 – Oct 19, 2026 03:45Brick 2, rising: 33.9 % → 40.8 %; Oct 19, 2026 03:45 – Oct 19, 2026 05:30Brick 3, rising: 40.8 % → 47.6 %; Oct 19, 2026 05:30 – Oct 19, 2026 07:15Brick 4, rising: 47.6 % → 54.5 %; Oct 19, 2026 07:15 – Oct 19, 2026 09:15Brick 5, rising: 54.5 % → 61.4 %; Oct 19, 2026 09:15 – Oct 19, 2026 11:00Brick 6, rising: 61.4 % → 68.3 %; Oct 19, 2026 11:00 – Oct 19, 2026 11:15Brick 7, rising: 68.3 % → 75.1 %; Oct 19, 2026 11:15 – Oct 19, 2026 12:00Brick 8, falling: 68.3 % → 61.4 %; Oct 19, 2026 12:00 – Oct 19, 2026 13:15Brick 9, falling: 61.4 % → 54.5 %; Oct 19, 2026 12:00 – Oct 19, 2026 13:15Brick 10, falling: 54.5 % → 47.6 %; Oct 19, 2026 13:15 – Oct 19, 2026 15:15Brick 11, falling: 47.6 % → 40.8 %; Oct 19, 2026 15:15 – Oct 19, 2026 17:00Brick 12, falling: 40.8 % → 33.9 %; Oct 19, 2026 17:00 – Oct 19, 2026 19:00Brick 13, falling: 33.9 % → 27 %; Oct 19, 2026 19:00 – Oct 19, 2026 20:45
Rising Falling
website/Examples/Charts/PriceActionChartRenkoExample.razor Source

Kagi

ChartKind="Kagi" draws a line that goes on while closes extend it and turns when one comes back by Reversal (in value units, or a percentage of the line's end with ReversalPercent). The line turns thick (yang) where it rises above the previous shoulder and thin (yin) where it falls below the previous waist.

Job queue depth: Kagi, 40-job reversal
Job queue depth: Kagi, 40-job reversal7 lines, 4 rising and 3 falling, from Oct 18, 2026 to Oct 20, 2026 11:30; reversal 40 jobs.1234567100150200250300350400450500Line 1, rising: 240 jobs → 413 jobs; Oct 18, 2026 – Oct 18, 2026 09:00Line 2, falling: 413 jobs → 107 jobs; Oct 18, 2026 09:00 – Oct 18, 2026 20:00Line 3, rising: 107 jobs → 408 jobs; Oct 18, 2026 20:00 – Oct 19, 2026 07:30Line 4, falling: 408 jobs → 361 jobs; Oct 19, 2026 07:30 – Oct 19, 2026 10:00Line 5, rising: 361 jobs → 453 jobs; Oct 19, 2026 10:00 – Oct 19, 2026 13:30Line 6, falling: 453 jobs → 150 jobs; Oct 19, 2026 13:30 – Oct 20, 2026 01:00Line 7, rising: 150 jobs → 458 jobs; Oct 20, 2026 01:00 – Oct 20, 2026 11:30
Yang (thick) Yin (thin)
Same depth, 15 % reversal
Same depth, 15 % reversal5 lines, 3 rising and 2 falling, from Oct 18, 2026 to Oct 20, 2026 11:30; reversal 15 %.12345100150200250300350400450500Line 1, rising: 240 jobs → 413 jobs; Oct 18, 2026 – Oct 18, 2026 09:00Line 2, falling: 413 jobs → 107 jobs; Oct 18, 2026 09:00 – Oct 18, 2026 20:00Line 3, rising: 107 jobs → 453 jobs; Oct 18, 2026 20:00 – Oct 19, 2026 13:30Line 4, falling: 453 jobs → 150 jobs; Oct 19, 2026 13:30 – Oct 20, 2026 01:00Line 5, rising: 150 jobs → 458 jobs; Oct 20, 2026 01:00 – Oct 20, 2026 11:30
Yang (thick) Yin (thin)
website/Examples/Charts/PriceActionChartKagiExample.razor Source

Line break

ChartKind="LineBreak" draws a new line each time a close passes the last line's top or bottom; a line against the trend must also pass the extreme of the last Lines lines (3 by default).

CPU utilisation, api-01 (%): three-line break
CPU utilisation, api-01 (%): three-line break38 lines, 20 rising and 18 falling, from Oct 17, 2026 to Oct 19, 2026 22:00; 3-line break.2468101214161820222426283032343638203040506070Line 1, rising: 24.7 % → 26.6 %; Oct 17, 2026 – Oct 17, 2026 01:00Line 2, falling: 24.7 % → 21 %; Oct 17, 2026 01:00 – Oct 17, 2026 02:00Line 3, falling: 21 % → 19 %; Oct 17, 2026 02:00 – Oct 17, 2026 03:00Line 4, rising: 21 % → 26.7 %; Oct 17, 2026 03:00 – Oct 17, 2026 04:00Line 5, rising: 26.7 % → 31.1 %; Oct 17, 2026 04:00 – Oct 17, 2026 05:00Line 6, rising: 31.1 % → 34.4 %; Oct 17, 2026 05:00 – Oct 17, 2026 07:00Line 7, rising: 34.4 % → 45.4 %; Oct 17, 2026 07:00 – Oct 17, 2026 08:00Line 8, rising: 45.4 % → 48.8 %; Oct 17, 2026 08:00 – Oct 17, 2026 09:00Line 9, rising: 48.8 % → 55.5 %; Oct 17, 2026 09:00 – Oct 17, 2026 11:00Line 10, rising: 55.5 % → 63.3 %; Oct 17, 2026 11:00 – Oct 17, 2026 12:00Line 11, falling: 55.5 % → 44.1 %; Oct 17, 2026 12:00 – Oct 17, 2026 20:00Line 12, falling: 44.1 % → 33.2 %; Oct 17, 2026 20:00 – Oct 17, 2026 21:00Line 13, falling: 33.2 % → 30.8 %; Oct 17, 2026 21:00 – Oct 17, 2026 22:00Line 14, falling: 30.8 % → 24.8 %; Oct 17, 2026 22:00 – Oct 18, 2026Line 15, falling: 24.8 % → 18.7 %; Oct 18, 2026 – Oct 18, 2026 01:00Line 16, rising: 24.8 % → 34.7 %; Oct 18, 2026 01:00 – Oct 18, 2026 06:00Line 17, rising: 34.7 % → 39.4 %; Oct 18, 2026 06:00 – Oct 18, 2026 07:00Line 18, rising: 39.4 % → 45.4 %; Oct 18, 2026 07:00 – Oct 18, 2026 09:00Line 19, rising: 45.4 % → 55.8 %; Oct 18, 2026 09:00 – Oct 18, 2026 10:00Line 20, rising: 55.8 % → 56.9 %; Oct 18, 2026 10:00 – Oct 18, 2026 11:00Line 21, rising: 56.9 % → 61.6 %; Oct 18, 2026 11:00 – Oct 18, 2026 13:00Line 22, rising: 61.6 % → 65.9 %; Oct 18, 2026 13:00 – Oct 18, 2026 14:00Line 23, falling: 61.6 % → 55.7 %; Oct 18, 2026 14:00 – Oct 18, 2026 16:00Line 24, falling: 55.7 % → 55 %; Oct 18, 2026 16:00 – Oct 18, 2026 18:00Line 25, falling: 55 % → 44.2 %; Oct 18, 2026 18:00 – Oct 18, 2026 19:00Line 26, falling: 44.2 % → 39.7 %; Oct 18, 2026 19:00 – Oct 18, 2026 20:00Line 27, falling: 39.7 % → 33.3 %; Oct 18, 2026 20:00 – Oct 18, 2026 22:00Line 28, falling: 33.3 % → 23.9 %; Oct 18, 2026 22:00 – Oct 18, 2026 23:00Line 29, falling: 23.9 % → 21.3 %; Oct 18, 2026 23:00 – Oct 19, 2026 02:00Line 30, falling: 21.3 % → 18.9 %; Oct 19, 2026 02:00 – Oct 19, 2026 03:00Line 31, rising: 21.3 % → 34.1 %; Oct 19, 2026 03:00 – Oct 19, 2026 07:00Line 32, rising: 34.1 % → 45.3 %; Oct 19, 2026 07:00 – Oct 19, 2026 08:00Line 33, rising: 45.3 % → 49.1 %; Oct 19, 2026 08:00 – Oct 19, 2026 09:00Line 34, rising: 49.1 % → 55.2 %; Oct 19, 2026 09:00 – Oct 19, 2026 11:00Line 35, rising: 55.2 % → 63.3 %; Oct 19, 2026 11:00 – Oct 19, 2026 12:00Line 36, falling: 55.2 % → 44.4 %; Oct 19, 2026 12:00 – Oct 19, 2026 20:00Line 37, falling: 44.4 % → 33.3 %; Oct 19, 2026 20:00 – Oct 19, 2026 21:00Line 38, falling: 33.3 % → 30.5 %; Oct 19, 2026 21:00 – Oct 19, 2026 22:00
Rising Falling
Same hours, two-line break
Same hours, two-line break41 lines, 22 rising and 19 falling, from Oct 17, 2026 to Oct 19, 2026 22:00; 2-line break.246810121416182022242628303234363840203040506070Line 1, rising: 24.7 % → 26.6 %; Oct 17, 2026 – Oct 17, 2026 01:00Line 2, falling: 24.7 % → 21 %; Oct 17, 2026 01:00 – Oct 17, 2026 02:00Line 3, falling: 21 % → 19 %; Oct 17, 2026 02:00 – Oct 17, 2026 03:00Line 4, rising: 21 % → 26.7 %; Oct 17, 2026 03:00 – Oct 17, 2026 04:00Line 5, rising: 26.7 % → 31.1 %; Oct 17, 2026 04:00 – Oct 17, 2026 05:00Line 6, rising: 31.1 % → 34.4 %; Oct 17, 2026 05:00 – Oct 17, 2026 07:00Line 7, rising: 34.4 % → 45.4 %; Oct 17, 2026 07:00 – Oct 17, 2026 08:00Line 8, rising: 45.4 % → 48.8 %; Oct 17, 2026 08:00 – Oct 17, 2026 09:00Line 9, rising: 48.8 % → 55.5 %; Oct 17, 2026 09:00 – Oct 17, 2026 11:00Line 10, rising: 55.5 % → 63.3 %; Oct 17, 2026 11:00 – Oct 17, 2026 12:00Line 11, falling: 55.5 % → 44.1 %; Oct 17, 2026 12:00 – Oct 17, 2026 20:00Line 12, falling: 44.1 % → 33.2 %; Oct 17, 2026 20:00 – Oct 17, 2026 21:00Line 13, falling: 33.2 % → 30.8 %; Oct 17, 2026 21:00 – Oct 17, 2026 22:00Line 14, falling: 30.8 % → 24.8 %; Oct 17, 2026 22:00 – Oct 18, 2026Line 15, falling: 24.8 % → 18.7 %; Oct 18, 2026 – Oct 18, 2026 01:00Line 16, rising: 24.8 % → 34.7 %; Oct 18, 2026 01:00 – Oct 18, 2026 06:00Line 17, rising: 34.7 % → 39.4 %; Oct 18, 2026 06:00 – Oct 18, 2026 07:00Line 18, rising: 39.4 % → 45.4 %; Oct 18, 2026 07:00 – Oct 18, 2026 09:00Line 19, rising: 45.4 % → 55.8 %; Oct 18, 2026 09:00 – Oct 18, 2026 10:00Line 20, rising: 55.8 % → 56.9 %; Oct 18, 2026 10:00 – Oct 18, 2026 11:00Line 21, rising: 56.9 % → 61.6 %; Oct 18, 2026 11:00 – Oct 18, 2026 13:00Line 22, rising: 61.6 % → 65.9 %; Oct 18, 2026 13:00 – Oct 18, 2026 14:00Line 23, falling: 61.6 % → 55.7 %; Oct 18, 2026 14:00 – Oct 18, 2026 16:00Line 24, falling: 55.7 % → 55 %; Oct 18, 2026 16:00 – Oct 18, 2026 18:00Line 25, falling: 55 % → 44.2 %; Oct 18, 2026 18:00 – Oct 18, 2026 19:00Line 26, falling: 44.2 % → 39.7 %; Oct 18, 2026 19:00 – Oct 18, 2026 20:00Line 27, falling: 39.7 % → 33.3 %; Oct 18, 2026 20:00 – Oct 18, 2026 22:00Line 28, falling: 33.3 % → 23.9 %; Oct 18, 2026 22:00 – Oct 18, 2026 23:00Line 29, falling: 23.9 % → 21.3 %; Oct 18, 2026 23:00 – Oct 19, 2026 02:00Line 30, falling: 21.3 % → 18.9 %; Oct 19, 2026 02:00 – Oct 19, 2026 03:00Line 31, rising: 21.3 % → 26.4 %; Oct 19, 2026 03:00 – Oct 19, 2026 04:00Line 32, rising: 26.4 % → 31.2 %; Oct 19, 2026 04:00 – Oct 19, 2026 05:00Line 33, rising: 31.2 % → 34.1 %; Oct 19, 2026 05:00 – Oct 19, 2026 07:00Line 34, rising: 34.1 % → 45.3 %; Oct 19, 2026 07:00 – Oct 19, 2026 08:00Line 35, rising: 45.3 % → 49.1 %; Oct 19, 2026 08:00 – Oct 19, 2026 09:00Line 36, rising: 49.1 % → 55.2 %; Oct 19, 2026 09:00 – Oct 19, 2026 11:00Line 37, rising: 55.2 % → 63.3 %; Oct 19, 2026 11:00 – Oct 19, 2026 12:00Line 38, falling: 55.2 % → 48.9 %; Oct 19, 2026 12:00 – Oct 19, 2026 18:00Line 39, falling: 48.9 % → 44.4 %; Oct 19, 2026 18:00 – Oct 19, 2026 20:00Line 40, falling: 44.4 % → 33.3 %; Oct 19, 2026 20:00 – Oct 19, 2026 21:00Line 41, falling: 33.3 % → 30.5 %; Oct 19, 2026 21:00 – Oct 19, 2026 22:00
Rising Falling
website/Examples/Charts/PriceActionChartLineBreakExample.razor Source

Point and figure

ChartKind="PointAndFigure" stacks X boxes of BoxSize while closes rise and O boxes while they fall; a column turns when a close is Reversal boxes (3 by default) past its end, starting one box away from it.

Job queue depth: point and figure, 20-job boxes, 3-box reversal
Job queue depth: point and figure, 20-job boxes, 3-box reversal5 columns, 3 rising and 2 falling, from Oct 18, 2026 to Oct 20, 2026 11:00; box 20 jobs, 3-box reversal.12345100150200250300350400450Column 1, rising: 240 jobs → 400 jobs (9 X); Oct 18, 2026 – Oct 18, 2026 08:00Column 2, falling: 380 jobs → 120 jobs (14 O); Oct 18, 2026 08:00 – Oct 18, 2026 19:30Column 3, rising: 140 jobs → 440 jobs (16 X); Oct 18, 2026 19:30 – Oct 19, 2026 13:00Column 4, falling: 420 jobs → 160 jobs (14 O); Oct 19, 2026 13:00 – Oct 20, 2026 00:30Column 5, rising: 180 jobs → 440 jobs (14 X); Oct 20, 2026 00:30 – Oct 20, 2026 11:00
Rising (X) Falling (O)
website/Examples/Charts/PriceActionChartPointAndFigureExample.razor Source

Playground

CPU utilisation, api-01 (%): 5-point bricks
CPU utilisation, api-01 (%): 5-point bricks21 bricks, 10 rising and 11 falling, from Oct 19, 2026 to Oct 19, 2026 23:30; box 5 %.246810121416182020304050607080Brick 1, falling: 27 % → 22 %; Oct 19, 2026 – Oct 19, 2026 00:30Brick 2, rising: 27 % → 32 %; Oct 19, 2026 00:30 – Oct 19, 2026 03:30Brick 3, rising: 32 % → 37 %; Oct 19, 2026 03:30 – Oct 19, 2026 04:30Brick 4, rising: 37 % → 42 %; Oct 19, 2026 04:30 – Oct 19, 2026 06:15Brick 5, rising: 42 % → 47 %; Oct 19, 2026 06:15 – Oct 19, 2026 07:15Brick 6, rising: 47 % → 52 %; Oct 19, 2026 07:15 – Oct 19, 2026 08:15Brick 7, rising: 52 % → 57 %; Oct 19, 2026 08:15 – Oct 19, 2026 10:15Brick 8, rising: 57 % → 62 %; Oct 19, 2026 10:15 – Oct 19, 2026 11:00Brick 9, rising: 62 % → 67 %; Oct 19, 2026 11:00 – Oct 19, 2026 11:15Brick 10, rising: 67 % → 72 %; Oct 19, 2026 11:15 – Oct 19, 2026 11:45Brick 11, rising: 72 % → 77 %; Oct 19, 2026 11:45 – Oct 19, 2026 12:00Brick 12, falling: 72 % → 67 %; Oct 19, 2026 12:00 – Oct 19, 2026 13:00Brick 13, falling: 67 % → 62 %; Oct 19, 2026 13:00 – Oct 19, 2026 13:15Brick 14, falling: 62 % → 57 %; Oct 19, 2026 13:00 – Oct 19, 2026 13:15Brick 15, falling: 57 % → 52 %; Oct 19, 2026 13:15 – Oct 19, 2026 14:15Brick 16, falling: 52 % → 47 %; Oct 19, 2026 14:15 – Oct 19, 2026 15:15Brick 17, falling: 47 % → 42 %; Oct 19, 2026 15:15 – Oct 19, 2026 17:00Brick 18, falling: 42 % → 37 %; Oct 19, 2026 17:00 – Oct 19, 2026 18:00Brick 19, falling: 37 % → 32 %; Oct 19, 2026 18:00 – Oct 19, 2026 19:45Brick 20, falling: 32 % → 27 %; Oct 19, 2026 19:45 – Oct 19, 2026 20:45Brick 21, falling: 27 % → 22 %; Oct 19, 2026 20:45 – Oct 19, 2026 23:30
Rising Falling
ChartKind PriceActionKind
<PriceActionChart
                  BoxSize="5"
                  ValueFormat="{0:0.#} %"
                  Title="CPU utilisation, api-01 (%): 5-point bricks"
                  AspectRatio="2.4"
                  Prices="@_readings" />

@code {
    // 96 quarter-hour CPU readings. A brick is drawn each time the reading moves a whole box past the
    // last brick; noise inside a box draws nothing, so the x axis counts bricks, not time.
    private static readonly Candle[] _readings = Enumerable.Range(0, 96)
        .Select(i =>
        {
            double open = Level(i), close = Level(i + 1);
            return new Candle(new DateTime(2026, 10, 19, 0, 0, 0).AddMinutes(15 * i), open, Math.Max(open, close) + 2, Math.Min(open, close) - 2, close);
        })
        .ToArray();

    private static double Level(int i) =>
        Math.Round(40 + 16 * Math.Sin((i - 24) / 96.0 * 2 * Math.PI) + (i is >= 44 and <= 54 ? 20 * Math.Sin((i - 44) / 10.0 * Math.PI) : 0) + 3 * Math.Sin(i * 1.7), 1);
}

API

<PriceActionChart>

DaisyBlazor.Charts

Parameters

  • AspectRatio double
    = 1.78

    Width divided by height. The chart keeps this shape at any width; its text keeps its size.

  • AtrPeriod int
    = 14

    Periods of the average true range used when BoxSize (or Kagi's Reversal) is not given.

  • BoxSize double?
    = null

    Size of a Renko brick or a point & figure box, in price units. Null (or 0) takes the average true range over AtrPeriod periods at the last price. A box so small it would draw more than 2,000 boxes is enlarged to draw 2,000.

  • ChartKind PriceActionKind
    = PriceActionKind.Renko

    Which chart to draw: Renko bricks, Kagi lines, line break lines or point & figure columns.

  • DownColor string
    = "var(--color-error)"

    CSS colour of falling bricks, lines and O columns, and of Kagi's thin (yin) lines.

  • DownLabel string
    = null

    Legend name of the falling colour (Kagi: of thin yin lines).

  • Lines int
    = 3

    Line break: how many lines a reversal must pass (3 for the usual three-line break).

  • Prices IReadOnlyList<Candle>
    = []

    The prices, sorted by time. Only the closes build the chart; the highs and lows set the automatic box (ATR). For a series of single values use new Candle(time, v, v, v, v).

  • Reversal double?
    = null

    Kagi: how far a close must come back from a line's end to turn it, in price units (or a percentage of the end with ReversalPercent); null takes the average true range, or 4 % with ReversalPercent. Point & figure: the boxes a reversal needs; null takes 3.

  • ReversalPercent bool
    = false

    Read Kagi's Reversal as a percentage of the line's end.

  • RowHeight double?
    = null

    Height of each row in px, for a chart that lays its categories out as rows (horizontal bars, a Gantt's lanes, a heatmap's rows…): its height then follows its number of rows instead of AspectRatio, so a long list keeps readable rows at any width. A chart, or an orientation, without rows ignores it.

  • ShowLegend bool
    = true

    Show the legend under the chart.

  • ShowTitle bool
    = true

    Draw Title as a visible heading above the chart (the default); false keeps it only as the chart's accessible name, for a chart inside a card that already has a heading.

  • Title string
    = null

    Optional heading rendered above the chart; it is also the chart's accessible name.

  • UpColor string
    = "var(--color-success)"

    CSS colour of rising bricks, lines and X columns, and of Kagi's thick (yang) lines.

  • UpLabel string
    = null

    Legend name of the rising colour (Kagi: of thick yang lines).

  • ValueFormat string
    = "{0:#,0.##}"

    Format string for prices in tooltips and the description, e.g. "{0:0.#} %".

  • Width string
    = "100%"

    CSS width of the chart wrapper.

  • Class string
    = null

    Additional CSS classes merged onto the w-full wrapper.

  • Style string
    = null

    Inline styles appended after the width on the wrapper.

Something went wrong while running the docs. Reload