StockChart API

StockChart Methoden zum Laden von OHLCV-Daten, Streamen von Kerzen, Steuern von Bereichen und Hinzufügen von Markt-Layern.

Import
import { StockChart } from "@sixtyfold/stock";

Verwenden Sie den oben gezeigten öffentlichen Einstiegspunkt. Reine Typimporte werden aus dem Anwendungs-JavaScript entfernt.

ChartOverlayError

Fehler, der gemeldet wird, wenn eine oder mehrere deklarative Overlay-Quellen nicht angewendet werden können.

Import @sixtyfold/stockclass

class ChartOverlayError extends Error
MemberDefinitionBeschreibung
cause?Error | undefinedUrsache für Chart-Overlay-Fehler.
messagestringNachrichtentext.
name"ChartOverlayError"Anzeigename für diesen Chart-Overlay-Fehler.
sourcesreadonly string[]Quellen für Chart-Overlay-Fehler.
stack?string | undefinedStapeltext.

ChartRendererError

Fehler, der gemeldet wird, wenn ein Chart-Renderer beim Start oder späterer Verwendung ausfällt.

Import @sixtyfold/stockclass

class ChartRendererError extends Error
MemberDefinitionBeschreibung
cause?Error | undefinedUrsache für einen Fehler des Chart-Renderers.
messagestringNachrichtentext.
name"ChartRendererError"Anzeigename für diesen Renderer-Fehler des Charts.
phaseRendererFailurePhasePhase des Renderer-Fehlers des Charts.
stack?string | undefinedStapeltext.

StockChart

Imperatives Browser-Chart für aggregierte OHLCV-Candles, Volumen, Analysen, Profile, Preislinien und Marker.

Import @sixtyfold/stockclass

class StockChart
MemberDefinitionBeschreibung
addCandle(timestamp: number, open: number, high: number, low: number, close: number, volume: number) => voidFügt eine OHLCV-Kerze mit einem endlichen Zeitstempel ein, der strikt nach jeder bereits eingereihten oder angehängten Kerze liegt. Schnelle Aufrufe werden innerhalb eines Animationframes gebündelt; die Wiederholung eines Zeitstempels ist kein Aktualisierungsvorgang.
addCandleBatches(batches: readonly StockCandleBatch[], options?: StockAddCandlesOptions) => voidValidiert alle OHLCV-Chunks auf gleich lange Spalten und endliche, strikt ansteigende Zeitstempel über Chunks und frühere Anhänge hinweg, bevor die eingereihten Kerzen ausgegeben oder ein Puffer übertragen wird. Im Worker‑Modus werden gültige Puffer übertragen; im Hauptthread‑Modus bleiben die Arrays per Referenz erhalten.
addCandles(timestamps: Float64Array, opens: Float64Array, highs: Float64Array, lows: Float64Array, closes: Float64Array, volumes: Float64Array, options?: StockAddCandlesOptions) => voidValidiert sechs gleichgroße OHLCV-Spalten und endliche, streng ansteigende Zeitstempel nach allen in die Warteschlange gestellten oder angehängten Kerzen, bevor die Warteschlange geleert wird. Ungültige Eingaben bewahren die in der Warteschlange befindlichen Kerzen und die Pufferspeicher des Aufrufers; im Worker-Modus werden gültige Puffer übertragen und im Hauptthread-Modus bleiben die Arrays per Referenz erhalten.
batch(fn: () => void) => voidFasst synchrone Appearance- und Viewport-Änderungen in einem Update zusammen. Verschachtelte Batches werden kombiniert; Datenladeaufrufe laufen sofort.
destroy() => voidGibt das Diagramm und seine zugehörigen Ressourcen frei.
getAppearance() => DeepReadonly<StockAppearanceOptions>Gibt eine schreibgeschützte Momentaufnahme des veränderlichen Darstellungs-Teils zurück.
getOptions() => DeepReadonly<StockChartOptions>Gibt einen vollständigen, normalisierten, schreibgeschützten Snapshot aller Optionen zurück (Konstruktion + aktuelle Darstellung).
getRenderMode() => "worker" | "main"Gibt den aufgelösten Render-Modus zurück ("Worker" oder "Hauptthread").
getViewport() => ViewportGibt einen Snapshot des aktuellen Viewports zurück.
initialize() => Promise<void>Warten Sie, bis der Renderer für Daten und Laufzeitbefehle bereit ist. Der zur Konstruktion gehörende Initialisierungs-Watchdog weist dieses Promise mit einem ChartRendererError zurück, wenn der Worker oder der Fallback auf dem Hauptthread innerhalb des konfigurierten Intervalls nicht bereit wird. Anwendungen sollten diese Methode abwarten, bevor sie ihr erstes Dataset zuweisen.
initStreaming(maxCandles?: number) => voidOrdnet eine positive ganzzahlige OHLCV-Ringpuffer-Kapazität für Live‑Updates zu. Setzt wartende Kerzen und Zustand der Zeitstempelreihenfolge zurück und bricht die ausstehende Viewport‑Animation des vorherigen Datensatzes ab.
reset(options?: { animated?: boolean; }) => voidSetzt den Viewport auf den gesamten Datenumfang zurück.
resize() => voidSynchronisiert das Rendering mit der Canvas‑Größe.
setData(data: OHLCVData) => voidLädt sechs gleich große OHLCV‑Spalten mit endlichen, monoton auf- oder absteigenden Zeitstempeln, einschließlich gleicher Zeitstempel, und normalisiert die Reihenfolge. Im Worker‑Modus werden die normalisierten Puffer übertragen; im Hauptthread‑Modus verbleiben ihre Arrays per Referenz. Ersetzt wartende Streaming‑Samples und bricht die alte Viewport‑Animation ab.
setIndicators(indicators: StockIndicator[]) => voidErsetzt die integrierten Definitionen technischer Indikatoren.
setKeyboardAnnouncements(messages: false | KeyboardAnnouncementMessages) => voidErsetzen oder Deaktivieren der lokalisierten Tastatur-Aktionsansagen zur Laufzeit. Bestehende ausstehende Ansagen werden abgebrochen.
setLabels(labels: ChartLabels) => voidAktualisiert Chart-Beschriftungen zur Laufzeit. Führt eine Zusammenführung mit vorhandenen Beschriftungen durch (gleiche Semantik wie updateAppearance). Wirft: TypeError bei fehlerhaften Beschriftungen oder dünn besetzten/nicht-Objekt-custom-Einträgen.
setMarkers(markers: StockMarker[]) => voidErsetzt alle dünn besetzten Zeitstempel-/Preis-Markierungen.
setOverlay(overlay: OverlayOptions) => Promise<void>Aktualisieren Sie deklarative Overlay-Primitives zur Laufzeit. Gültige Primitives und erfolgreich decodierte Bilder werden installiert, auch wenn ein anderes Bild fehlschlägt. Falls jedes angeforderte Element fehlschlägt, bleibt das zuvor gerenderte Overlay installiert. Auflösungs- und Renderer-Lieferfehler lehnen mit ChartOverlayError ab; registrieren Sie setOverlayErrorCallback, wenn die Anwendung auch eine asynchrone Benachrichtigung benötigt. Wird vor der Bereitschaft des Lazy-Renderers aufgerufen, enthält dieses Promise das Warten auf Bereitschaft. Überschriebene Updates und Chart-Zerstörung sind routinemäßige Abbrüche und lösen auf, ohne zu installieren.
setOverlayErrorCallback(callback: OverlayErrorCallback | null) => voidRegistrieren Sie einen Callback für nicht-fatalen Overlay-Auflösungs- oder Lieferfehler. Erfolgreiche Overlay-Elemente werden weiterhin installiert. Das passende setOverlay-Promise schlägt ebenfalls mit demselben Fehler fehl.
setPriceLines(priceLines: StockPriceLine[]) => voidErsetzen Sie alle horizontal datenverankerten Preisniveaus.
setRendererErrorCallback(callback: RendererErrorCallback | null) => voidRegistrieren Sie einen einmaligen Renderer-Fehler-Callback. Wird einmalig vor dem Abbau bei Initialisierungs- oder Laufzeitfehlern aufgerufen. Ohne Callback verwenden Fehler console.error. Übergeben Sie null, um ihn zu stornieren; destroy-Aufrufe rufen ihn nicht auf.
setStatsCallback(callback: ((stats: StockChartStats) => void) | null, options?: StockChartStatsOptions) => voidAktiviert Renderer‑Statistiken und empfängt gedrosselte Snapshots. Übergeben Sie null, um sie zu deaktivieren.
setTimeRange(range: TimeRange) => voidWendet eines der exportierten Kalender-/Sitzungs‑Presets an. Das Chart rendert keine Bedienelemente. Anwendungs‑eigene Bedienelemente können diese Methode für ein Preset oder setViewport() für einen beliebigen Zeitstempel‑Bereich aufrufen.
setViewport(viewport: Partial<Viewport>, options?: { animated?: boolean; }) => voidSetzen Sie einen Zeitstempel‑Bereich. In Marktzeit werden ausgelassene Kanten im Renderer nach früheren Anfragen aufgelöst, und getViewport() folgt seiner akzeptierten Bereichs‑Synchronisation.
setVolumeProfile(volumeProfile: VolumeProfileOptions | false) => voidErsetzen oder deaktivieren Sie das geschätzte, aus Kerzen abgeleitete sichtbare Bereichs‑Volumenprofil.
updateAppearance(patch: DeepPartial<BaseAppearanceOptions>) => voidPatchen Sie mutable Erscheinungsoptionen zur Laufzeit. Wirft: TypeError bei fehlerhaften Bezeichnungen oder spärlichen/nicht-Objekt-custom-Einträgen.