Documentation / @finchart/core / OHLCAccessor
Class: OHLCAccessor
Defined in: packages/core/src/data/accessors.ts:49
점에서 화면 배치용 x/y 좌표를 꺼낸다.
Implements
Constructors
Constructor
new OHLCAccessor():
OHLCAccessor
Returns
OHLCAccessor
Properties
gapless
readonlygapless:true=true
Defined in: packages/core/src/data/accessors.ts:63
봉은 구멍을 못 만든다 — getY가 close를 돌려주고 assertFinite가 넷 다 유한임을 데이터 문에서 이미 보장한다. close: null은 이 접근자에서 구멍이 아니라 거절이다.
Implementation of
Methods
assertFinite()
assertFinite(
point,index):void
Defined in: packages/core/src/data/accessors.ts:87
넷 다 본다. getY는 close만 읽고 valueExtent는 low·high만 읽어서, open은 어느 문도 안 지나고 검사가 없으면 새어 나간다.
null은 갭이 아니라 거절이다 — 봉은 넷의 묶음이라 하나가 없으면 그릴 수 있는 것이 없다. 빠진 봉은 이미 "점을 안 넣는 것"으로 표현되므로, null에 뜻을 주면 "가격 0"이 된다.
넷을 손으로 편다 — 안 새는 것은 기계가 지킨다. 배열을 순회하는 루프보다 손으로 편 네 줄이 2배 넘게 빠르다(이터레이터 할당 + 점마다 동적 조회의 간접 비용). 이 자리는 틱 경로이기도 하다: 파생 등록의 updateLast가 프레임마다 setData 전체를 돌린다.
읽기 쉬움을 런타임으로 사는 대신 테스트로 산다 — ohlc-fields.test.ts가 OHLC_FIELDS의 모든 필드가 실제로 거절되는지 확인하므로, 다섯째 필드가 생기고 여기를 안 고치면 그때 빨개진다.
Parameters
point
index
number
Returns
void
Implementation of
CoordinateAccessor.assertFinite
getX()
getX(
point):number
Defined in: packages/core/src/data/accessors.ts:50
어디에 놓을 것인가. 없을 수 없다.
x가 없는 점은 whitespace가 아니라 버려야 하는 점이다 — 어디에 둘지 모르면 구멍조차 그릴 수 없다.
Parameters
point
Returns
number
Implementation of
getY()
getY(
point):number
Defined in: packages/core/src/data/accessors.ts:54
무엇을 그릴 것인가. null이면 값이 없다(whitespace).
값이 없는 자리에서 선은 끊기고, 값 범위(valueExtent)는 그 점을 세지 않으며, 솎기는 그 자리를 삼키지 않는다.
undefined도 돌려줄 수 있다 — "읽지 못했다"는 뜻이다. {x, value} 처럼 다른 필드명을 준 경우를 매니저가 안내할 수 있으려면, 그 값이 여기까지 나와야 한다.
소비자는 이미 전부 isGap으로 받는다(라인·에어리어·히스토그램· 베이스라인).
Parameters
point
Returns
number
Implementation of
getYRange()
getYRange(
point):object
Defined in: packages/core/src/data/accessors.ts:66
봉 하나의 데이터 값 폭 — 저가에서 고가까지. 스냅의 후보가 된다.
Parameters
point
Returns
object
max
max:
number
min
min:
number