用LinearRegSlope函数时有信号闪烁,求教如何解决?
用LinearRegSlope函数时有信号闪烁
用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)); } } }测试截图如下
回复:看了这个帖子里老师的回复,意识到上面这个代码还是有可能会信号闪烁,因为价格C是不固定的 https://bbs.tbquant.net/thread/forum1330
虽然说信号闪烁问题要具体问题具体分析解决,可以看看这个教学视频了解一下原理和常见处理方法,说不定搞清楚了原理自己就解决了 信号闪烁产生原因及处理方法20211104 https://video.tbquant.net/video?id=video239
信号闪烁取决于你怎么使用函数,怎么写代码