用 Pine Script Webhook 实现 24 小时无人值守交易信号推送

·

还在守着交易屏幕等 Pine Script 策略出信号?
Pine Script Webhook学会,策略会自动帮你下单、推送到手机、甚至直接连线券商成交——你可以安心睡觉、上班、陪家人。本文一次性讲透:原理、步骤、避坑指南、实战案例与常见疑问,确保看完即可动手。


什么是 Pine Script Webhook?

一句话:Webhook 是策略与外部世界的即时信使
当你的 Pine Script 产生买入信号止损触发止盈到达等事件时,TradingView 会立即把一个 JSON 消息推送到你指定的 URL——这个 URL 可以是券商 API、自动化交易机器人,甚至自己的云函数。

核心流程的三句话:

  1. 策略触发事件 →
  2. TradingView 发送 HTTP POST →
  3. Webhook 接收端执行下单、通知或其它动作

从零到一的五步落地法

第一步:编写策略文件

依旧用 Pine Script 的标准语法,记得把 entry/exit 关键变量显式写出来,方便后面插占位符。

//@version=5
strategy("EMA交叉Webhook模板", overlay=true)
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
longCondition  = ta.crossover(emaFast, emaSlow)
shortCondition = ta.crossunder(emaFast, emaSlow)

if longCondition
    strategy.entry("long",  strategy.long)

if shortCondition
    strategy.entry("short", strategy.short)

第二步:创建 Alert 并绑定 Webhook

  1. TradingView 图表 → 右键策略名称 → “Add alert…”。
  2. 条件选择 “strategy → long” 或 “strategy → short”。
  3. 触发频率推荐 “Once Per Bar Close”,避免同一根 K 线内重复推送。
  4. Webhook URL 填入接收端地址,例如 https://your-server.com/pine-webhook

第三步:构造 JSON 消息

利用官方占位符即可,示例:

{
  "ticker"  : "{{ticker}}",
  "action"  : "{{strategy.order.action}}",
  "price"   : "{{close}}",
  "contracts"  : 1,
  "sl_pips"    : 50,
  "tp_ratio"   : 2
}

👉 用最全 Pine Script JSON 占位符大全,复制即用不再查文档。

第四步:接收端解析并执行

编写一段云函数或用现成服务:

示例代码精简版(Python):

from fastapi import FastAPI, Response
app = FastAPI()

@app.post("/pine-webhook")
async def handle(payload: dict):
    action = payload.get("action")
    if action == "buy":
        # 调用券商 API 开多仓
        pass
    elif action == "sell":
        # 调用券商 API 开空仓
        pass
    return Response(status_code=200)

第五步:测试 → 上实盘

  1. 先把策略切换到期权页签,跑一次少数合约的“模拟盘”;
  2. Webhook URL 换成测试环境,看日志是否收到 JSON;
  3. 200 OK 即放行,再切回实盘。

避坑清单:90% 新手败在这 5 件事

常见误区正确姿势
JSON 大括号写错用官方“Alert message”按钮生成,复制粘贴
策略 repaint在脚本末尾加 barmerge.lookahead_off
安全性忽视使用 HTTPS + Token 校验,避免把 API Key 直接塞 JSON
同一周期重复报警频率设为 Once Per Bar Close
爆仓风险未知在策略里固定每笔 1% 风险,通过 webhook 传入事先算好的手数量

真实案例:TradingView → 券商 MT5 全自动下单

策略信号:EMA 金叉买入、死叉卖出。
Webhook 接收端:自建服务器 → MT5 API 下单。

平均延迟:

海龟交易法升级版:将每次信号附上 risk, atr 值,开仓同时挂移动止损脚本,回撤锁最低盈利,收益曲线平滑不少。

👉 获取完整源码与回测报告,立刻体验让策略 "自己动"。


常见问题解答 (FAQ)

Q1:Pine Script Webhook 支持哪些数据?
A:除价格外,{{plot_0}} 任何自定义变量、当前 K 线的 {{volume}}{{interval}} 都可输出,还能用 json.dumps 扩展字段。

Q2:可以同时发 email 再发 webhook 吗?
A:可以,TradingView 容许多重通知;把 email 当备用通道即可。

Q3:回测与实盘有差异怎么办?
A:先检查 strategy.risk.max_intraday_filled_orders 是否大于实盘限制;再确认下单量的小数位与券商一致。

Q4:免费账户能不能用 webhook?
A:目前 TradingView 免费账号不支持设置自定义 webhook URL,需要 Pro 及以上等级。

Q5:能只推送止盈止损,不推送开仓吗?
A:在 alert 条件里单独选 “Take profit hit” 即可;或用额外绘图元素当触发器。

Q6:如何防止高频震荡行情导致重复信号?
A:在 Pine Script 内设置 ta.barssince() 判定阈值,确保距离上次同向信号不少于 X 根 K 线。


快速启动包:模板 + 工具

跟着上面五步稍加修改,就能在 15 分钟内把任何 Pine Script 策略升级为全自动交易系统。动手吧,祝你的策略以后自己出门挣钱!