Skip to content
EliteChart

Drawings catalog

All 40 drawing tools shipped in @elitechart/drawings — kind, anchors, default style, keybinding.

Every drawing tool ChartForge ships, grouped by family. Each tool's kind is the value passed to useChartStore.addDrawing({ kind }) or selected via useChartStore.setActiveTool(kind).

Quick example

code
import { useChartStore } from '@elitechart/elitechart';

useChartStore.getState().addDrawing({
  id: 'support-1',
  kind: 'horizontal',
  price: 67_500,
  color: '#22d3ee',
});

Lines (trend / support / resistance)

ToolkindAnchorsKeybinding
Trend Line'trend-line'2Alt-T
Ray'ray'2Alt-Y
Horizontal Line'horizontal'1Alt-H
Vertical Line'vertical'1Alt-V
Horizontal Ray'horizontal-ray'1
Parallel Channel'parallel-channel'3Alt-C
Disjoint Channel'disjoint-channel'4
Regression Channel'regression-channel'2

Geometry

ToolkindAnchors
Rectangle'rectangle'2 (corners)
Ellipse'ellipse'2 (bounds)
Triangle'triangle'3
Polyline'polyline'N
Arc'arc'3
Brush (freehand)'brush'N

Fibonacci

ToolkindAnchors
Retracement'fib-retracement'2
Extension'fib-extension'3
Time Zones'fib-time-zones'2
Channel'fib-channel'3
Speed Resistance Fan'fib-fan'2
Circles'fib-circles'2
Spiral'fib-spiral'2
Wedge'fib-wedge'3

Annotation

ToolkindAnchors
Text'text'1
Callout'callout'2
Price Label'price-label'1
Anchored Note'anchored-note'1
Arrow'arrow'2
Flag'flag'1
Emoji'emoji'1

Patterns

ToolkindAnchors
Long Position'long-position'3 (entry / SL / TP)
Short Position'short-position'3 (entry / SL / TP)
Head and Shoulders'head-and-shoulders'5
ABCD'abcd'4
XABCD'xabcd'5
Three Drives'three-drives'6
Cypher'cypher'5
Gartley'gartley'5
Bat'bat'5
Butterfly'butterfly'5
Crab'crab'5

Specialty

ToolkindAnchors
Gann Fan'gann-fan'1
Gann Square'gann-square'2
Pitchfork'pitchfork'3
Schiff Pitchfork'schiff-pitchfork'3
Andrews' Pitchfork'andrews-pitchfork'3
Cross Line'cross-line'1

Variations

Add a Long Position drawing

code
useChartStore.getState().addDrawing({
  id: 'long-1',
  kind: 'long-position',
  anchors: [
    { time: 1700_000_000_000, price: 67_500 }, // entry
    { time: 1700_000_000_000, price: 66_500 }, // stop
    { time: 1700_000_000_000, price: 70_000 }, // target
  ],
});

Lock every drawing

code
import { useChartStore } from '@elitechart/elitechart';
const s = useChartStore.getState();
for (const d of s.drawings) s.patchDrawing(d.id, { locked: true });

API

Each tool implements the DrawingTool interface — see writing a drawing tool for the contract.