|
下图列出了易盛程序化交易指令的状态图:
我们分两个方面来讲述易盛程序化交易的运行机制:
A:触发机制
所谓触发,就是指客户端运行一遍交易指令中的代码。交易指令的触发模式分为历史阶段和实时阶段。
1.历史阶段
若用户选择了运行运行历史K线,则当交易指令被加载后,将先运行指定根数的历史K线。在该阶段,每根K线只运行一次公式代码。公式的及时即时行情函数返回的是历史K线所处时刻的行情。
2.实时阶段
历史K线运行完毕后,交易指令即进入实时运行阶段。在该阶段,每当合约价格发生变动,就会运行一次公式代码。用户还可以设置定时器,如:指定每秒运行一次代码,或指定11:29:00时刻运行一次代码。当定时器到时,就会自动将代码运行一次。
B:交易机制
1.虚拟交易阶段
如果用户没有选择"启动实时交易",则交易指令始终运行在虚拟交易阶段,(即使进入了实时阶段,仍然为虚拟交易)。虚拟交易阶段采用虚拟资金计算交易指令的盈亏,默认的虚拟资金为1,00,000。调用交易函数时,绘制出一个交易箭头,并产生一条拟虚的交易订单,该订单会立即成交,不会出现订单排队状态。公式的持仓相关函数、资金相关函数返回的是虚拟交易的情况。公式的一些属性函数,如:保证金,最小变动价位,手续费,交易单位等,均返回用户在“程序化交易设置”窗口里设置的值,不会返回真实值。
2.真实交易阶段
当用户选择了“启动实时交易”选项后,会提示用户登录交易账户,登录成功后,就进入真实交易阶段。在该阶段,调用交易函数后,将绘制出一个交易箭头,并进行真实下单操作。订单不保证成交,而是以:无效单,排队中,部分成交,完全成交,待撤和已撤单6中状态的其中一种存在。公式的持仓、资金函数均返回用户账户下的真实值。公式的属性函数,如:保证金,手续费,交易单位等均返回真实值。
注:从虚拟交易阶段进入真实交易阶段的时刻,客户端会调用交易指令中的RealInit代码段,用户可以将一些初始化代码写到这个代码段,已完成一些有意义的操作。
3.暂停交易阶段
在真实交易阶段时,用户可以选择暂停交易,此时就进入暂停交易阶段。在该阶段,调用交易函数不会下单,也不用虚拟资金计算盈亏,只会绘制出交易箭头。公式的持仓、资金函数均返回用户账户下的真实值。公式的属性函数,如:保证金,手续费,交易单位等均返回真实值。
处在暂停交易阶段时,选择“启动实时交易",将重新回到“真实交易阶段”,但从暂停阶段进入真实交易阶段,不再运行RealInit代码段。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册入住
x
|