简介
<p>[TOC]</p>
<h2>环境信息</h2>
<h2>资金服务</h2>
<h3>DEV URL</h3>
<ul>
<li>REST:<a href="https://global-exapi.hidev.me/assetapi">https://global-exapi.hidev.me/assetapi</a></li>
</ul>
<h2>现货服务</h2>
<h3>DEV URL</h3>
<ul>
<li>REST:<a href="https://global-exapi.hidev.me/ex/v1">https://global-exapi.hidev.me/ex/v1</a></li>
<li>Private WebSocket:wss://gstream.hidev.me/ws/v2/private</li>
</ul>
<h2>现货行情</h2>
<h3>DEV URL</h3>
<ul>
<li>REST :<a href="https://global-exapi.hidev.me/spot-market">https://global-exapi.hidev.me/spot-market</a></li>
<li>Public WebSocket:wss://gstream.hidev.me/ws/v4/market</li>
</ul>
<h3>- event订阅类型</h3>
<p>SUB (订阅)
UNSUB(取消订阅)
PING(心跳保持)</p>
<h3>- 间隔参数</h3>
<p>K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。此更新是基于 UTC+0 时区的。
订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:
m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月</p>
<p>1m
5m
15m
30m
1h
4h
1d
1w
1M</p>
<h3>- 增量深度推送频率</h3>
<p>rt(实时推送)
1000ms
2000ms</p>
<h3>- kline推送频率</h3>
<p>1000ms
2000ms</p>
<h3>- Topic类型</h3>
<p>s_kline(k线)
s_depth(深度)
s_trade(实时成交)
s_ticker(行情快照)</p>
<h3>- 订阅参数详解:</h3>
<pre><code>//订阅
{
&quot;event&quot;:&quot;SUB&quot;,//event类型
&quot;topics&quot;:[
&quot;BTC_USDT@s_depth@rt&quot;//topic(可以传多个topic)
]
}
//取消订阅
{
&quot;event&quot;:&quot;UNSUB&quot;,//event类型
&quot;topics&quot;:[
&quot;BTC_USDT@s_depth@rt&quot;//topic(可以传多个topic)
]
}
//ping
{
&quot;event&quot;:&quot;PING&quot;,//event类型
&quot;ts&quot;:1725678367258 //时间戳
}</code></pre>
<h2>合约业务</h2>
<h3>DEV URL</h3>
<ul>
<li>REST :<a href="https://global-exapi.hidev.me/perp-future-service">https://global-exapi.hidev.me/perp-future-service</a></li>
<li>Public WebSocket:</li>
<li>Private WebSocket:</li>
</ul>
<h2>合约行情</h2>
<h3>DEV URL</h3>
<ul>
<li>REST :<a href="https://global-exapi.hidev.me/perp-future-market">https://global-exapi.hidev.me/perp-future-market</a></li>
<li>Public WebSocket:wss://gstream.hidev.me/ws/v3/public</li>
<li>Private WebSocket:</li>
</ul>
<h3>- event订阅类型</h3>
<p>SUB (订阅)
UNSUB(取消订阅)
PING(心跳保持)</p>
<h3>- 间隔参数</h3>
<p>K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。此更新是基于 UTC+0 时区的。
订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:
m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月
1m
5m
15m
30m
1h
4h
1d
1w
1M</p>
<h3>- 增量深度推送频率</h3>
<p>rt(实时推送)
500ms
1000ms
2000ms</p>
<h3>- kline推送频率</h3>
<p>1000ms
2000ms</p>
<h3>- Topic类型</h3>
<p>p_kline(k线)
p_depth(深度)
p_trade(实时成交)
p_ticker(行情快照)</p>
<h3>- 订阅参数详解:</h3>
<pre><code>//订阅
{
&quot;event&quot;:&quot;SUB&quot;,//event类型
&quot;topics&quot;:[
&quot;PERP_BTC_USDT@p_depth@rt&quot;//topic(可以传多个topic)
]
}
//取消订阅
{
&quot;event&quot;:&quot;UNSUB&quot;,//event类型
&quot;topics&quot;:[
&quot;PERP_BTC_USDT@p_depth@rt&quot;//topic(可以传多个topic)
]
}
//ping
{
&quot;event&quot;:&quot;PING&quot;,//event类型
&quot;ts&quot;:1725678367258 //时间戳
}</code></pre>
<h3>- 深度档位公式:</h3>
<pre><code>买卖盘类型(side)
交易对价格(price)
交易对数量(qty)
交易对价格精度(priceScale)
交易对数量精度(qtyScale)
档位精度(scale):1,10,100,1000
档位精度对应左移小数位(leftMove):0,1,2,3
计算:
1.http请求获取深度,默认获取1000档
2.循环asks或者bids
Map map = new hashMap();
for(List&lt;number[]&gt; array : number[]){
price = array[0];
qty = array[1];
value = scale往左移动priceScale个小数位;
商,c = value/price;
余,d = value%price;
if(c != 0){
price = price - d;
if(side.eq(asks) &amp;&amp; c &gt; 0){
price = price + value;
}
stepQty = map.get(price);
setpQty = (stepQty == null) ? qty : (stepQty + qty)
map.put(price, stepQty);
}
}
priceScaleStep = priceScale - leftMove &lt; 0 ? 0 : priceScale - leftMove;
for(Map m : map){
价格 = m.getKey().setScale(priceScaleStep, RoundingMode.DOWN).toPlainString()
数量 = m.getValue().setScale(qtyScale, RoundingMode.DOWN).toPlainString()
}
</code></pre>