HOLDING=0,在盈透里面不起作用,有仓时还是开仓 BUY(K>D and HOLDING=0,KCS,limitr,C-4*MI); //kdj,50000元,EUR/USD,限价开仓,限价下浮4点开多 已经开仓,这个开仓指令又开仓,HOLDING=0不起作用
HOLDING 是位于图表的持仓,与你实际的持仓是没有关系的。 如果处于图表上的交易系统仓位是0,那么就会出现信号。 参考这里 http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=2427
//input:N(9,1,100),P1(3,1,100),P2(3,1,100),KCS(800000,1,99999999);//开仓手数 MI:=0.0001;//最小变动价位 MU:=MULTIPLIER;//当前品种的乘数/单位 RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K:=SMA(RSV,3,1); D:=SMA(K,3,1); SELL(C>=ENTERPRICE+5*MI and HOLDING>0,400000,limitr,ENTERPRICE+5*MI);//止盈单,5点,LMT限价止盈平空 SELL(C<=ENTERPRICE-3*MI and HOLDING>0,800000,stopr,ENTERPRICE-3*MI);//止损单,3点,STP止损平空 SELLSHORT(C<=ENTERPRICE-5*MI and HOLDING<0,400000,limitr,ENTERPRICE-5*MI);//止盈单,5点,LMT限价止盈平多 SELLSHORT(C>=ENTERPRICE+3*MI and HOLDING<0,800000,stopr,ENTERPRICE+3*MI);//止损单,3点,STP止损平多 BUY(K>D and HOLDING=0,800000,limitr,C-1*MI); //800000元,EUR/USD,限价开仓,限价下浮4点开多 BUYSHORT(K<D and HOLDING=0,800000,limitr,C+1*MI);//8000000元,EUR/USD,限价开仓,限价上浮4点开空
这是因为你用限价开仓,还没到达限价时,满足条件(此时HOLDING=0),又开仓。 请选择K线走完模式或使用市价单(超价),或者你仔细考虑调整策略使用后台交易 BUY(K>D and HOLDING=0,800000,limitr,C+1*MI); BUYSHORT(K<D and HOLDING=0,800000,limitr,C-1*MI);