Skip to content

Commit 0f7569a

Browse files
authored
fix: edge case when there is one trade in candle (#1929)
1 parent ea2df7c commit 0f7569a

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/lib/tradingView/utils.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { Themes } from '@/styles/themes';
1717
import { AppTheme, type AppColorMode } from '@/state/appUiConfigs';
1818

1919
import { getDisplayableTickerFromMarket } from '../assetUtils';
20+
import { isPresent } from '../typeUtils';
2021

2122
// Show order book candles instead of trade candles if there are no trades in that time period
2223
const MAX_NUM_TRADES_FOR_ORDERBOOK_PRICES = 1;
@@ -42,10 +43,23 @@ const getOhlcValues = ({
4243
trades <= MAX_NUM_TRADES_FOR_ORDERBOOK_PRICES &&
4344
orderbookOpen !== undefined &&
4445
orderbookClose !== undefined;
46+
const alsoUseTradeForHighLow = trades >= 1;
4547

4648
return {
47-
low: showOrderbookCandles ? Math.min(orderbookOpen, orderbookClose) : tradeLow,
48-
high: showOrderbookCandles ? Math.max(orderbookOpen, orderbookClose) : tradeHigh,
49+
low: showOrderbookCandles
50+
? Math.min(
51+
...[orderbookOpen, orderbookClose, alsoUseTradeForHighLow ? tradeLow : undefined].filter(
52+
isPresent
53+
)
54+
)
55+
: tradeLow,
56+
high: showOrderbookCandles
57+
? Math.max(
58+
...[orderbookOpen, orderbookClose, alsoUseTradeForHighLow ? tradeHigh : undefined].filter(
59+
isPresent
60+
)
61+
)
62+
: tradeHigh,
4963
open: showOrderbookCandles ? orderbookOpen : tradeOpen,
5064
close: showOrderbookCandles ? orderbookClose : tradeClose,
5165
};

0 commit comments

Comments
 (0)