编写目的
本说明书为指导软件使用人员顺利安装、授权码获取、登录、软件配置和运行等。
本系统用途
鑫程序化交易系统是一个集程序化交易、多账户管理、主观多账户下单、策略编写(用的python语言)、追单助手等功能于一体。策略框架灵活可以实现普通的ctp策略、跨周期策略、多合约套利策略、定时批量下单策略、从账户跟主账户下单策略和挂单网格策略等,还有其他很多辅助功能,祝您实现无人值守交易。
安装说明
欢迎使用
帮助使用步骤建议:
1、 安装说明
2、 软件使用
3、 策略运行机制
4、 工作区(策略运行监控)
5、 账户配置
6、 软件编写
7、 策略实例
管他的三七二十一先娱乐下 ↓
End
策略运行机制
策略一共有两种运行机制,分别如下:
1、 轮询方式运行机制,每隔固定时间从0号策略开始运行到最后一个策略,然后间隔固定时间又开始从0号策略到最后,这样不断循环。
间隔时间可以在设置中设置,一般设置为0.5秒轮询一次,可以设置为0.1秒-60秒都可以。一般的如趋势策略、波段策略和震荡策略都通过此种方式运行,此种方式执行策略非常稳定,很好用。但此种方式运行策略买有tick数据,只有k线数据。
2、 tikc驱动方式运行机制,这种方式启动,系统会单独启动进程订阅交易合约和设置中指定的合约,订阅后每行策略会以订阅的tikc驱动,
只要交易所有数据推送过来就会立即驱动策略执行,并会传递tick给策略实例。这种方式适合账户交易模式、挂单撤单交易模式、跨期套利或跨合约套利交易和高频交易等。
功能字段设置说明
注意事项:
1、设置多账户同时在一个策略中交易时,在手工多账户下单时,账户与倍率必须对齐,账户编号填写必须按照账户设置表的顺序来,否则下单时账户编号对应的倍率会错乱,88站位编号也不能和实盘一起并排使用,否则编号对应的倍率会乱。
2、写策略时,策略函数返回的第一个参数也就是第一个指标值设置成“w”,会屏蔽掉所有显示,在tick级别策略中可以提高策略运行效率。
交易设置列表每字段含义:
[[1], [1, 1, 1], [88, 360, 1, 88], [‘IF2109’], [‘IH’, ‘IC’, ‘IF’], [1, 57, 10, 3, 0, 5, ‘IF2112’, 1, 1], ‘ruanjian2.0_taolixitong_v2_CFFEX.IF2109_30s’, 0, [2, 0, 1, 2]]
0,账户;
1,账户对应倍率;如:工作区中填写 0,1|1,2,1 代表0号账户1倍下单,策略中发一单就下一单,2号账户为2倍,策略中发一单着下两单。
2,算法交易参数;详见:算法交易各种参数说明。
3,交易合约;
4,需要开平互转的合约;自动判断是否有今仓,有今仓者锁仓,应对日内手续费高,在设置中设置。
5,策略参数;对应:策略中需要的参数,如均线参,macd参数等,注意第一位一定是开仓数量参数,第一个参数如果为0的话着关闭这一行策略,关闭后不再更新策略,包括时间和最新价。
6,策略名;策略名组成:软件名+策略函数名+数据合约+周期。策略名为此行策略的唯一标识,编写策略时可用于识别此行策略,批量下单时为“批量下单”标志,手工下单时为“手工下单”标志。
7,是否开启开平互转,1为开启,0为关闭;
8,其他功能。详见:新版其他功能每个参数说明。
新版其他功能每个参数说明:
0,委托偏移跳数,可以为负数。参数含义:为委托偏移的跳数;
1,是否需要初始化交易信号。参数含义:0为不需要初始化历史信号,2为需要初始化历史信号;
2,是否是收盘后运算交易信号。参数含义:1为不是,每tick都计算,0为是只k线收盘计算;
3,下单价格基准,参数含义:0为最新价,1为对手价,2为排队价,3为指定价。
关于行情源选择:参数含义:0为天擎,1为自编行情,mdapi,2为gaoapi;
算法交易各种参数说明:
最后一位参数为算法交易种类选择,0为平均拆分下单,1为根据盘口下单,2为按时间均匀下单,3为所有账户单量加起来来按单位固定时间下单,4为所有账户在单位时间内下完单,所有账户一起下单,最后一位大于等于88为不启用算法
算法0各参数依次为,大于多少手执行算法、间隔下单时间、每次下多少手、算法编号,88为不启用算法
算法1各参数依次为,大于多少手执行算法、间隔下单时间、每次下单根据盘口量的百分之几、、算法编号,88为不启用算法
算法2各参数依次为,大于多少手执行算法、多少秒内下完、每次下多少手、算法编号,88为不启用算法
算法3各参数依次为,大于多少手执行算法、间隔下单时间、每次下多少手、多少个账户一起下单、是否启动该算法,注意:此算法只用于集中下单策略,不能用于手工下单等
算法4各参数依次为,大于多少手执行算法、每单给多少秒用于计算总时间、每次下多少手、、算法编号,88为不启用算法
算法5各参数依次为,大于多少手执行算法、多少秒时间内下完单,此参数等于在策略中根据条件计算的下单总时间、每次下多少手(改为开始隔多少秒开始下单)、算法编号,88为不启用算法
算法6各参数依次为,唐总挂单被动成交算法-未完成,现在可以测试不能实盘
批量下单其他功能参数说明:
0,委托偏移跳数,可以为负数。参数含义:为委托偏移的跳数;
1, 下单时间确定,0为收盘下单,1为夜盘下单,2为白盘下单排除夜盘品种,3为开盘下单,4为新下单表2,合并主工作区中和批量下单相同下单的数量;
1、 如果设置为88,者为选择对应编号的账户作为基准仓位(账户编号填在数据库表名列),用于跟踪账户下单策略监控同步用,如下图设置。
用0号账户的仓位作为基准仓位,1号账户为监控账户。
2,刷新数据库仓位时判断是否收取数据表表和是否合并对冲仓位,0为不获取,1为获取数据不对冲仓位,2为获取并对冲仓位,3为对冲仓位数据基准(占时没有用),66为账户结束标志,以此判断进行仓位合并;
3,下单价格基准,参数含义:0为最新价,1为对手价,2为排队价,大于8为指定价,指定价格为jiaoyishezhi[8][3];
tick驱动时传入的tick数据格式:
{"DateTime": "20201211135843", "Bids": [[4866.8, 2]], "Asks": [[4867.4, 1]], "TradingDay": 20201211, "Symbol":
"IF2012.", "InstrumentID": "IF2012", "ExchangeID": "", "LastPrice": 4867.2, "Volume": 69843.0,
"Turnover": 102895136340.0, "OpenInterest": 90243.0, "AveragePrice": 1473234.7742794554, "OpenPrice": 4969.0,
"HighestPrice": 4970.0, "LowestPrice": 4857.8, "ClosePrice": 0.0, "SettlementPrice": 0.0,
"UpperLimitPrice": 5435.6, "LowerLimitPrice": 4447.6, "PreClosePrice": 4943.8,
“PreSettlementPrice”: 4941.6, “PreOpenInterest”: 95439.0}
gongju模块DuquRedis_HQ函数读取的tick数据格式:
{'DateTime': '20211014153126', 'TradingDay': '20211014', 'Symbol': 'IF2110.', 'InstrumentID': 'IF2110', 'ExchangeID': '', 'LastPrice': '4907.2',
'Volume': '47250.0', 'Turnover': '69778668300.0', 'OpenInterest': '25139.0', 'AveragePrice': '1476797.2126984126', 'OpenPrice': '4935.8',
'HighestPrice': '4958.6', 'LowestPrice': '4897.4', 'ClosePrice': '0.0', 'SettlementPrice': '4914.6', 'UpperLimitPrice': '5432.6', 'LowerLimitPrice': '4445.0',
'PreClosePrice': '4935.6', 'PreSettlementPrice': '4938.8', 'PreOpenInterest': '49336.0', 'BidsJ': '4907.2', 'BidsL': '12', 'AsksJ': '4908.2', 'AsksL': '1'}
4,交易设置列表 20210722版
[[0], [1, 1, 1], [2, 59, 1, 88], [‘rb2110’], [‘IH’, ‘IC’, ‘IF’], [1, 8, 6, 10, 10, 1], ‘ruanjian2.0_nishiwangge_v1_SHFE.rb2110_30s’, 2, [1, 0, 1, 0]]
软件使用
1、工作区(策略监控运行)
策略监控(工作区)详细说明如下图:
2、策略启动相关
策略的启动流程和注意事项如下图:
3、策略添加删除调整
软件文件夹目录结构如下图:
工作区详细说明:
工作区的结构和软件运行监控的结构是一模一样的,一般我们添加、删除和调整都是在这里操作,创建或修改完成后保存表格,然后重启软件就可以加载新的策略表,然后在软件中写入,就可以启动交易了。也可以备份工作区,只需复制一份表格到其他地方保存就备份好了,clcsh.xls文件的名字一定不能修改,软件只识别这个文件名作为加载的工作区,想换回备份的工作区就很简单了,只需要将现在的工作区表格改名,将备份的表格改回clcsh.xls即可。
4、头寸监控
头寸监控作用:
1、监控账户持仓与理论持仓是否匹配,在不匹配时可以选择一键同步进行批量下单,使其和理论持仓匹配。
2、定时检测是否与理论持仓匹配,不匹配自动同步。