Skip to content
EliteChart

appendKagi

Documentation


Documentation / @elitechart/core / appendKagi

code
function appendKagi(
   state, 
   raw, 
   opts): {
  newSegments: readonly KagiSegment[];
  state: KagiInternalState;
};

Defined in: series/kagi.ts:220

Append zero or one segment for one new source bar. Pure / deterministic. Does NOT flush an in-flight leg — the batch helper computeKagi does that at end of input.

Parameters

state

KagiInternalState | undefined

raw

Bar

opts

KagiOptions & { fixedDtFallback?: number; }

Returns

code
{
  newSegments: readonly KagiSegment[];
  state: KagiInternalState;
}

newSegments

code
readonly newSegments: readonly KagiSegment[];

state

code
readonly state: KagiInternalState;

Example

code
let state: KagiInternalState | undefined;
for (const b of liveBars) {
  const r = appendKagi(state, b, { reversalPercent: 4 });
  state = r.state;
  if (r.newSegments.length > 0) render(r.newSegments);
}