请教这段代码有问题吗?
2022-11-21 15:00

请老师帮我看看,为啥总信号闪烁呢? 困惑我很久了,我文华财经中实盘运行的代码,想移植到这里来。
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;
            ...
            ...
        }
    }

评论区
wguishan

在文华财经给我们配备一对一的 金融工程师实时支持。

2022-11-21 18:34
wguishan

这个代码正在跑着一个产品,不方便公开,可以发个人吗?其实,文华财经在代码服务方面比开拓者强太多了,尤其是对我们这样的跑实盘的客户。

2022-11-21 18:28
顶部