请求指导:如何用Python跟踪TradingView的RSI指标并触发通知
关于TradingView RSI指标跟踪与通知的实现指导
先搞懂Web Scraping是什么
Web Scraping就是用代码自动抓取网页公开数据的技术,比如页面里的文字、表格、指标数值等。但TradingView的实时数据大多是JavaScript动态渲染的,普通静态抓取工具(比如requests)拿不到实时RSI值,而且直接爬取可能违反平台使用条款,风险较高。
适合新手的合法实现路径
你才学Python一周,优先用官方提供的合规方式,比爬取简单靠谱:
1. 用TradingWebhook功能(最易上手)
TradingView自带指标警报功能,当RSI达到你设定的阈值时,可通过Webhook把警报推送到你的Python脚本。步骤如下:
- 在TradingView图表添加RSI指标,设置警报条件(比如RSI>70超买、<30超卖)
- 警报设置里选择Webhook,填写你本地脚本的公网地址(可以用ngrok把本地端口映射到公网,不用自己搭服务器)
- 用Python写个极简的Flask服务接收请求,触发通知(邮件、桌面弹窗都行)
示例代码(Flask实现,新手友好):
from flask import Flask, request import smtplib from email.mime.text import MIMEText from plyer import notification app = Flask(__name__) # 接收Webhook的接口 @app.route('/rsi-alert', methods=['POST']) def rsi_alert(): data = request.get_json() rsi_value = data.get('value', '未知') symbol = data.get('symbol', '未知') # 桌面弹窗通知 notification.notify( title='TradingView RSI警报', message=f"{symbol}的RSI达到{rsi_value}", timeout=10 ) # 可选:发送邮件通知 # msg = MIMEText(f"警报触发:{symbol}的RSI达到{rsi_value}") # msg['Subject'] = 'TradingView RSI警报' # msg['From'] = '你的邮箱' # msg['To'] = '接收邮箱' # with smtplib.SMTP_SSL('smtp.qq.com', 465) as server: # server.login('你的邮箱', '邮箱授权码') # server.send_message(msg) return '警报已接收', 200 if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
2. 官方API(进阶选项)
TradingView有Charting Library API,能更灵活地获取指标数据,但需要申请权限,新手门槛稍高。如果只是简单的阈值通知,Webhook完全够用。
为什么不推荐Web Scraping?
- TradingView实时数据是动态渲染的,需要用
selenium模拟浏览器,但容易被平台检测到,导致账号受限 - 违反平台服务条款,存在账号封禁风险
- 新手要处理反爬机制,实现难度远高于官方工具
新手入门小提示
- 先从Webhook+Flask的组合入手,代码量少,容易跑通流程
- 通知方式除了邮件、弹窗,还可以用企业微信机器人、Telegram机器人等
- 测试时用ngrok把本地端口暴露到公网,这样TradingView才能把请求发过来
内容的提问来源于stack exchange,提问作者karloz
相关产品推荐
相关产品推荐

