有球友分享了 tradingview上的一个机器学习策略,根据市场波动状态智能调整趋势因子,波动率自适应,多重滤波,胜率达到88%,效果很不错。这个平台最大的优点就是可以直接查看策略的源码,虽然是用他特有的Pine Script脚本编写的源代码。还可以看到全球交易者发布的实时分析,带有技术指标和绘图的图表,有文字解释交易逻辑和策略依据。

这个策略是分钟线策略,具体是5分钟时间框架的策略。
图表标题:图片中明确显示"SOLUSDT Perpetual Contract ·5·Bybit",其中的"5"代表5分钟时间周期。这表明整个图表是基于5分钟的K线数据。
策略应用场景:策略指标"Machine Learning | Adaptive Trend Signals [Bitwardex]"被直接叠加在5分钟图上,信号点(蓝色看涨和红色看跌)也是基于5分钟K线生成的。
回测数据:右上角显示的回测胜率88%和交易次数100次,是基于5分钟历史数据计算的结果,这进一步证实了策略的短周期特性。
策略的时间框架灵活性:
虽然图片中展示的是5分钟应用,但该策略本身是时间框架无关的(Timeframe-Agnostic),意味着它可以在任何时间周期上运行(如1分钟、15分钟、小时线甚至日线)。
策略优点
传统趋势跟踪策略往往依赖固定参数,难以适应不同波动环境下的市场特征。当市场进入高波动期时,固定参数可能导致过度交易或假信号;而在低波动期,过于保守的设置可能错失机会。这个策略将波动率聚类分析与技术指标过滤相结合,通过高斯平滑处理噪声数据,最终生成符合当前市场节奏的交易信号。
该策略在SOL/USDT 5分钟图上的表现,回测胜率高达88%,交易次数100次。其优点如下:
1.自适应市场环境:通过K-Means聚类将波动率分为高、中、低三个状态,并据此调整趋势因子,使策略在不同市场条件下都能保持敏感度。
- 多重过滤,信号可靠:结合波动率调整的标准差、平滑RSI和ADX滤波器,有效过滤假信号。信号生成不仅要求趋势线交叉,还要求价格位置和方向确认。
策略逻辑
左上角可以直接点击源码的按钮,可以查看Pine Script脚本编写的源代码:

波动率聚类
波动率是衡量市场价格波动幅度的重要指标,它反映了市场的不确定性程度。在不同的市场环境下,波动率的水平可能会发生显著变化。例如,在牛市期间,由于投资者信心高涨,市场波动率通常较低;而在熊市或经济危机时期,市场恐慌情绪蔓延,导致波动率急剧上升。因此,能够准确地识别和分类不同的波动率状态对于制定有效的交易策略至关重要。
自适应趋势信号系统采用了K-Means聚类算法来实现波动率聚类功能。具体来说,该系统首先收集一定时间范围内的平均真实波幅(ATR)值作为输入数据。然后,它将初始质心设置为训练周期内的最高、最低和中间ATR值。接下来,系统会迭代地将每个ATR数据点分配到最近的质心所属的簇中,并重新计算每个簇的均值作为新的质心位置。这个过程会一直重复进行,直到质心的位置不再发生变化或者达到预设的最大迭代次数为止。最终,系统会根据最近一次聚类结果确定当前的波动率状态(高、中或低),并根据这一状态动态调整趋势因子的值。例如,当市场处于高波动率状态时,系统会收紧趋势因子以减少假阳性信号的产生;而当市场处于低波动率状态时,则会放宽趋势因子以提高捕捉潜在机会的能力。
趋势计算
除了考虑波动率因素外,自适应趋势信号系统还综合运用了多种技术手段来计算自适应趋势线(SmartTrend)。其中最关键的一步是对相对强弱指数(RSI)、方向性运动指数(ADX)以及标准差等关键指标进行处理。具体而言:
-
RSI: RSI是一种常用的动量振荡器,用于评估资产是否处于超买或超卖状态。在本系统中,对原始RSI序列进行了高斯平滑处理,以消除短期噪音干扰并获得更为平滑的趋势曲线。此外,还设置了阈值条件来判断当前市场是否存在明显的上涨或下跌动能。只有当RSI超过50且持续上升时才认为存在强劲的上升趋势;反之亦然。
-
ADX: ADX则是用来度量趋势强度的工具。一般来说,当ADX大于25时表明存在较强的趋势方向;而低于20则暗示着盘整格局的可能性较大。在这里,同样使用了高斯平滑后的ADX值来进行判断,并且要求其必须高于15才能被视为有效信号。这样做的目的是为了避免因短暂波动而产生的误报情况。
-
标准差: 最后提到的是基于收盘价的标准差计算方法。与传统做法不同的是,这里引入了一个动态调整机制------即根据当前市场的波动率水平自动缩放标准差的倍数关系。这样一来,无论是在平静还是动荡的市场条件下都能保持较好的适应性。
通过上述三个维度的信息融合,可以得出一条既考虑到了整体大势又兼顾局部细节变化的SmartTrend主线。这条线路不仅能够帮助用户更好地把握长期走向,同时也能及时反映短期内可能出现的机会窗口。
信号生成
有了可靠的趋势基准之后,下一步自然是从中提炼出具体的买卖指令。为此,自适应趋势信号系统设计了一套严谨的逻辑规则来指导实际操作:
-
买入信号: 当SmartTrend线上穿SmartTrend2辅助线并且当日收盘价位于两者之上时触发。这意味着经过一段时间的努力后终于突破了阻力位,预示着新一轮攻势即将展开。此时若能得到成交量放大等因素的支持,则胜算更大。
-
卖出信号: 相反地,如果出现下破情形并且价格也跟随走低的话就应该果断离场观望。
后面会将Pine Script脚本改写为Python,在ptrade平台上进行回测,测试这一策略在中国市场的有效性。