产品动态

发布掘金SDK v2.8.1,优化版本升级

20 Apr 2016掘金团队

掘金SDK v2.8.1正式发布。本次发布在v2.8版本上进一步优化与功能增强,具体升级信息如下:

增加定时器功能

在SDK中添加定时器功能,策略师可用于实现订单超时则撤单等功能,可回避第三方实现定时器要求线程同步复杂问题,强烈推荐代替第三方定时器。掘金SDK可以设置多个定时器,不同频率的定时器可以同时使用。

Python SDK
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()
Matlab SDK
%定义回调函数
function [ ] = OnTimer( interval )
{
    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);
C# SDK
//改写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);
C SDK
//定义回调函数
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);

优化 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 修复如下:

  1. 修复 Instrument中 代码名称太长显示不全问题
  2. 修复 用秒分时回测时数据缺少问题
  3. 修复 调用 gmmdunsubscribe 时和服务器断开连接问题

各种语言SDK具体动态如下:

  1. C SDK 相关内容请参见这里
  2. C# SDK 相关内容请参见这里
  3. Python SDK 相关内容请参见这里
  4. Matlab SDK 相关内容请参见这里
  5. R SDK 相关内容请参见这里

更详细情况请参考sdk的文档和示例,以及sdk中的changelog。新的SDK下载

返回列表