你可以把限价LIMIT改成LIMITR。
或者在交易语句后面使用IGNORECHECKPRICE函数。
我把限价LIMIT改成LIMITR,但是白色箭头还是会出现。
因为我是一个开仓对应一个平仓信号,应该不用过滤连续开仓信号吧!
以下是策略信号代码和止损:
平空:SELLSHORT(PK,1,MARKETr); //平空信号
开多:BUY(KD AND HOLDING=0,1,MARKETr); //开多信号
平多:SELL(PD,1,MARKETr); //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,MARKETr); //开空信号
//止损
if HOLDING>0 and c<AVGENTERPRICE*0.99 then 多止损: SELL(1,HOLDING,LIMITR,AVGENTERPRICE*0.99);
if HOLDING<0 and c>AVGENTERPRICE*1.01 then 空止损: SELLSHORT(1,HOLDING,LIMITR,AVGENTERPRICE*1.01);
1,出现白色箭头是不是策略逻辑有问题?
2,加上IGNORECHECKPRICE价格会在第一个白色箭头的位置成交吗?会不会产生偷价结果?
1这个和逻辑没关系。是因为你指定的价格低于或者高于k线的最低或最高价格。
2.在历史数据计算上,使用它就可以避免白色箭头。历史上的仓位计算和你说的偷价没有关系