Stock 板


LINE

我如何打造一套 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——我可以幫你把策略邏輯轉換成可自動執行的程式。 完全不懂技術——我提供一對一教學,從零開始手把手帶你設定。 有興趣的話,歡迎來信討論:[email protected] --- 寫在最後 自動交易不是聖杯,它只是一個工具。 好的工具可以幫你節省時間、減少情緒干擾、提高執行效率。但最終決定成敗的,還是你 的交易策略和風險管理。 希望這套系統能幫助到和我一樣,想要讓交易更有效率的人。 如果你覺得這篇文章有幫助,歡迎分享給有需要的朋友。也歡迎到 GitHub 給個 Star, 這是對開源作者最大的鼓勵! --- 免責聲明 自動交易有風險,期貨交易可能損失超過原始投資金額。本文僅供學習參考,不構成任何 投資建議。使用前請務必先用模擬模式充分測試,並審慎評估自身風險承受能力。 --- 如果你對這個專案有任何問題或建議,歡迎在下方留言,或是到 GitHub 發 Issue。 也歡迎追蹤我,之後會分享更多關於程式交易的心得。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.150.107 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Stock/M.1767108933.A.F46.html
1F:推 dreamdds : 強! 12/30 23:37
2F:→ kslman : 看不懂,但大為震撼 12/30 23:38
3F:推 ss425727100 : 希望有影片可以讓我這種麻瓜懂 12/30 23:39
暫時沒有要經營短影音社群,先說聲抱歉了
4F:推 nightop : 雖然沒用這個但願意分享就是好事推個 12/30 23:50
5F:推 Destiny6 : 感謝分享,可惜沒玩期貨... 12/30 23:53
最近會再補上證券的部分,敬請期待
6F:推 israelii : 我看不懂 但覺得好像很厲害 12/30 23:53
7F:→ OxFFFFFFFF : 有分享就推一個。 12/30 23:55
8F:推 wsx26997785 : 這軟體自從拿掉台灣國旗後 我就沒再花錢了 12/30 23:55
甚麼軟體要花錢?
9F:推 EHacker : 推 12/30 23:56
10F:推 ProTrader : 願意主動分享 台灣程式交易界的太陽 12/31 00:03
11F:推 yu90097 : 推一個 12/31 00:03
12F:推 atien666 : 推分享 12/31 00:04
13F:→ ProTrader : 很適合給想學程式交易的新手菜鳥當範本 12/31 00:05
程式交易的部分偏少,可能會有點硬
14F:推 abc21086999 : 可以偷偷問MQ為什麼選Redisㄇ 12/31 00:05
老實說我對MQ沒什麼研究,剛好本身工作會用就直接使用
15F:推 Jeff1989 : 感謝分享 12/31 00:07
16F:推 whyhsu : 推 12/31 00:08
17F:推 h311013 : 推 大神 12/31 00:13
18F:推 eknbz : 開源推 12/31 00:13
19F:推 hayashijun : 推分享,正好最近在研究這個 12/31 00:15
20F:推 ly102530 : 推 好神 12/31 00:16
21F:推 sonyvaio : 推 12/31 00:19
22F:→ ZO20 : shioaji 真的好用推推 12/31 00:20
23F:推 offstage : 有分享有推 12/31 00:25
24F:推 how5708 : 推 好強 12/31 00:32
25F:推 rockfu : 純推! 12/31 00:38
26F:推 f14108 : 推 12/31 00:52
27F:推 ETTom : 推 感謝分享開源 12/31 00:54
28F:推 kickflip : 推分享 12/31 00:55
29F:推 daniel0202 : 用一段時間了 感謝開源 12/31 00:56
※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 01:02:28
30F:推 victoryss : 太屌了,我完全看不懂,跪著看 12/31 01:01
我的用意其實不是分享code work,是盡可能讓有這個需求的人直接套用, 雖然如此,但似乎看懂README.md也是需要一點工程底。 如果願意跟AI溝通一下,應該是可以直接上手的。 實在不行,就讓我賺點吧XD
31F:推 pkmilk : 推 12/31 01:04
32F:推 zsquarez : 推! 12/31 01:06
※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 01:09:42
33F:推 labihua : 卡個 有策略但不會寫 12/31 01:08
歡迎寄信給我
34F:推 kan8634 : 推 12/31 01:09
35F:推 asd97013 : 推大神 12/31 01:12
36F:推 Nimin : 強啊 12/31 01:29
※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 01:29:54
37F:推 GanKer : 想知道33樓策略 ^_^ 12/31 01:34
38F:推 a89567936 : 推大神 我本來也是想直接自己串的 但後來發現 如果 12/31 01:35
39F:→ a89567936 : 是做台指 台股 自動交易的話 好像用XQ就能辦到 能 12/31 01:35
40F:→ a89567936 : 自動下單還不用自己串API 新手也好入門 一個月訂閱 12/31 01:35
41F:→ a89567936 : 模組1000塊而已 12/31 01:35
一定有其他付費產品,只是身為工程師會在意各種[可控性],不否認我在意的 可控性可能不夠,就看自己喜歡哪一種方式吧 ※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 01:37:49
42F:推 a89567936 : 想詢問大大 當初架設這個系統是邊看YT 邊問AI 學的 12/31 01:45
43F:→ a89567936 : 嗎 因為發現網路上好像蠻多教學的 但不知道從哪下 12/31 01:45
44F:→ a89567936 : 手 12/31 01:45
這問題問到重點了,我這邊分享一下,要串自動交易的話,要先了解甚麼是Webhook Webhook是一個event-triggered的通訊方式,對於程式交易而言,就是有一個 「不知道甚麼時候」發生的事件會傳到你的伺服器上,這個事件包含但不限於 開多,平多,開空,平空 所以概念上,你只要能夠寫出一個系統,可以處理這四種事件,那就是一個可用的 交易系統了(不考慮策略設計) 要如何接收到這個事件,首先你要有辦法架一個伺服器去「配合」跑策略的提供商, 去接收HTTP的request,這偏向網路的後端工程。 我的開源專案雖然是寫TradingView,但如果你自己本身有其他跑策略的系統, 用特定來源的OHLCV來決定要不要進出場,那其實我開源的系統也可以直接套 至於要怎麼執行這個事件,就要看券商的API文件,我接過元大、國票、永豐, 最後決定使用永豐的還是因為他的文件更接近工程師(雖然有待加強,但是瑕不掩瑜) 倘若你問我我怎麼知道這些的? 因為我弄過更複雜的系統,所以以上就是信手拈來了 ※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 01:57:54
45F:推 c94dk40204 : 推~ 12/31 01:51
※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 02:00:18
46F:推 ptt930109 : 推! 12/31 02:14
47F:→ kevinmeng2 : 我之前用api 覺得好麻煩,所以最後放棄了 12/31 02:19
48F:→ kevinmeng2 : 而且很容易被量化交易單狙擊…別問我怎麼知道的 12/31 02:20
49F:→ kevinmeng2 : 我是美股的ib 12/31 02:21
IB本身確實就麻煩,那個2FA很搞人 ※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 02:32:51
50F:推 a89567936 : 謝謝版主這麼耐心的解說!因為我是做IC設計的 可以 12/31 02:37
51F:→ a89567936 : 說是跟後端完全沒相關 真的要花時間好好研究了! 12/31 02:37
52F:→ a89567936 : 不然以後要把現有策略延伸到美股或虛擬幣 遲早要 12/31 02:37
53F:→ a89567936 : 自己動手串 因為XQ只有針對台股跟期權而已 12/31 02:37
虛擬貨幣算是相對友善,幾乎每一間都有很好好的API文件與支援,美股的話,我認為 相對難處理,甚至可能會需要寫RPA去觸發自動交易 ※ 編輯: iHaveAPen (111.240.150.107 臺灣), 12/31/2025 02:55:07
54F:推 pig96383 : 推分享 12/31 03:17
55F:→ yunf : 加油 12/31 03:32
56F:推 Autumn7Maple: 推 12/31 04:37
57F:推 jackgn : 感謝大大分享 12/31 05:18
58F:推 Syoshinsya : 推分享,希望有空研究 QQ 12/31 05:25
59F:推 herculus6502: 推 12/31 05:34
60F:推 superpat : 推分享 12/31 06:27
61F:推 goldpork : 推 12/31 06:38
62F:推 pc007ya : 分享推 12/31 06:53
63F:推 Gloomy : 推 12/31 07:08
64F:推 superich : 推分享 12/31 07:09
65F:推 gtcw : 推推 12/31 07:09
66F:推 yasashii1111: 偉大的人,謝謝 12/31 07:29
67F:→ guk : 是不是可以賺錢?明年用這個可以發年報嗎 12/31 07:31
68F:推 n555123 : 推,好人一生平安 12/31 07:48
69F:推 lifeterry : redis 就方便,穩定,好用,你單機程式交易,不用 12/31 07:55
70F:→ lifeterry : 搞到message queue 的叢集,另外有版權更偏自由開 12/31 07:55
71F:→ lifeterry : 源的 valkey 可以用 12/31 07:55
72F:→ lifeterry : 我原本也是程式交易,但是當沖策略太遜,被定期不 12/31 07:57
73F:→ lifeterry : 定額 etf 虐,就躺平了 12/31 07:57
74F:推 downtoearth : 真 工程師 12/31 08:05
75F:推 TWeng : 推 12/31 08:06
76F:推 Jodomaday : 推 12/31 08:17
77F:推 chiuweiyu : 感謝分享 12/31 08:19
78F:推 Fiendyux : 感謝分享 12/31 08:23
79F:推 Lowpapa : 好 12/31 08:37
80F:推 seohyunfans : 推 12/31 08:40
81F:推 tomroy : 讚 分享推 12/31 09:20
82F:推 antohsu : 謝分享! 12/31 09:29
83F:推 paulsweet : 感謝分享 12/31 09:48
84F:推 zaqimon : 推 12/31 09:54
85F:→ zaqimon : 如果台灣能開放第三方平台直接下單就不用這麼麻煩了 12/31 09:57
86F:推 tamynumber1 : 推分享 12/31 10:21
87F:推 estd1971 : 推推~ 12/31 10:40
88F:推 xup61069 : 專業推 12/31 11:13
89F:推 h760108 : 這ai潤稿吧? 12/31 11:58
90F:推 Hey2 : 推 好猛 12/31 12:21
91F:推 card : 推 12/31 12:32
92F:推 photomac : 推用心 12/31 13:17
93F:推 newjett0617 : 推 12/31 13:21
94F:推 littlestar66: 好心大神推推 12/31 16:16
95F:推 issac520 : 神人 跪著看 12/31 21:19
96F:推 kmoy : 先推 01/02 21:38







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP