Appearance
券商服务器(或流动性提供商)特定格式
本节目标:理解“券商服务器(或流动性提供商)特定格式”的核心思路,并能把它用于实际开发或面试表达。 sessions_quote / sessions_trade 数据到底是什么?
| 现象 | 解释 |
| 每个 symbol 都附带 sessions_quote 和 sessions_trade,长度固定 7 | 这是券商服务器(或流动性提供商)为该 symbol 设定的可报价/可交易时间表,按服务器本地时区(常见 MT5 / cTrader 接口格式),而不是统一 UTC,更不是官方交易所数据。 |
| 每天的 open/close 是整数 0–1440 | 表示「距离当天 00:00 的分钟数」。例:open = 60 ⇒ 01:00;close = 1439 ⇒ 23:59。 |
| 为什么同一 BTCUSD 在不同平台时间不一致? | BTC 现货链上 24/7,但 券商层面可能: |
| ① 每周固定维护窗口(如周日凌晨停 15 min); | |
| ② 控制杠杆或风险,需要短暂停盘; | |
| 因此时间段由券商定,不同平台会不同。 | |
| 外汇也是 OTC,没有全球统一交易所,券商自定会话更常见。 | |
| sessions_quote vs sessions_trade | 有的平台允许“只报价不成交”时段(报价 session 早于或晚于交易 session)。如果你只关心「能否下单」,以 sessions_trade 为准。 |
结论:把这些 session 当成“Broker-Level 市场时间”,视为独立市场即可。关键是知道“这些分钟数在哪个时区”——通常就是券商服务器时区,需要后端接口同时返回一个字段(如 server_timezone: 'UTC+2' 或 Europe/London)。如果拿不到,就必须与你后端确认。
{
"BTCUSD.sd": {
"sessions_quote": [
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 840,
"open": 0
},
{
"close": 1440,
"open": 855
}
]
],
"sessions_trade": [
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 1440,
"open": 0
}
],
[
{
"close": 840,
"open": 0
},
{
"close": 1440,
"open": 855
}
]
],
},
}