Exciting Update: Version 1.0.0 is now available, introducing high-performance technical indicators and custom drawing tools. Read more
Version: 1.0.0

Saving Drawings (LocalStorage)

Serialize drawing coordinate arrays to browser LocalStorage to preserve user annotations across page reloads.

Overview

Preserving user drawings prevents users from losing trendline markings when they refresh their browsers or switch charts. The Backtestx library provides direct LocalStorage serialization utilities.

The Save Hook

Save chart drawings using the ChartingAPI.saveDrawings method:

// Save drawings for the active chart instance
window.ChartingAPI.saveDrawings(chart);

// Internal API implementation:
// const data = JSON.stringify(chart.drawings || []);
// localStorage.setItem(`cl_drawings_${chart.symbol.toLowerCase()}`, data);

The Load Hook

Load saved drawings when the chart widget mounts:

// Load drawings automatically on load
window.ChartingAPI.loadDrawings(chart);

Auto-saving Event Triggers

Trigger auto-saves by subscribing to drawing modifications or point placement changes:

chart.subscribeDrawingChanged(() => {
  window.ChartingAPI.saveDrawings(chart);
  console.log("💾 Drawings auto-saved successfully.");
});