Claude × Pine · 散戶指南

用 Claude 寫 Pine
不會 code 也能自動化交易

2026-06-06·18 分鐘閱讀·零基礎

90% 的散戶有自己一套盯盤習慣,但講不清楚—腦袋裡知道「什麼時候會進場」, 但要把它寫成 if-then 規則就卡住。Claude 解這個問題:你用人話描述、它輸出 Pine Script v5。

本文目標:看完你能用 claude.ai 免費版,把任何你想得到的策略邏輯 變成可以在 TradingView 跑回測、可以丟給 TVSBot 自動下單的 Pine。

本文配套頁面:想直接看簡版操作指南 + 流程 infographic,請看 /docs/claude-pine。本文是長文深度版,含實戰 case study 與多個錯誤示範。

為什麼用 Claude,不用 ChatGPT / Copilot?

三個工具我都試過寫 Pine,差別很實際:

  • Copilot:適合補 code、不適合從零生成。你已經寫了一半的 Pine 它能補得很好,但你「沒寫任何 code」叫它從策略描述生成,常常會給你一個指標而不是 strategy。
  • ChatGPT:可以生 Pine,但 Pine v4 vs v5 語法差異常常混淆。要明講「Pine Script v5」+ 在輸出時加 //@version=5,否則出來的 code 在 TV 編譯器會直接報錯。
  • Claude:對結構化 code + 長文上下文最穩。你可以一次把策略邏輯、風控規則、TVSBot JSON 規格、回測注意事項全部貼進去,它能消化整個 context 一致地輸出 Pine。實測 claude.ai 免費版(Sonnet 4.5)寫 5 個策略 prompt 都能一次過。
首選工具:claude.ai 免費版每天有額度(夠你寫 3-5 個策略)。要更密集就付 Pro USD 20/月或開 API。本文 prompt 範例都在 Sonnet 4.5 上驗過。

三步流程概覽

先把整套自動化流程的 mental model 建好:

  1. 策略口述 → Claude prompt:你用 5 段結構講清楚(後面教)。
  2. Claude → Pine Script v5:得到含 strategy()alertcondition() 的完整 code。
  3. Pine → TradingView 圖表回測:貼進 Pine Editor、Add to chart、看 Strategy Tester 標籤的 Net Profit、Max Drawdown、Win Rate。
  4. Alert + TVSBot webhook:圖表右上時鐘 → Add Alert → 條件選你的策略 → Notifications 勾 Webhook → 貼 dashboard 給的 URL → 訊息體貼 Claude 寫的 JSON。

全程不需要你自己寫一行 Pine。

提示詞模板:5 段結構

好的 Pine prompt 一定包含這 5 段。少一段,Claude 就要猜, 猜錯你就要花 3-4 輪對話重來:

text
【1. 我是誰、我在交易什麼】
我是 BTC 永續合約交易者,主要看 1 小時線,
資金 USD 10,000,交易所是 Binance USDT-M Futures。

【2. 進場條件】
當 K 棒收盤價突破過去 20 根 K 棒的最高 high
(不含當前 K 棒)且當下 RSI(14) > 50 時,
我會進多單。

【3. 出場條件】
當 K 棒收盤跌破過去 10 根 K 棒的最低 low 時,
我會出場。或者價格從進場以來最高點回落 ATR(14) × 2 也出場。

【4. 風控規則】
停損:進場 K 棒的 low - ATR(14) × 0.5。
每筆交易最大風險 = 帳戶 1%。
任何時刻最多持 1 個方向,不加碼(pyramiding=0)。

【5. 輸出規格】
請輸出完整 Pine Script v5 strategy()。
含 alertcondition() 兩條(進場、出場)。
alert message 必須是單行 valid JSON,格式如下:
{"action":"buy","symbol":"{{ticker}}","qty_type":"margin_usdt","qty_value":"500","strategy_id":"breakout-v1"}
平倉用 action:"close"。

把這 5 段直接貼給 Claude,它 95% 的機率會一次給你能直接用的 Pine。

關鍵字鎖定:第一行寫「Pine Script v5」是關鍵—沒寫的話 Claude 偶爾會用 v4 語法(na 處理不同、study() 取代 indicator())。

5 個常用策略 — 直接抄 prompt

策略 1:Donchian Breakout(突破)

人話:K 棒收盤突破 20 根新高就買、跌破 10 根新低就出場。停損在進場 K 棒 low 下方 0.5 倍 ATR。

text
Pine Script v5 strategy()。
進場:close 突破過去 20 根 K 棒的 ta.highest(high, 20)[1](不含當前)。
出場:close 跌破過去 10 根 K 棒的 ta.lowest(low, 10)[1]。
停損:進場 K 棒的 low - 0.5 × ta.atr(14)。
每次下單用 100% equity (default_qty_value=100, default_qty_type=strategy.percent_of_equity)。
加 alertcondition() 兩條:
  - 進場:{"action":"buy","symbol":"{{ticker}}","qty_type":"margin_usdt","qty_value":"500"}
  - 出場:{"action":"close","symbol":"{{ticker}}"}
pyramiding=0、process_orders_on_close=true。

為什麼這策略適合練手:邏輯極簡(兩條規則)、回測結果穩定、不需要過濾雜訊。 BTC 1H 跑近 1 年勝率通常 35-45% 但 R:R 1:3 以上,淨利為正。

策略 2:EMA Cross(均線交叉)

人話:EMA20 由下穿上 EMA60 就買、反過來就空。停損用 EMA60 本身。

text
Pine v5 strategy()。
進場多單:ta.crossover(ta.ema(close, 20), ta.ema(close, 60))。
進場空單:ta.crossunder(ta.ema(close, 20), ta.ema(close, 60))。
停損:多單在 ema60 下方 0.3%、空單反向。
停利:1:2 風險報酬比(risk × 2 = target)。
pyramiding=0。close_entries_on_opposite=true(反向訊號自動翻倉)。
alertcondition() 多空進出場各一條。
qty_type:"margin_usdt",qty_value:"500"。

注意:EMA20/60 適合 1H 以上週期。5 分線雜訊太多會被洗到懷疑人生。

策略 3:RSI Mean Revert(過買過賣回歸)

人話:RSI(14) 低於 30 反彈到 30 上就買、回到 50 出場。空單反向。加大趨勢過濾:只在 EMA200 上方做多、下方做空。

text
Pine v5 strategy()。
RSI period 14。
條件變數:
  rsiLong = ta.crossover(ta.rsi(close, 14), 30) and close > ta.ema(close, 200)
  rsiShort = ta.crossunder(ta.rsi(close, 14), 70) and close < ta.ema(close, 200)
進場多:rsiLong
進場空:rsiShort
出場多:ta.rsi(close, 14) >= 50 or close < ta.ema(close, 200)
出場空:ta.rsi(close, 14) <= 50 or close > ta.ema(close, 200)
停損:固定 -1.5%(不用 ATR,因為這策略是震盪市用)。
alertcondition() 4 條。

case study:沒加 EMA200 過濾的版本回測 BTC 1H 過去 1 年勝率 47%、淨利 -3%。加了之後勝率 51%、淨利 +8.2%。 一條過濾線值得整支策略。

策略 4:Bollinger 帶 + MACD 動量

人話:K 棒實體收破 Bollinger 上軌 + MACD 線在 0 軸之上 → 進多。下軌反向 → 空。 雙重確認、過濾大部分雜訊。

text
Pine v5 strategy()。
BB(20, 2.0) 上下軌。
MACD(12, 26, 9)。
進場多:close > ta.bb(close,20,2.0)[0] (upper) AND MACD line > MACD signal AND MACD line > 0
進場空:close < ta.bb(close,20,2.0)[2] (lower) AND MACD line < MACD signal AND MACD line < 0
(注意 Pine v5 [ta.bb] 回傳 [middle, upper, lower] tuple,要用解構)
停損:ta.atr(14) × 1.5
停利:ATR trailing stop using ta.atr(14) × 3
alertcondition() 進出場各一條。

策略 5:時段過濾(疊在現有策略上)

人話:策略只想在亞洲時段 08:00-16:00 UTC+8 跑(= UTC 0:00-08:00),歐美波動太大避開。

text
在我現有的 EMA Cross 策略上加時段過濾:
- 用 hour(time, 'UTC') 取得當前 UTC 小時
- 變數 inSession = hour >= 0 and hour < 8
- 進場條件多加一條 and inSession
- 持倉中不受時段限制,停損停利照原本邏輯
- 不要改動原有的 strategy() 宣告與 alertcondition()

時段過濾是高勝率策略常見招式。叫 Claude 一次包進去比你自己查時區查半天快。

風控表達 — 4 句話決定能不能上線

Claude 寫策略寫得「能上真錢」,這 4 個風控指令一定要寫在 prompt:

規則寫法
停損每筆交易停損 = 進場價 ± ATR(14) × 1.5
部位大小每筆交易最大風險 = 帳戶 1%
最大持倉pyramiding=0,不加碼,反向訊號自動翻倉
Alert 內容{action, symbol, qty_type:"margin_usdt", qty_value, strategy_id}
為什麼是 margin_usdt? TVSBot 推薦這個 qty_type — 你寫「我要投入 500 USDT 保證金」, 系統會根據當下幣價算出實際 contracts 數量。 比 qty_type=usdt(買 500 USDT 的幣,價格漲跌會讓部位大小完全不同)穩定得多。

把盯盤習慣翻成 Claude 聽得懂的話

這是新手最大卡點:你知道你會在某個時刻進場,但講不清楚。下面 5 組對照可以參考:

人話Claude prompt
「K 棒長一根很大的紅 K」當根 K 棒 (close - open) > ta.atr(14) × 1.0 且 close < open
「均線多頭排列」EMA(20) > EMA(50) > EMA(200) 同時成立
「站上頸線」close 突破過去 N 根 K 棒最高 high(N 預設 20)
「拉回到關鍵支撐」low 觸及前 30 根低點 ±0.5%;定義「支撐」具體一點(前低 / swing low / 某 EMA)
「量價齊揚」close > close[1] 且 volume > ta.sma(volume, 20)

實戰 case study:把「我看新聞跟單」變策略

一個朋友的真實案例。他平常會看新聞、看大 K 拉到突破近期高點就跟。我問他:「具體什麼條件?」 他答不出來。所以我跟他一起做了下面這段拆解:

  1. 「大 K」量化:K 棒實體(close - open)大於過去 14 根的 ATR × 1.5。
  2. 「突破近期高點」量化:K 棒 high > 過去 50 根 high 的最大值(不含當前)。
  3. 「跟單」量化:下一根 K 開盤進場,不追。
  4. 「適時停損」加上:進場 K 棒 low 下方 1 倍 ATR。沒有停利,靠 trailing stop(ATR × 3)。

這段描述貼給 Claude,它輸出的策略 BTC 1H 過去 6 個月回測:

text
Net Profit:     +$4,820 (48.2% on $10K)
Total Trades:   31
Win Rate:       38.7% (12W / 19L)
Avg Win:        +$543
Avg Loss:       -$132
R:R:            4.1
Max Drawdown:   -$1,210 (-12.1%)
Sharpe:         1.82

Win rate 不高但 R:R 夠大,淨利為正。比他原本「看新聞跟單」憑感覺進場好得多 — 至少有明確的 entry/exit 規則,賠錢時知道為什麼。

常見坑 — Claude 寫 Pine 翻車 top 5

1. Pine v4 / v5 語法混淆

沒明講 v5 → Claude 偶爾寫 study()(v4 用法)或漏掉 //@version=5 第一行。 一定要在 prompt 開頭寫「請用 Pine Script v5」。

2. Alert message 多行 → TradingView 拒收

Claude 偶爾把 alert message 寫成多行字串,貼進 TV 會報 Invalid syntax。 明講「alert message 必須是單行有效 JSON 字串」。

3. ta. prefix 漏寫

Pine v5 強制要 ta. 前綴。Claude 偶爾會寫 ema() 而非 ta.ema()。 編譯器報 Could not find function or function reference 'ema'。 解:在 prompt 結尾加一句「所有內建函數請用 ta.* 完整前綴」。

4. strategy() vs indicator() 搞錯

你要自動下單就要 strategy(),不能 indicator()indicator() 沒有 strategy.entry / strategy.close 函數。 Claude 寫指標版會給你 plot(),看起來像有策略其實沒下單邏輯。

5. 重繪(repaint)— 最隱蔽的坑

如果進場條件用了當前未收盤 K 棒的值,TV 在 K 棒收盤前後會閃爍。 回測看到「進場價就是高點」就是重繪。 解:所有條件用 [1] 索引前一根(已收盤)K 棒。 或在 strategy()process_orders_on_close=true

pine
// ❌ 重繪:用當前未收盤 high
entrySignal = high > ta.highest(high, 20)

// ✅ 正確:用前一根 K 的條件
entrySignal = high[1] > ta.highest(high[1], 20)

接到 TVSBot — 3 步走完

  1. 確認 Pine 裡 alert message 用 TVSBot JSON 格式(action, symbol, qty_type, qty_value, strategy_id 五欄)。 上面 prompt 模板都已含。
  2. TV 設 Alert:圖表右上時鐘 → Add Alert → Condition 選你的 Pine 策略 → Frequency 選「Once per bar close」 (重要:不要選 every tick,會狂打)。
  3. 貼 TVSBot webhook URL:Notifications 分頁 → 勾 Webhook URL → 貼 dashboard 給的 URL → Message body 貼 JSON → Create。
先試跑模式:TVSBot 新策略預設 dry-run,alert 進來會記錄但不下真單。 確認訊號模式正常後再切實單。

進階:把整本策略書翻譯成 Claude prompt

有些朋友手上有國外交易書(《海龜法則》、《市場奇才》)想實作。可以這樣跟 Claude 對話:

text
我手上有《海龜法則》海龜系統 2(System 2)的描述:
- 進場:突破過去 55 天最高 high(多)/ 最低 low(空)
- 出場:突破過去 20 天反向(多單看 20 天最低)
- 停損:2N 法則(N = 20 日 ATR),單一風險限 2%
- 加碼:每 0.5N 加 1 單位、最多 4 單位
- 部位上限:單市場 4、相關市場合計 6、總方向 12

請幫我把 System 2 寫成 Pine v5 strategy()。
標的設定為 BTC/USDT 1D。pyramiding 設 4。
N 用 ta.atr(20) 計算。每筆風險 2%,用 strategy.percent_of_equity 對應。
保留所有原系統規則的 inline 註解,方便我之後微調。

Claude 能直接把書本邏輯翻成 code,附完整註解。比你自己讀完書再學 Pine 快數十倍。

常見 Q&A

Q:免費版額度夠嗎?

A:實測每天額度寫 3-5 個策略沒問題。如果你密集 iterate(一天改 20 次同支策略), 會需要付 Pro USD 20/月。

Q:Claude 寫的策略賠錢怎麼辦?

A:先看 Strategy Tester 的回測結果。如果勝率 < 30% 且 R:R < 1:2,邏輯本身有問題, 別改 code 直接砍掉重練。如果勝率 > 40% 但淨利為負,是手續費吃掉,加進場條件過濾、 減少交易次數。

Q:我可以把策略 prompt 給別人用嗎?

A:可以。其實 TVSBot 市集就鼓勵這個 — 你寫好策略發布,訂閱者跟單你抽 70% 分潤。 看市集

Q:Claude vs TradingView 內建 AI(Pine Genie)?

A:Pine Genie 是 TV 內建工具,免費但有額度。Claude 更靈活(你能整段策略 + 風控一次給), 但需要切換 tab。實務上:簡單修改用 Pine Genie,複雜策略生成用 Claude。

Get started

想把今天學到的東西自動化跑起來?

把 Claude 寫好的 Pine 策略接上自動下單。3 天免費試用,預設 dry-run 不上真錢。

開始試用