trading-vue3-js
Version:
Customizable charting lib for traders. Based on https://github.com/C451/trading-vue-js by C451.
115 lines (105 loc) • 3.07 kB
JavaScript
const SECOND = 1000
const MINUTE = SECOND * 60
const MINUTE3 = MINUTE * 3
const MINUTE5 = MINUTE * 5
const MINUTE15 = MINUTE * 15
const MINUTE30 = MINUTE * 30
const HOUR = MINUTE * 60
const HOUR4 = HOUR * 4
const HOUR12 = HOUR * 12
const DAY = HOUR * 24
const WEEK = DAY * 7
const MONTH = WEEK * 4
const YEAR = DAY * 365
const MONTHMAP = [
"Jan", "Feb", "Mar", "Apr",
"May", "Jun","Jul", "Aug",
"Sep", "Oct","Nov", "Dec"
]
// Grid time steps
const TIMESCALES = [
YEAR * 10, YEAR * 5, YEAR * 3, YEAR * 2, YEAR,
MONTH * 6, MONTH * 4, MONTH * 3, MONTH * 2, MONTH,
DAY * 15, DAY * 10, DAY * 7, DAY * 5, DAY * 3, DAY * 2, DAY,
HOUR * 12, HOUR * 6, HOUR * 3, HOUR * 1.5, HOUR,
MINUTE30, MINUTE15, MINUTE * 10, MINUTE5, MINUTE * 2, MINUTE
]
// Grid $ steps
const $SCALES = [0.05, 0.1, 0.2, 0.25, 0.5, 0.8, 1, 2, 5]
const ChartConfig = {
SBMIN: 60, // Minimal sidebar px
SBMAX: Infinity, // Max sidebar, px
TOOLBAR: 57, // Toolbar width px
TB_ICON: 25, // Toolbar icon size px
TB_ITEM_M: 6, // Toolbar item margin px
TB_ICON_BRI: 1, // Toolbar icon brightness
TB_ICON_HOLD: 420, // ms, wait to expand
TB_BORDER: 1, // Toolbar border px
TB_B_STYLE: 'dotted', // Toolbar border style
TOOL_COLL: 7, // Tool collision threshold
EXPAND: 0.15, // %/100 of range
CANDLEW: 0.6, // %/100 of step
GRIDX: 100, // px
GRIDY: 47, // px
BOTBAR: 28, // px
PANHEIGHT: 22, // px
DEFAULT_LEN: 50, // candles
MINIMUM_LEN: 5, // candles,
MIN_ZOOM: 25, // candles
MAX_ZOOM: 1000, // candles,
VOLSCALE: 0.15, // %/100 of height
UX_OPACITY: 0.9, // Ux background opacity
ZOOM_MODE: 'tv', // 'tv' or 'tl'
L_BTN_SIZE: 21, // Legend Button size, px
L_BTN_MARGIN: '-6px 0 -6px 0', // css margin
SCROLL_WHEEL: 'prevent', // 'pass', 'click'
}
ChartConfig.FONT =
`11px -apple-system,BlinkMacSystemFont,
Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,
Fira Sans,Droid Sans,Helvetica Neue,
sans-serif`
const IB_TF_WARN =
`When using IB mode you should specify ` +
`timeframe ('tf' filed in 'chart' object),` +
`otherwise you can get an unexpected behaviour`
const MAP_UNIT = {
"1s": SECOND,
"5s": SECOND * 5,
"10s": SECOND * 10,
"20s": SECOND * 20,
"30s": SECOND * 30,
"1m": MINUTE,
"3m": MINUTE3,
"5m": MINUTE5,
"15m": MINUTE15,
"30m": MINUTE30,
"1H": HOUR,
"2H": HOUR * 2,
"3H": HOUR * 3,
"4H": HOUR4,
"12H": HOUR12,
"1D": DAY,
"1W": WEEK,
"1M": MONTH,
"1Y": YEAR
}
export default {
SECOND: SECOND,
MINUTE: MINUTE,
MINUTE5: MINUTE5,
MINUTE15: MINUTE15,
MINUTE30: MINUTE30,
HOUR: HOUR,
HOUR4: HOUR4,
DAY: DAY,
WEEK: WEEK,
MONTH: MONTH,
YEAR: YEAR,
MONTHMAP: MONTHMAP,
TIMESCALES: TIMESCALES,
$SCALES: $SCALES,
ChartConfig: ChartConfig,
map_unit: MAP_UNIT,
IB_TF_WARN
}