请教这段代码有问题吗?
请老师帮我看看,为啥总信号闪烁呢? 困惑我很久了,我文华财经中实盘运行的代码,想移植到这里来。 Vars ... ... global Numeric aFlg;//合约乘数 Series<Numeric> barNo;//调仓周期 Events OnBar(ArrayRef<Integer> indexs) { ... ... barNo = data0.mod(data0.CurrentBar,5); if( data0.CurrentBar>20 && barNo[1] == 0 && aFlg ==0) { aFlg = 1; Na1Sort(QSsort,id,0,dn-1,False); For i = 0 To DataCount - 1 { // 强的做多 If(i <= K ) { if(Data[id[i] ].MarketPosition>0) { if(data[id[i]].ss>data[id[i]].ss[1]) { data[id[i] ].Buy(data[id[i]].ds,data[id[i] ].open); }Else if(data[id[i]].ss<data[id[i]].ss[1]) { data[id[i] ].sell(data[id[i]].ds,data[id[i] ].open); } } else if(Data[id[i] ].MarketPosition<=0 ) { data[id[i] ].Buy(data[id[i]].ss,data[id[i] ].open); } }// 中间排名的品种若有持仓则平掉 else If((i > K && i < (dn - K)) ) { If(Data[id[i] ].MarketPosition == 1) Data[id[i] ].Sell(0,Data[id[i] ].Open); If(Data[id[i] ].MarketPosition == -1) Data[id[i] ].BuyToCover(0,Data[id[i] ].Open); }// 弱的做空 else If(i >= (dn - k) ) { if(Data[id[i] ].MarketPosition<0) { if(data[id[i]].ss>data[id[i]].ss[1]) { data[id[i] ].SellShort(data[id[i]].ds,data[id[i] ].open); }Else if(data[id[i]].ss<data[id[i]].ss[1]) { data[id[i] ].BuyToCover(data[id[i]].ds,data[id[i] ].open); } }Else if(data[id[i] ].MarketPosition>=0) { data[id[i] ].SellShort(data[id[i]].ss,data[id[i] ].open); } } } }Else { aFlg = 0; ... ... } }