(一)支持的函数类型对比
函数类型 | 盒子 | 模组 |
---|---|---|
收盘价模型 | √ | √ |
指令价模型 含CHECKSIG、CHECKSIG_MIN、MULTSIG、MULTSIG_MIN、PANZHONG_MIN函数 |
√ | |
出信号立即止盈/止损不复核 STOP指令 |
√ | √ |
判断当前行情是否为盘整 PANZHENG |
√ | √ |
设置K线提前N秒走完,K线走完进行复核 CLOSEKLINE |
√ | √ |
设置模型中所有信号用相同委托方式 SETALLSIGPRICETYPE |
√ | √ |
不同的信号设置不同的委托方式 SETSIGPRICETYPE |
√ | √ |
设置模型中所有信号消失用相同委托方式处理 SETALLLOSTSIGPRICETYPE |
√ | |
不同的信号消失设置不同的委托方式 SETLOSTSIGPRICETYPE |
√ | |
指定交易合约 TRADE_OTHER('CODE') |
√ | |
除隔夜跳空 TRADE_SMOOTHING |
√ | |
设置模组运行类型 SETMODRUNTYPE |
√ | |
设置模组换月移仓的委托方式 SETMOVEOPIPRICE |
√ | |
返启用按需自动入金方式 AUTOFINANCING |
√ | |
模组头寸函数 如FEE、INITMONEY、LASTOFFSETPROFIT等与资金相关的函数 |
√ | |
交易账户头寸函数 如ACCOUNTMONEY、ACCOUNTMONEYTOT等 |
√ |
(二)盒子和模组的机制对比
盒子 | 模组 | |
---|---|---|
持仓 |
取交易账户持仓判断,盒子间持仓不互相独立 ①同一合约加载多个盒子,盒子间持仓不相互独立;平仓信号发出时,根据信号手数进行平仓。 ② BKVOL/SKVOL函数的取值,根据信号手数进行计算;回测资金不足时,可能与页面盒子信号不一致;如:前面开仓信号BK根据信号手数计算为5手,实际因为账户资金不足,未进行开仓,BKVOL仍然取值为5。 |
取理论持仓和单元持仓判断,运行单元间持仓相互独立 ①多个单元加载同一合约,各单元间持仓相互独立;平仓信号发出时,先判断单元持仓,如果单元持仓<信号手数,根据单元持仓进行平仓; ② BKVOL/SKVOL函数的取值受理论资金的影响,回测和模型运行资金设置一致时,回测与运行单元信号保持一致;如:前面开仓信号BK根据信号手数计算为5手,实际因为理论资金不足,开仓2手,BKVOL的取值为2。 |
资金 |
页面盒子根据交易账户实际资金执行信号 ①不支持根据页面盒子分配资金;实际账户资金足够,即可以进行委托。 ② 不支持根据资金比例下单; ③不支持模组头寸函数等所有与资金有关的函数 |
运行单元根据分配的理论资金执行信号 ①每个单元根据分配的资金运行;实际账户资金足够,单元理论资金不足,不进行委托(除自动入金模式)。 ② 支持根据单元的资金比例下单; ③ 支持使用模组头寸函数等与资金有关的函数 |
自动入金 | 不支持自动入金 不支持AUTOFINANCING函数 |
支持自动入金 ①模型写入AUTOFINANCING函数,当运行单元理论资金不足时,会自动按需入金; ② 首次账户入金为首次开仓所需的资金,下次开仓时可用资金不足,账户再次入金按所需补齐不足部分资金; |
手动开仓 |
盒子可以接管手动下单的持仓并进行平仓 盒子是根据交易账户持仓执行信号,不论是盒子开的仓位还是手动下单开的仓位,只要是账户中有的持仓都可以由盒子接管平仓。 |
运行单元不接管手动下单的持仓 模组由运行单元独立管理持仓,不接管手动下单的持仓,后续运行单元出平仓信号也不会处理这部分持仓。 |
手动平仓 |
盒子中支持手动平仓干预 盒子根据交易账户持仓执行信号,手动平仓不会影响盒子中信号的执行。后续再出平仓信号,会读取总账户的持仓再进行判断。 |
模组中不支持手动平仓干预单元运行 模组由独立的单元管理持仓,不支持手动干预信号执行。如果手动平掉运行单元中的持仓,后续运行单元出平仓信号,就只出平仓信号,并不会真正的发委托。 |