12 lines
505 B
TypeScript
12 lines
505 B
TypeScript
export interface TrailState {
|
||
highestHigh: number;
|
||
stop: number;
|
||
}
|
||
|
||
/** Chandelier-Stop: hh − mult×ATR, wandert nur aufwärts. Aufruf pro abgeschlossener 4h-Candle. */
|
||
export function updateChandelier(state: TrailState, barHigh: number, atrValue: number, mult: number): TrailState {
|
||
const highestHigh = Math.max(state.highestHigh, barHigh);
|
||
const candidate = Number.isNaN(atrValue) ? -Infinity : highestHigh - mult * atrValue;
|
||
return { highestHigh, stop: Math.max(state.stop, candidate) };
|
||
}
|