作者iHaveAPen (ppqqapq)
看板Trading
標題[情報] TradingView自動下單系統
時間Tue Dec 30 23:30:00 2025
我如何打造一套 TradingView 自動交易系統,讓台指期交易從此不用熬夜盯盤
一個工程師的開源專案分享:從痛點到解決方案的完整歷程
---
凌晨三點,手機警報響起。
我從床上彈起,睡眼惺忪地盯著 TradingView 的通知——我的策略發出了做多訊號。匆
忙打開電腦,登入券商下單系統,結果價格早就跑掉了。
這樣的場景,在我身上發生過無數次。
身為一個使用 TradingView 做台指期交易的投資人,我一直有個困擾:明明策略很準,
但人跟不上機器的速度。
於是,我決定自己寫一套自動交易系統。
---
為什麼市面上的方案都不適合我?
在動手之前,我研究過市面上的解決方案:
付費的自動交易平台——每個月要付好幾千塊,而且我不放心把 API 金鑰交給第三方。
自己串 Shioaji API——永豐金的文件其實寫得不錯,但要處理的細節太多:連線管理、
錯誤處理、訂單狀態追蹤光是解決「Too Many Connections」這個錯誤就花了我好幾
天。
現成的開源專案——找了一圈,要嘛太陽春只能下單,要嘛架構太複雜難以維護。
所以我決定:自己從頭打造一套符合需求的系統,然後開源出來讓大家一起用。
---
我想要的系統長什麼樣子?
在開始寫程式之前,我先列出了幾個必要條件:
1. TradingView 警報直接觸發下單
我不想改變現有的工作流程。我習慣在 TradingView 上寫策略、看圖表,所以系統必須
能直接接收 TradingView 的 Webhook。
2. 不用寫程式就能用
雖然我是工程師,但我希望這套系統連不會寫程式的朋友也能用。設定檔填一填、
Docker 指令跑一跑,就應該要能動。
3. 穩定可靠,不會漏單
這是拿真錢在交易,系統掛掉可不是開玩笑的。必須有完善的錯誤處理和自動重連機制。
4. 有個好看的介面
我想要一個控制台,可以看到所有訂單紀錄、目前持倉、成交狀態。不是只能看 log 那
種工程師 style。
5. 資料留在自己手上
API 金鑰、交易紀錄,這些敏感資料我不想放在別人的伺服器上。系統必須能跑在自己的
機器上。
---
技術架構:如何解決「連線數過多」的問題
如果你用過 Shioaji API,應該知道它有連線數限制。同時開太多連線就會被踢掉。
這在一般情況下不是問題,但當你的系統需要同時處理多個請求(比如 TradingView 連
續發出好幾個警報),就會出狀況。
我的解決方案是:用 Redis 做訊息佇列,確保只維持一條 Shioaji 連線。
架構大概是這樣:
TradingView Webhook → FastAPI 接收請求 → Redis 訊息佇列 → Trading Worker(
唯一的 Shioaji 連線)→ 永豐金證券
不管有多少請求同時進來,都會乖乖排隊,由 Trading Worker 一個一個處理。
這個架構還有個好處:API 服務可以開多個 worker 來處理更多請求,但交易的部分永遠
只有一條連線,不會觸發限制。
---
控制台介面:讓交易一目瞭然
身為一個重視使用體驗的工程師,我花了不少時間在控制台的設計上。
委託紀錄頁面可以看到:
‧ 每一筆訂單的時間、商品、方向、數量
‧ 即時狀態(待處理、已送出、已成交、已取消)
‧ 成交價格和成交量
‧ 篩選和匯出功能
持倉頁面可以看到:
‧ 目前持有的部位
‧ 未實現損益
‧ 持倉成本
TradingView 設定頁面則提供:
‧ Webhook URL 一鍵複製
‧ JSON 格式範例
‧ Pine Script 策略範本
這些功能在交易時真的很實用,尤其是報稅的時候可以一鍵匯出 CSV,省了很多整理資料
的時間。
---
實際使用心得
這套系統我自己已經用了一段時間,分享幾個心得:
模擬模式很重要
剛開始一定要用模擬模式測試。不只是測系統有沒有 bug,更重要的是確認你的
TradingView 策略邏輯是對的。我就曾經因為 alert_message 設錯,結果做多訊號變成
做空
網路穩定度是關鍵
自動交易最怕的就是網路斷線。我後來把系統部署到雲端(AWS),uptime 比放在家裡的
電腦好太多。
不要過度優化策略
有了自動交易系統之後,很容易陷入一直改策略的迴圈。但說實話,一個簡單穩定的策略
,長期下來通常比複雜的策略表現更好。
---
開源:讓更多人受惠
這套系統我決定完全開源,放在 GitHub 上讓大家自由使用。
GitHub:
https://github.com/luisleo526/shioaji-api-dashboard
為什麼要開源?
一方面是回饋社群。我在開發過程中參考了很多開源專案和網路上的分享,現在換我貢獻
一點東西。
另一方面,開源可以讓更多人幫忙找 bug、提供改進建議。一個人的力量有限,但社群的
力量是無窮的。
---
如果你需要更多幫助
開源版本已經可以滿足大部分需求,但如果你有以下狀況,我也提供付費的客製化服務:
不想自己架設伺服器——我可以幫你部署到 AWS/GCP,設定好 SSL 和監控,確保 24/7
穩定運行。
需要特殊功能——比如多帳戶下單、LINE 通知、特殊的風控邏輯,都可以依需求開發。
有交易想法但不會寫 PineScript——我可以幫你把策略邏輯轉換成可自動執行的程式。
完全不懂技術——我提供一對一教學,從零開始手把手帶你設定。
有興趣的話,歡迎來信討論:luisleo52655@gmail.com
---
寫在最後
自動交易不是聖杯,它只是一個工具。
好的工具可以幫你節省時間、減少情緒干擾、提高執行效率。但最終決定成敗的,還是你
的交易策略和風險管理。
希望這套系統能幫助到和我一樣,想要讓交易更有效率的人。
如果你覺得這篇文章有幫助,歡迎分享給有需要的朋友。也歡迎到 GitHub 給個 Star,
這是對開源作者最大的鼓勵!
---
免責聲明
自動交易有風險,期貨交易可能損失超過原始投資金額。本文僅供學習參考,不構成任何
投資建議。使用前請務必先用模擬模式充分測試,並審慎評估自身風險承受能力。
---
如果你對這個專案有任何問題或建議,歡迎在下方留言,或是到 GitHub 發 Issue。
也歡迎追蹤我,之後會分享更多關於程式交易的心得。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.150.107 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Trading/M.1767108604.A.384.html
推 kangeroo: 太酷了! 對程式交易者的一大福音~ 感謝作者12/31 09:10
推 slayptter: 不太懂你要幹嘛01/01 20:52
有些人就是喜歡做一些沒有意義的事情,在金融市場的我們應該都不陌生
→ slayptter: 如果只是要接webhook下單01/01 20:52
→ slayptter: 市面上已經有01/01 20:52
→ slayptter: tradingview最大問題是K棒總數01/01 20:55
→ slayptter: 買到最高01/01 20:55
→ slayptter: 買到最高還是有上限01/01 20:55
→ slayptter: 用完會資料重載+策略重算01/01 20:55
→ slayptter: API、交易資料可以有存在本地端的方案01/01 20:57
→ slayptter: 感覺你離成功自動交易還有很長路要走~加油...01/01 20:58
→ slayptter: 如果你是工程師,請戒掉一個壞習慣:總是看不慣別人的+01/01 21:00
→ slayptter: 喜歡手工硬幹出一樣的工具01/01 21:00
→ slayptter: 尤其是在程式交易這塊01/01 21:03
→ slayptter: 程式交易已經非常成熟01/01 21:03
→ slayptter: 只是這行賣鏟子沒賺頭01/01 21:03
→ slayptter: 工具很多...01/01 21:03
→ slayptter: 但沒人會免費告訴你01/01 21:03
感謝指教,不過我沒有要賣工具
推 typeking: 別推這種酸文了,他要的是成就感而不是像我們這種庸俗01/02 03:26
→ typeking: 的只是讓帳戶數字破八位數的銅臭味01/02 03:26
推 kakar0to: webhook是什麼 為什麼要透過webhook下單?01/02 16:57
推 kakar0to: 我說一下我自己的狀況 本身懶得在學新的語言01/02 17:01
→ kakar0to: 所以就懶的用MC還有tradeview 因為要用這些軟體還要學01/02 17:02
→ kakar0to: 這軟體自己定義的語言01/02 17:02
→ kakar0to: 所以就自己用python+shioaji自幹一套了 真的爽01/02 17:03
推 typeking: 那戶頭的數字也跟著爽了嗎?01/02 22:58
推 IN: 我也是Python自幹全套,不希望策略邏輯被上傳到Tradingview01/03 00:00
推 kakar0to: 蠻爽的 到目前2年+15001/03 23:00
→ kakar0to: 我有上傳到github, 不過只有我自己看的到XD01/03 23:02
推 typeking: 有賺錢就是強01/04 11:30
推 yuwenche: 做人不要那麼刻薄,人家願意開源、分享就值得y,至少對01/04 13:50
→ yuwenche: 原先的TradingView使用者是有幫助的。雖然對我來說也沒01/04 13:51
推 yuwenche: 什麼幫助,但我還是願意給他個"讚",也希望能看到有人01/04 13:55
→ yuwenche: 分享AI、強化學習之類的演算法交易。01/04 13:56
推 kakar0to: 我比較希望有AI辨識k線型態的 有人有這種工具嗎 我01/04 15:25
→ kakar0to: 願意花錢買01/04 15:25
→ kakar0to: 我不需要AI幫我交易 只需要AI辨識K線型態 而這個型01/04 15:26
→ kakar0to: 態是使用者能定義的01/04 15:26
※ 編輯: iHaveAPen (111.240.146.98 臺灣), 01/05/2026 09:17:32
※ 編輯: iHaveAPen (39.12.169.131 臺灣), 01/05/2026 09:21:54