A real stock chart in Power BI, with no weekend gaps
Get started with Candle Plume: prepare a price table, create the measures, insert the visual, change the timeframe, zoom and add two moving averages.
Lire en françaisIn short
What is a candle? A candle sums up how a price moved over a period (a day, a week, a minute) with four values: the open (the first price of the period), the high, the low and the close (the last price). The body of the candle goes from the open to the close; it is green when the price went up, red when it went down. The thin lines above and below (the wicks) show the high and the low.
Small example. On Monday, a stock opens at $100, rises to $104, falls to $99 and ends at $103: the candle is green, its body goes from 100 to 103, its wicks from 99 to 104.
- What the visual does. Candle Plume draws these candles without the gaps of weekends and holidays, groups the data into minutes, hours, days, weeks, months or years by itself, adds volume and moving averages, and shows the values of the hovered candle. With premium (★), it also computes Bollinger Bands, RSI, MACD and 50+ more indicators, and draws buy and sell positions with their result.
- When to use it. Stock and crypto prices, but also any price that moves within the period: commodities, energy, exchange rates, purchase prices of a small business, inventory.
- When to use something else. A single value per period with no high or low, to compare across several series: Line Plume.
- By the end, you will know how to: prepare a price table, create the four measures, insert the visual, change the timeframe, zoom, add two moving averages.
- What you need: Power BI Desktop, the Candle Plume visual installed (see the shared basics), a table with a date and prices. The PlumeCandleChart-Sample-EN sample report, in your Downloads space, shows two fictitious stocks, a purchase price as monthly candles and a session by the minute (page 1), the ★ indicators (page 2), the positions of a ★ strategy (page 3) and the other ★ chart types (page 4).
The data to provide
The shape. One row per period and per stock: a date (or a date and time), then the open, high, low, close and, if you have it, the volume. The visual also accepts a single price column (readings, ticks, purchase prices): it builds the candles by itself.
| Date | Symbol | Open | High | Low | Close | Volume |
|---|---|---|---|---|---|---|
| 01/02/2025 | PLUME | 48.10 | 48.90 | 47.80 | 48.60 | 1,210,000 |
| 01/03/2025 | PLUME | 48.60 | 49.40 | 48.20 | 49.10 | 980,000 |
| 01/06/2025 | PLUME | 49.10 | 49.30 | 47.90 | 48.05 | 1,450,000 |
| 01/07/2025 | PLUME | 48.05 | 48.70 | 47.60 | 48.50 | 1,020,000 |
| 01/08/2025 | PLUME | 48.50 | 50.10 | 48.40 | 49.90 | 1,610,000 |
| 01/09/2025 | PLUME | 49.90 | 50.40 | 49.20 | 49.40 | 1,130,000 |
To try it without a file: Modeling › New table, then paste:
Prices =
DATATABLE (
"Date", DATETIME, "Symbol", STRING, "Open", DOUBLE, "High", DOUBLE, "Low", DOUBLE, "Close", DOUBLE, "Volume", INTEGER,
{
{ "2025-01-02", "PLUME", 48.10, 48.90, 47.80, 48.60, 1210000 },
{ "2025-01-03", "PLUME", 48.60, 49.40, 48.20, 49.10, 980000 },
{ "2025-01-06", "PLUME", 49.10, 49.30, 47.90, 48.05, 1450000 },
{ "2025-01-07", "PLUME", 48.05, 48.70, 47.60, 48.50, 1020000 },
{ "2025-01-08", "PLUME", 48.50, 50.10, 48.40, 49.90, 1610000 },
{ "2025-01-09", "PLUME", 49.90, 50.40, 49.20, 49.40, 1130000 }
}
)
The measures. The price fields expect measures (a calculation Power BI redoes according to the filters, written in DAX; see the glossary). With one row per date and per stock, a simple sum is enough:
Open price = SUM ( Prices[Open] ) -- one row per date and per stock: the sum is the value
High price = SUM ( Prices[High] )
Low price = SUM ( Prices[Low] )
Close price = SUM ( Prices[Close] )
Traded volume = SUM ( Prices[Volume] )
If you only have a table of raw prices (several readings per day), the following measures compute the OHLC of each date; even simpler, drop the price column into Price (single value) and let the visual do it.
Open = VAR _first = MIN ( Ticks[Timestamp] ) RETURN CALCULATE ( MAX ( Ticks[Price] ), Ticks[Timestamp] = _first )
Close = VAR _last = MAX ( Ticks[Timestamp] ) RETURN CALCULATE ( MAX ( Ticks[Price] ), Ticks[Timestamp] = _last )
High = MAX ( Ticks[Price] )
Low = MIN ( Ticks[Price] )
Pitfalls.
- Drop the date column itself, not the automatic hierarchy (Year › Quarter › Month › Day): click the arrow of the field in the well, then pick the column name.
- Weekends and holidays do not need to be in the table: the visual only shows the dates that exist, with no gaps.
- Do not filter dates with a slicer to "zoom": a 200-bar average would start empty. Use the visual's range buttons (see the how-to guides).
Step by step: your first candlestick chart in 10 minutes
- In the Visualizations pane, click the Candle Plume icon. An empty frame appears with a landing page that lists the fields to drop; stretch it to the full width of the page.
- Drag the
Datecolumn to Date / time. Check that it is the column and not the hierarchy. - Drag
Open price,High price,Low priceandClose priceto Open, High, Low and Close. The candles appear, with no gap on weekends. - Drag
Traded volumeto Volume: a volume pane appears under the prices. - Drag
Symbolto Symbol (series): PLUME / ATLAS buttons appear at the top left to switch from one stock to the other. - Hover the chart: the crosshair follows the mouse and the legend at the top left gives the date, open, high, low, close, change and volume of the hovered candle.
- Click 1W in the visual's bar: each candle now sums up a week. Click 1D to go back.
- Turn the mouse wheel over the chart to zoom, then drag to go back in time; double-click to return to the initial view.
- Open Format › Indicators › Moving average 1, turn it on (length 20), then Moving average 2 (EMA 50): two lines are added on the prices, with their values in the legend. These two averages are free; RSI and MACD (★) are shown in the how-to guides.
- Click a candle: the other visuals of the page are filtered on that date (cross-filtering, see the glossary). Click an empty spot of the visual to clear.
Expected result: the PLUME candles with no weekend gap, the volume below, two moving averages with their values in the legend, and buttons to change the stock, the timeframe and the range.
Troubleshooting
| What you see | Likely cause | Fix |
|---|---|---|
| "Add the Close measure (or Price)" | Only the volume or another field is in place | Add the close, or a measure in Price |
| A single candle, or one candle per year | The date hierarchy is in place instead of the column | Arrow of the field › pick the column name |
| All candles are flat | The four measures return the same value | Check the measures, or use Price (single value) |
| The 200-bar average starts in the middle | The dates are filtered | Range buttons or "Display from" instead of a slicer |
| The 1m button does not show | The data is daily | The visual only groups upward |
| "Premium preview" watermark | A ★ feature is used with no key | Key in Format › Plume Studio License, or a free setting |
| "Data truncated from …" | Too many rows for Power BI | Filter the period or use a less detailed date |
| An ignored line is reported at the bottom of the chart | Typo in a list of the Format pane | Fix the line (indicator name, date YYYY-MM-DD) |
| The legend hides the top of the candles | "Keep room for the legend" is off | Format › Legend › Keep room for the legend: on |
Key takeaways
- One row per period; the date column, not the hierarchy.
- The visual closes weekend gaps and groups minutes, days, weeks and months by itself.
- Indicators are computed on the bars: use the range buttons rather than a date filter.
- SMA and EMA are free; Bollinger, RSI, MACD and the rest work with a watermark until you add a key.
Learn more
- Candle Plume how-to guides: recipes for common needs.
- Candle Plume fields and settings: every field well and every setting.
- Getting started with Plume visuals: installation, license, styles and shared settings.
- The visual's page: Candle Plume. A question? Support.