我想实现,当前bar达到条件发出委托,如果挂单一直到这根bar结束都未成交。下根bar开始就撤掉所有挂单,然后当这根bar再次达到条件时,又发出委托单
这样编写为什么撤单以后,不再发出新的委托单了呢 Defs //此处添加公式函数 Integer trySendOrder(StringRef sym,Numeric price,Integer volume) { If(len(myPos.symbol)==0) { //初始化持仓 A_GetPosition(sym,myPos); Return 0; } //如果有未成交单先平仓 If(myPos.longActiveVolume !=0 || myPos.shortActiveVolume!=0 ||myPos.longActiveCloseVolume !=0 || myPos.shortActiveCloseVolume!=0) { A_DeleteAccountOrder(sym); Return 1; } Return 0; } Events //在新bar的第一次执行之前调用一次,参数为新bar的图层数组 OnBarOpen(ArrayRef<Integer> indexs) { if(BarStatus==2) { trySendOrder(Symbol(),Open,1); } } OnPosition(PositionRef pos) { myPos=pos; } OnBar(ArrayRef<Integer> indexs) { HHV01=Highest(C[1],zhou); //---------------------开多仓------------------------// If(MarketPosition==0 AND High>=HHV01 ) { Buy(1,HHV01); } //------------------------------------------------------------------------------------------------ Myprice =HHV01- H[1]*0.005; If(MarketPosition==1 ) {PlotNumeric("duo",Myprice);} If(MarketPosition==1 And L < Myprice AND BarsSinceentry > 0)//多头跟踪止损 { Sell(1, MyPrice); } }