关于回测过程中以Low和High为平仓条件的一点问题

在对ru888的回测过程中,我使用以下代码。当平仓条件使用LOW和High的时候,就会出现已经满足开仓条件,并且Commentary执行了,但是Buy不执行的情况。如果将LOW和HIGH改为Close,那么就不会出现该情况??想问问这是怎么回事?


Params

    Numeric Length(14);        //周期
    Numeric AvgLength(9);    //平均周期
Vars
    Global Numeric Lsign;
    
    Series<Numeric> TmpValue; 
    Numeric Mean( 0 );  
    Numeric AvgDev( 0 ); 
    Numeric Counter( 0 ) ;
    Series<Numeric> CCI(0);  
    Numeric CCIAvg; 
    Numeric MA;
    
    

Events

    
    OnBar(ArrayRef<Integer> indexs)
    {

        TmpValue = High + Low + Close; 
        Mean = AverageFC( TmpValue, Length ) ; 
        AvgDev = 0 ;
        for Counter = 0 to Length - 1 
        {
            AvgDev = AvgDev + Abs( TmpValue[Counter] - Mean ) ;
        }
        AvgDev = AvgDev / Length ;
        
        if( AvgDev == 0)
            CCI = 0;
        Else
            CCI = ( TmpValue - Mean ) / ( 0.015 * AvgDev ) ;        
        CCIAvg = AverageFC(CCI, AvgLength );


        If(CCI > CCI[1])
        {
            Lsign = 1; //做多
        }Else
        {
            Lsign = -1; //做空
        }
        MA = Average(Close[1],10);
        If(Lsign == 1 And MarketPosition == 0)
        {
            //做多
            Commentary("做多");
            Buy(1,Close);
            
        }
        
        If(Lsign == -1 And MarketPosition == 0)
        {
            //做空
            Commentary("做空");
            SellShort(1,Close);
        }
        
        If(Low < MA And MarketPosition == 1)
        {
            //做多平仓
            Commentary("做多平仓");
            Sell(1,MA);
        }
        
        If(High > MA And MarketPosition == -1)
        {
            //做空平仓
            Commentary("做空平仓");
            BuyToCover(1,MA);
        }                
        //}
        Commentary("CCI:"+Text(CCI));
        Commentary("CCI[1]:"+Text(CCI[1]));
        Commentary("MAR:"+Text(MarketPosition));
        PlotAuto("MA",MA);

        

    }
 

关于开仓价格问题(buy Open\close\High\Low)
Tick行情状态下High和Low数据不对
关于自动平仓的一点问题
实盘和回测的问题
关于回测数据不准的问题
关于图标平仓和实际平仓问题
直接使用HIGH、LOW是否会有未来函数?
关于High的提问
HIGH/Close/low 函数调用时出错
关于策略回测去除无效数据的问题

第一 你这个cci指标是闪烁的吧?我最近一次课正好讲了这个cci指标,里面应该说过信号闪烁,你可以看看视频回放

第二 开仓信号会不会出现,跟你平仓信号是没有关系的...这完全是独立的两件事,你怎么会觉得有关系?

第三 满足信号条件却不开仓,你确定你还有可用资金?不会是前面历史信号累积下来亏完了?

第四 交易价格用close,测试报告是不可信的

谢谢老师回复,我发现是前面资金亏完了。当时没考虑到这点。发现改了之后入场也没了,所以一直感到困惑