def barsize_to_IB(barsize: str) -> str:
"""
Convert a user-input ambiguous bar size string to IB-style barSizeSetting
and check validility.
:param barsize: A user-input ambiguous time duration string,
like '1 min', '5days',etc.
:returns: IB-style barSizeSetting
"""
timedur = timedur_standardize(barsize)
IB_barsize_map = {
'1s': '1 secs',
'5s': '5 secs',
'10s': '10 secs',
'15s': '15 secs',
'30s': '30 secs',
'1m': '1 min',
'2m': '2 mins',
'3m': '3 mins',
'5m': '5 mins',
'10m': '10 mins',
'15m': '15 mins',
'20m': '20 mins',
'30m': '30 mins',
'1h': '1 hour',
'2h': '2 hours',
'3h': '3 hours',
'4h': '4 hours',
'8h': '8 hours',
'1d': '1 day',
'1W': '1W',
'1M': '1M'
}
try:
barSizeSetting = IB_barsize_map[timedur]
except KeyError:
raise KeyError("Invalid input barsize string: {}!".format(barsize))
return barSizeSetting
评论列表
文章目录