例如:
A、B两套交易体系,交易同一个品种NI,程序化交易设置固定止损1000点;
1、A系统多单买入1手,买入价90000,止损500点,止损价85000;
2、B系统多单买入1手,买入价100000,止损 100点,止损价99000;
3、A、B系统先后买入后,持仓共2手,价格回落到99000,触动B系统止损1手,B系统持仓为0;价格继续回落到90000,此时A系统止损价尚未触及,但是系统发出了平仓1手信号,导致图表上A系统仍然 显示持仓1手,但是实际持仓为0;
4、原因分析:B系统触动止损,实际成交的为先买入的价格为90000的1手,由于程序化交易设置固定1000点,价格回落到90000时,B系统买入的价格为100000的1手又平掉,导致图表和实际持仓出现不一致。
以上分析是否正确?这种情况该如何解决?今天实际交易就出现了这种情况。
先确认一下:
1、设置固定止损1000点,是在系统中设置的吗?
2、A,B 两套系统是分别在两个窗口吧? 对应的止损500,1000点是写代码里的吧?
对,固定止损1000点在系统中设置; A、B 两套系统是两个窗口,500点及1000点(问题里误写为100点)的止损是公式代码里的;
账户中平仓的规则是先开先平,就是B策略触发了平仓1手,平的实际是但是策略A的开仓(假设A策略先开仓,B策略再开仓),实际系统此时固定止损的止损点= 100000 - 1000 =99000 ;
但价格小于99000 时,就会触发系统自带的止损;
1.如果是一开一平的方式处理,建议你平仓时使用holding限制图表仓位数量,及平仓时的手数。
2.如果非一开一平,平仓是直接sell(条件,holding,指令);//注:若图表中的理论仓位大于实际持仓数量,也会出现你表述的问题。