* Get the sign of a single data. * * @returns 0 for doji with hasDojiColor: true, * 1 for positive, * -1 for negative.
(
store: DataStore, dataIndex: number, openVal: number, closeVal: number, closeDimI: DimensionIndex,
hasDojiColor: boolean
)
| 228 | * -1 for negative. |
| 229 | */ |
| 230 | function getSign( |
| 231 | store: DataStore, dataIndex: number, openVal: number, closeVal: number, closeDimI: DimensionIndex, |
| 232 | hasDojiColor: boolean |
| 233 | ): -1 | 1 | 0 { |
| 234 | let sign: -1 | 1 | 0; |
| 235 | if (openVal > closeVal) { |
| 236 | sign = -1; |
| 237 | } |
| 238 | else if (openVal < closeVal) { |
| 239 | sign = 1; |
| 240 | } |
| 241 | else { |
| 242 | sign = hasDojiColor |
| 243 | // When doji color is set, use it instead of color/color0. |
| 244 | ? 0 |
| 245 | : (dataIndex > 0 |
| 246 | // If close === open, compare with close of last record |
| 247 | ? ((store.get(closeDimI, dataIndex - 1) as number) <= closeVal ? 1 : -1) |
| 248 | // No record of previous, set to be positive |
| 249 | : 1 |
| 250 | ); |
| 251 | } |
| 252 | |
| 253 | return sign; |
| 254 | } |
| 255 | |
| 256 | function calculateCandleWidth(seriesModel: CandlestickSeriesModel, data: SeriesData) { |
| 257 | const baseAxis = seriesModel.getBaseAxis(); |
no test coverage detected
searching dependent graphs…