Skip to main content
Skip to main content

Complete tool reference

This page lists every documented user drawing type in ChartUI (34 tools). Use the live showcase to preview any tool, then copy the matching type string into your app.

Drawing preset
What this example shows

Two anchors define the direction. This is the cleanest programmatic entry point for support, resistance, and trend projection.

Live MDX exampletoolDrawer.drawTrendLine()trendLine1000 candlesBTC/USD fixture
Loading chart…

Legend: Anchors = placement clicks. Toolbar = available in ChartUI left menu (when using @efixdata/exeria-chart-ui-react).

Helper shortcuts: drawTrendLine(), drawTimeRange(), drawTimeBet(), drawLongShortPosition().


Lines and rays​

Trend line — trendLine​

Connect two points to show direction, support, or resistance.

AnchorsToolbarCreation
2YesdrawTrendLine() or drawTool()
chart.toolDrawer.drawTrendLine({
startStamp: candles[10].stamp,
endStamp: candles[30].stamp,
startPrice: candles[10].l,
endPrice: candles[30].h,
config: { color: "#5cc8ff" },
});

Guide: Trend line.

Trend ray — trendRay​

Same as a trend line, but extends as a ray from the first point toward the plot edge.

AnchorsToolbar
2Yes
chart.toolDrawer.drawTool({
type: "trendRay",
color: "#5cc8ff",
anchors: [
{ stamp: candles[10].stamp, offset: 0, value: candles[10].l, _index: 0 },
{ stamp: candles[30].stamp, offset: 0, value: candles[30].h, _index: 0 },
],
});

Horizontal line — hLine​

Flat price level across the panel. Use priceTag: true for a label.

AnchorsToolbar
1Yes
chart.toolDrawer.drawTool({
type: "hLine",
color: "#14f7ab",
priceTag: true,
anchors: [{ stamp: candles.at(-1)!.stamp, offset: 0, value: 42000, _index: 0 }],
});

Horizontal ray — hRay​

Horizontal line from one point to the right edge only.

AnchorsToolbar
1Yes

Vertical line — vLine​

Vertical line at one timestamp across the full panel height.

AnchorsToolbar
1Yes
chart.toolDrawer.drawTool({
type: "vLine",
color: "#f0b429",
anchors: [{ stamp: candles[12].stamp, offset: 0, value: candles[12].c, _index: 0 }],
});

Vertical ray — vRay​

Vertical line from one point downward to the panel bottom.

AnchorsToolbar
1Yes

Cross line — crossLine​

One anchor draws both a horizontal and vertical line through the same point.

AnchorsToolbar
1Yes

Multi-line — mLine​

Custom polyline through three or more anchors (add more points interactively in ChartUI).

AnchorsToolbar
3+Yes
chart.toolDrawer.drawTool({
type: "mLine",
color: "#5cc8ff",
anchors: [
{ stamp: candles[5].stamp, offset: 0, value: candles[5].l, _index: 0 },
{ stamp: candles[15].stamp, offset: 0, value: candles[15].h, _index: 0 },
{ stamp: candles[25].stamp, offset: 0, value: candles[25].c, _index: 0 },
],
});

Fibonacci, channels, and projections​

Guide: Levels and channels.

Fibonacci retracement — fibonLines​

Horizontal levels between two swings (23.6%, 38.2%, 50%, …).

AnchorsToolbar
2Yes

Pass values and valuesState to control which levels are visible.

Fibonacci extension — fibonExtension​

Extension levels beyond 100% of the measured move (127.2%, 161.8%, …).

AnchorsToolbar
2Yes

Fibonacci time zone — fibonTimeZone​

Vertical lines at Fibonacci time multiples from the distance between two anchors.

AnchorsToolbar
2Yes

Fibonacci channel — fibonChannel​

Trend line plus channel width; parallel Fib levels between edges.

AnchorsToolbar
3Yes

Fibonacci arcs — fibonArcs​

Semi-elliptical arcs; first anchor = center, second = 100% radius.

AnchorsToolbar
2Yes

Fibonacci circles — fibonCircles​

Concentric circles; first anchor = center, second = 100% radius.

AnchorsToolbar
2Yes

Parallel channel — parallelChannel​

Two anchors define the main line; a third sets channel width.

AnchorsToolbar
3Yes

Pitchfork — pitchfork​

Andrews pitchfork: pivot + two baseline points → median line and parallels.

AnchorsToolbar
3Yes

Regression channel — regressionChannel​

Least-squares fit between two times; ±σ bands. Shows Pearson R.

AnchorsToolbar
2Yes

Optional source: "c" for close prices.

Gann fan — gannFan​

Rays at Gann angles from origin; line to second anchor is the 1×1 reference.

AnchorsToolbar
2Yes

Gann grid — gannGrid​

Rectangle with Gann square grid lines (0, 0.25, 0.382, 0.5, 0.618, 0.75, 1).

AnchorsToolbar
2Yes

Gann box — gannBox​

Same grid as Gann grid plus internal fan diagonals from the first anchor.

AnchorsToolbar
2Yes

ABCD — abcd​

Measured-move projection with three anchors and configurable level ratios.

AnchorsToolbar
3Yes

Ranges, sessions, and tags​

Guide: Lines, ranges, and tags.

Horizontal range — hRange​

Measure and label a price distance between two levels.

AnchorsToolbar
2Yes

Vertical range — vRange​

Measure and label a time distance between two points.

AnchorsToolbar
2Yes

Time range — timeRange​

Shaded window on the time axis with optional label.

AnchorsToolbarCreation
2YesdrawTimeRange() or drawTool()
chart.toolDrawer.drawTimeRange({
text: "London session",
startTime: candles[20].stamp,
timeRange: 4 * 60 * 60 * 1000,
config: { color: "#5cc8ff" },
});

Time bet — timeBet​

Directional outcome box with reward/risk metadata (not in toolbar menu).

AnchorsToolbarCreation
helperNodrawTimeBet() only

Price tag — priceTag​

Pinned price label without a full-width line.

AnchorsToolbar
1Yes

Shapes and annotations​

Guide: Shapes and annotations.

Brush — brush​

Freehand stroke. Mouse: click and drag in ChartUI. Code: pass many sampled anchors.

AnchorsToolbar
dynamicYes

Arrow — arrow​

Directional arrow between two points.

AnchorsToolbar
2Yes

Ellipse — ellipse​

Ellipse inscribed in the bounding box of two anchors.

AnchorsToolbar
2Yes

Triangle — triangle​

Triangle through three corner anchors.

AnchorsToolbar
3Yes

Rectangle — box​

Axis-aligned box / zone highlight. Use fillBg: true to shade inside.

AnchorsToolbar
2Yes

Cycle — cycle​

Repeating interval or cadence marker between two time anchors.

AnchorsToolbar
2Yes

Text — textAnnotation​

Freeform text label. In toolbar under annotations; also creatable in code only.

AnchorsToolbar
2Yes
chart.toolDrawer.drawTool({
type: "textAnnotation",
text: "Supply zone",
fontSize: 13,
anchors: [
{ stamp: candles[16].stamp, offset: 0, value: candles[16].h, _index: 0 },
{ stamp: candles[18].stamp, offset: 0, value: candles[18].h, _index: 0 },
],
});

Volume and trade planning​

Fixed range volume profile — fixedRangeVolumeProfile​

Volume histogram between two time anchors. Shows POC line and optional value area (default 70%).

AnchorsToolbar
2Yes (Analytical menu)
chart.toolDrawer.drawTool({
type: "fixedRangeVolumeProfile",
color: "#5cc8ff",
fillBg: true,
showPoc: true,
showValueArea: true,
valueAreaPercent: 70,
anchors: [
{ stamp: candles[10].stamp, offset: 0, value: candles[10].l, _index: 0 },
{ stamp: candles[40].stamp, offset: 0, value: candles[40].h, _index: 0 },
],
});

Long / short position — longShortPosition​

Paper-trading plan: entry, stop, and target. Not the same as live broker position lines.

AnchorsToolbarCreation
3Yes (Long/Short tools)drawLongShortPosition() or drawTool()
chart.toolDrawer.drawLongShortPosition({
direction: "LONG",
startStamp: candles[20].stamp,
endStamp: candles[28].stamp,
entryPrice: candles[24].c,
stopPrice: candles[20].l,
targetPrice: candles[28].h,
riskPercent: 1,
});

Tutorial: Trade from chart.


Quick lookup table​

typeLabelAnchors
trendLineTrend line2
trendRayTrend ray2
hLineHorizontal line1
hRayHorizontal ray1
vLineVertical line1
vRayVertical ray1
crossLineCross line1
mLineMulti-line3+
fibonLinesFibonacci retracement2
fibonExtensionFibonacci extension2
fibonTimeZoneFibonacci time zone2
fibonChannelFibonacci channel3
fibonArcsFibonacci arcs2
fibonCirclesFibonacci circles2
parallelChannelParallel channel3
pitchforkPitchfork3
regressionChannelRegression channel2
gannFanGann fan2
gannGridGann grid2
gannBoxGann box2
abcdABCD3
hRangeHorizontal range2
vRangeVertical range2
timeRangeTime range2
timeBetTime bethelper
priceTagPrice tag1
brushBrushdynamic
arrowArrow2
ellipseEllipse2
triangleTriangle3
boxRectangle2
cycleCycle2
textAnnotationText2
fixedRangeVolumeProfileVolume profile2
longShortPositionLong / short position3

What is next?​