全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
日线模型信号闪烁问题
gzwd2004 分享到
2022-03-08 21:54

      日线收盘价模型,收盘时信号正常(比如今天的HC用HC000取信号 ,日线级别KD死叉是空头,14:57:01.745成交,在这个时间之后,没有价格超过14:57:01.745的价格),但晚上21点开盘时却提示信号闪烁(可以确定成交后KD的状态没有发生改变 ,观察不止一次了),工作区的空头信号 变为多头信号(日线KD还是死叉) ,退出工作区重新登录,恢复为空头信号,一直没能找到原因,麻烦帮我看看是不是语法写错了,原码如下,谢谢!

 

 


Vars
    Series<Numeric> HighestValue;                
    Series<Numeric> LowestValue;        
    Series<Numeric> K;
    Numeric SumHLValue;
    Numeric SumCLValue;
    SERIES<Numeric> D;
    Global ARRAY <Numeric> TT;
    Global BOOL SS;
    Global BOOL SS1;
Events

OnInit()
{
    
TT=[0.145700];
SetTriggerBarClose(TT);    
SetOrderMap2MainSymbol();////映射主力
}

    OnBar(ArrayRef<Integer> indexs)
    {
        Range[0:DataSourceSize() - 1]
        {
    
            HighestValue = HighestFC(High,14);
            LowestValue = LowestFC(Low,14); 
            //PlotString("HH",TEXT(HighestValue),H);
            //PlotString("LL",TEXT(LowestValue),L);
            SumHLValue = SummationFC(HighestValue-LowestValue,3);
            
            SumCLValue = SummationFC(Close - LowestValue,3);
            
                If(SumHLValue > 0  OR  SumHLValue < 0)
            {
                K = SumCLValue/SumHLValue*100;
                
            }Else
            {
                K = 0;
                
            }
            D = AverageFC(K,3);
            // SS=K[1]<D[1]&&K>D;
         //SS1=K<D&&K[1]>D[1];
        }
        }
        OnBarClose(ArrayRef<Integer> indexs)  
         {           
        
         IF(MarketPosition<1)
          //IF(MarketPosition<1&&longCurrentContracts()<1)
           {
       
           IF(K[1]<D[1]&&K>D)
          {           
           BUY(1,C);
          //A_SendOrder(Enum Buy,Enum ENTRY,1,C);//实时直接发单
           }
           }
           IF(MarketPosition>-1)
           
           {
      
           IF(K<D&&K[1]>D[1])
          {
                  SellShort(1,C);
       
          }
        }
        }

gzwd2004

重新 修改了指标和开仓条件,代码如下:

2022-03-08 21:57
gzwd2004

Vars
    Series<Numeric> HighestValue;                
    Series<Numeric> LowestValue;        
    Series<Numeric> K;
    Numeric SumHLValue;
    Numeric SumCLValue;
    SERIES<Numeric> D;
    Global ARRAY <Numeric> TT;
    Global BOOL SS;
    Global BOOL SS1;
Events

    OnInit()
    {
    
    TT=[0.145702];
    SetTriggerBarClose(TT);    
    SetOrderMap2MainSymbol();////映射主力
    }

    OnBar(ArrayRef<Integer> indexs)
    {
        Range[0:DataSourceSize() - 1]
        {
            
            HighestValue = HighestFC(High[1],14);
            LowestValue = LowestFC(Low[1],14); 
            
            SumHLValue = SummationFC(HighestValue-LowestValue,3);
            
            SumCLValue = SummationFC(C[1]- LowestValue,3);
            
                If(SumHLValue > 0  OR  SumHLValue < 0)
            {
                K = SumCLValue/SumHLValue*100;
                
            }
            Else
            {
                K = 0;
            
            }
            D = AverageFC(K,3);
            
            SS=K[1]<D[1]&&K>D;
            SS1=K<D&&K[1]>D[1];
        }
        }
        OnBarClose(ArrayRef<Integer> indexs)  
         {           
        
         IF(MarketPosition<1)
           {
       
           IF(SS)
          {       
                BuyToCover(0,H);
                BUY(1,H);
                
           }
           }
           IF(MarketPosition>-1)
           
           {
      
           IF(SS1)
          {
                SELL(0,L);
                  SellShort(1,L);
              
         }
        }
        }

 

用昨天的KD为条件开仓,以当天的HL发单,收盘时正常,晚上开盘后提示信号闪烁(但不会真正 的发单产生交易 ),工作区信号改变,关闭工作区重启后,信号恢复到开盘前的正常信号 ,请老师帮忙看看是什么问题,多谢!

2022-03-11 21:19
您未登录,请先 登录注册 后发表评论
顶部