如何通过策略出租码元数据给出租的策略指定不同的版本数据

2 years ago
Labels:数字货币/量化交易/期货01137
Article Source: 发明者量化

    策略需求

    开发出一个策略出租时希望对于策略进行不同的资金限制,对策略出租时进行不同的交易所限制(限制策略操作的交易所),再或者希望对于策略出租时进行交易所账号配置的限制(指定这个策略只能操作事先约定好的账户,策略使用者使用其它账户时策略提示并不再做交易等操作)。


    这些显然不能写死在代码里,因为如果写死在代码中。所有用户都会受到这些条件限制,就不能针对不同用户群体做出不同使用权限的控制。基于以上需求场景,发明者量化交易平台扩展了新功能:策略出租注册码元数据设置在创建注册码时,可以指定一个元数据Meta,数据为字符串。注意:生成注册码时Meta的长度不能超过190个字符。


    使用FMZ注册码元数据对策略限定

    例如我是一个策略开发大佬,我开发了一个现货交易对为BTC_USDT的策略,策略只做多(初始时只有计价币QuoteCurrency即USDT,买入了就持仓具有交易币BaseCurrency即BTC),我要出租这个策略,策略名称为test1。


    可见,对于策略的限定设计需要结合具体策略的情况具体设计。本例是现货策略的一个演示,如果策略是一个期货策略呢?那就要限定期货持仓信息了(根据GetPosition返回的持仓数据)。当策略发现超过限定的持仓时,不再执行下单开仓逻辑(其它逻辑需要正常执行,例如平仓等操作)。所以这些设计需要结合策略本身具体而言,本例只是一个简单的说明例子,可能并不具有实际使用价值。


    策略源码:


    在创建注册码时,策略库中找到test1策略,点击右侧的操作项,点击售卖


    点击内部出售


    点击“小扳手”,设置注册码元数据。


    然后把要限定的信息写进Meta控件,例如本例设计的几种策略使用等级:

    level1 : 不限制持仓数量。

    level2 : 限制持仓数量最大为10个币。

    level3 : 限制持仓数量最大为1个币。

    不设置Meta : 不设置时,默认限制持仓数量最大为0.5个币。


    我们首先给Meta控件设置level1,让这个创建的注册码具有test1策略的level1等级。创建好了注册码:


    策略出租者将这个注册码发送给策略租用者。例如,这个时候我在我的另一个账号(策略租用者)使用这个注册码,就获得了test1这个策略的使用权。


    策略租用者使用策略

    策略租用者,创建实盘,策略使用test1,添加一个WexApp现货交易所对象(WexApp是FMZ平台的模拟盘),运行实盘。

    可以看到策略正常运行起来了,说明level1等级不限定持仓数量(现货账户持有的币数)。


    修改Meta数据

    当策略注册码已经使用,如果策略开发者需要调整发出的注册码的Meta数据时,还可以修改。在策略库,出售记录中。


    可以修改Meta数据。


    我们把之前的注册码的Meta数据修改为level3,然后这边策略使用者,重启实盘测试。

    可以看到上图,触发了level3等级限定持仓最大只能为1个币的限制。


    综述

    根据不同用户群体、不同付费等级出租策略时,具体配置Meta元数据,以实现策略分级控制。当然,以上只是列举了最常见的限定、控制需求。还有各种各样的类似需求都可以使用这个功能实现。

    免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

    Comment

    There is no comment, immediately to comment!