掘金社区
掘金SDK v2.8.1正式发布。本次发布在v2.8版本上进一步优化与功能增强,具体升级信息如下:
增加定时器功能
在SDK中添加定时器功能,策略师可用于实现订单超时则撤单等功能,可回避第三方实现定时器要求线程同步复杂问题,强烈推荐代替第三方定时器。掘金SDK可以设置多个定时器,不同频率的定时器可以同时使用。
<!--more myquant-->
Python SDK
<pre><code class="language-python" data-lang="python">class MyStrategy(StrategyBase):
#改写on_timer
def on_timer(self, interval):
if interval == 1000:
# TODO 1秒定时
elif interval == 5000:
# TODO 5秒定时
elif interval == 10000:
# TODO 10秒定时
if name == 'main':
myStrategy = MyStrategy(
username='user',
password='password',
strategy_id='sid',
subscribe_symbols='',
mode=1
)
#设置定时器,每1秒触发一次
myStrategy.set_timer(1000)
#设置定时器,每5秒触发一次
myStrategy.set_timer(5000)
#设置定时器,每10秒触发一次
myStrategy.set_timer(10000)
myStrategy.run()
</code></pre>
Matlab SDK
<pre><code class="language-matlab" data-lang="matlab">%定义回调函数
{
if interval == 1000
%TODO 1秒定时
elseif interval == 5000
%TODO 5秒定时
elseif interval == 10000
%TODO 10秒定时
end
}
%设置定时器回调函数
gm.SetTimerHandle(@OnTimer);
%设置定时器,每1秒触发一次
gm.SetTimer(1000);
%设置定时器,每5秒触发一次
gm.SetTimer(5000);
%设置定时器,每10秒触发一次
gm.SetTimer(10000);
</code></pre>
C# SDK
<pre><code class="language-csharp" data-lang="csharp">//改写Strategy.OnTimer
public override void OnTimer(int interval)
{
if(interval == 1000)
{
//TODO 1秒定时
}
else if(interval == 5000)
{
//TODO 5秒定时
}
else if(interval == 10000)
{
//TODO 10秒定时
}
}
//设置定时器,每1秒触发一次
s.SetTimer(1000);
//设置定时器,每5秒触发一次
s.SetTimer(5000);
//设置定时器,每10秒触发一次
s.SetTimer(10000);
</code></pre>
C SDK
<pre><code class="language-c" data-lang="c">//定义回调函数
void OnTimer(int interval)
{
if(interval == 1000)
{
//TODO 1秒定时
}
else if(interval == 5000)
{
//TODO 5秒定时
}
else if(interval == 10000)
{
//TODO 10秒定时
}
}
//设置定时器回调函数
gm_set_timer_callback(OnTimer);
//设置定时器,每1秒触发一次
gm_set_timer(1000);
//设置定时器,每5秒触发一次
gm_set_timer(5000);
//设置定时器,每10秒触发一次
gm_set_timer(10000);
</code></pre>
优化 Subscribe() 订阅行情API
在模拟行情模式(MODE=3)和回测模式(MODE=4)下,如果Run()之前调用,可以订阅到行情。
新增 Postion.available_yesterday 字段
含义为可平昨仓, 对于T+1交易品种,仓位管理更便利, 参见 Postion 结构定义。
SDK默认交易地址更变为终端(localhost:8001)
原默认交易地址默认为挖金子云交易服务,现更变为本地终端(localhost:8001),如需要通过挖金子仿真交易,则需要显式设置交易服务地址为 cloud.myquant.cn:8001 或 120.24.228.187:8001。
Bug 修复如下:
- 修复Instrument中代码名称太长显示不全问题
- 修复用秒分时回测时数据缺少问题
- 修复调用gm_md_unsubscribe时和服务器断开连接问题
各种语言SDK具体动态如下:
更详细情况请参考sdk的文档和示例,以及sdk中的changelog。新的SDK下载
这是一个已从原 http://www.myquant.cn/news/2016/04/20/sdk-2-8-1-release/ 中分离的主题