用LinearRegSlope函数时有信号闪烁,求教如何解决?

用LinearRegSlope函数时有信号闪烁

如何解决信号闪烁
请问老师,TICK周期的信号闪烁问题如何解决。
信号闪烁 不能用Global ,怎么来解决
没有办法解决的信号闪烁问题
信号闪烁问题求解决!
用close怎样规避信号闪烁
关于LinearRegSlope函数的参数类型
图表有开仓信号,但系统判定信号闪烁,未进行开仓如何解决,我确认代码是没有闪烁的问题
求防止信号闪烁的函数
信号闪烁问题

正好这两天在这折腾信号闪烁和实盘报单的各种情况, 我这里有个取巧的通用方法可以在一根bar上锁住出现的信号不让其闪烁,代码如下

注意: 这个方法只是为了消除信号闪烁,如果通过buy/sell触发实盘报单,可能会出现实盘与虚拟账户头寸不一致的情况影响后续平仓操作,仅供思路参考


//------------------------------------------------------------------------
// 简称: sbx_trade_locksignal
// 名称: 锁定信号的通用办法
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    

Vars
    Global Integer tickCounter(0); 
    Global Integer barCounter(0); 
    Global Bool sigShowUpOnBar(False);

Defs
   
    
Events
    
    
    OnBarOpen(ArrayRef<Integer> indexes) {
    
        // 跳过历史bar
        If(QuoteStatus <> Enum_QuoteStatus_RealTime )
            Return;
        
        tickCounter = 0;
        barCounter = barCounter + 1;
        sigShowUpOnBar = False;
    }

    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        If(QuoteStatus <> Enum_QuoteStatus_RealTime )
            Return;
        
        tickCounter = tickCounter + 1;
        
        If(sigShowUpOnBar)
        {
            // 满足条件的信号出现后在这个Bar上“锁住”信号
            Buy(2, C);
            Print("信号锁定 - Bar #" + Text(barCounter) + " - on titck #" + Text(tickCounter));
        
        } Else {
        
            // 实际的交易触发逻辑: 开盘后第5跟和第7跟Bar上收到第二个tick时下买单
            If(barCounter == 5 OR barCounter == 7)
                If(tickCounter == 2)
                {
                    Buy(2, C);
                    sigShowUpOnBar = True;
                    
                    Print("信号出现 - Bar #" + Text(barCounter) + " - on titck #" + Text(tickCounter));
                }
            
        
        }
    }

测试截图如下

虽然说信号闪烁问题要具体问题具体分析解决,可以看看这个教学视频了解一下原理和常见处理方法,说不定搞清楚了原理自己就解决了

信号闪烁产生原因及处理方法20211104 https://video.tbquant.net/video?id=video239

信号闪烁取决于你怎么使用函数,怎么写代码