Skip to content

useOrderLines

Create and manage horizontal price-level lines (order lines) — for entries, stops, targets and live orders.

const {
createOrderLine,
updateOrderLine,
removeOrderLine,
removeAllOrderLines,
} = useOrderLines();
createOrderLine(options: OrderLineOptions): string | null

Returns the id of the created line, or null if the chart is not ready.

interface OrderLineOptions extends OrderLineExtendData {
id?: string; // auto-generated if omitted
price: number; // price level
draggable?: boolean; // allow drag to change price (default false)
onPriceChange?: (price: number) => void; // called when drag ends
}

All OrderLineExtendData styling fields (color, text, line, mark, label) are accepted directly and flow through as overlay extendData — see Drawing Overlays → order lines.

updateOrderLine(id: string, options: Partial<Omit<OrderLineOptions, "id">>): void
removeOrderLine(id: string): void
removeAllOrderLines(): void // removes all overlays with name="orderLine"
const { createOrderLine, updateOrderLine, removeOrderLine } = useOrderLines();
const id = createOrderLine({
price: 45000,
color: "#ff9900",
text: "Target",
line: { style: "dashed" },
mark: { bg: "#ff9900", color: "#fff" },
draggable: true,
onPriceChange: (newPrice) => console.log("Moved to:", newPrice),
});
updateOrderLine(id!, { color: "#00ff00" });
removeOrderLine(id!);