前幾天分享了個人自制的 台灣股市資料庫 ,今天來分享程式交易下單機及盤中市況監控的程式吧。
![]() |
盤中市況監控圖 |
Excel VBA 程式交易全自動下單機
有些人認為用 Excel 來做程式交易在快市時會來不及,容易掉 tick ,其實大部份的程式語言都有相同的問題,當然這部份跟寫出來的程式碼及電腦硬體也有關聯,這部份我們先不討論,不過一般投資人的交易策略並非高頻交易,不用去搶毫秒等級的單,所以我認為對於 Excel 來說,速度不是什麼大問題。
需求元件
要做出全自動的下單機需要使用到幾個不同的元件才可以完成
- 券商API下單
- 收取報價
- 歷史資料
券商 API
有些券商的 API 有取得報價的功能,群益的也有,但用 Excel VBA 串接 API 取得報價的話,比較容易出錯,這個應該就是 Excel 處理資料速度上的問題了,所以我放棄 API 的報價,選擇更好的方式來替代。
而券商的 API 主要拿來處理送單下單的部份,只要盤中符合條件,就自動送單,另外還有觸價停損及尾盤自動回補的功能。
收取報價元件
這部份選擇元大 RTD 報價元件,個人測試過了,基本上只要使用 x64 的 Excel 來開啟,可以直接取得全部股票1千7百多檔的報價,而且可以穩定的開到收盤沒問題,但如果使用 x86 的 Excel 常常會在盤中就出錯,原因在於二個版本對記憶體容量的支援不同,x86 只能使用到 2GB 的記憶體,扣掉執行 Excel 就會佔用的部份,那能提供給下單及收取報價跟計算的記憶體就更少了,當記憶體容量不足時,很容易出錯。
但 x64 的 Excel 可以使用到 4GB ,所以相對比較穩定。
歷史資料
歷史資料主要是拿來計算指標用的,這部份可以使用資料庫、爬蟲、自已每日盤後手動紀錄來完成,目前本人是使用資料庫的方式取得指標。
盤中市況監控
這個程式是我還沒開始用程式交易前做出來的,主要是拿來觀看當天盤勢使用,不過開始用程式交易後就沒在看了,因為程式交易最忌諱的就是人為干擾,所以就算看了覺得盤不符合我的策略,也不能去干擾程式,而且目前交易都交給程式去處理了,所以盤中其實也沒太專心在看盤,寫寫文章,四處找人打屁聊天,看看網頁,等收盤再來看損益就好了。
類股走勢
這個是把上市櫃的類股走勢整理成上市及上櫃2張圖,這樣子可以很清楚的知道今天市場的熱度集中在那個產業。
權值股走勢
一樣把上市櫃的權值股都選出來,看各權值龍頭股的走勢,這個圖表是參考自由人前輩的指標做出來的。
上市櫃騰落指標
盤中即時的上漲下跌家數的指標,使用看盤軟體只能看到數字,實在很難判斷盤勢是由弱變強還是由強轉弱。
但是整理成圖表的話,就可以很清楚的看到今天的盤勢如何了。
上市櫃及期貨走勢
這個就不用多做介紹了,只是看一下當天的走勢而以。
請問可以取得這個Excel嗎? 我不知怎麼連結券商API在Excel訊號出現時自動下單 想自己增加策略試試
回覆刪除目前沒有營利的打算哦,連結券商API可以去看券商的說明文件,出訊號下單就只是在訊號出現時執行一個程式送到api的下單函數下單
刪除請教一下 ma5 與ban是用算的 還是用爬蟲爬的
回覆刪除圖內的線是1ma,所有資料都是用dde傳到excel,再用excel計算的哦,ma只要每份鐘記錄一次就可以得到,k棒也是用內鍵的股票圖就可以畫出來
刪除請問指標的算法公式要怎麼取得呢 報價是用RTD獲取當下的股價 這樣理解對嗎 然後dde是輔助監控看盤用的 因為我參考之前你做的蠟燭圖 需要移動平均線跟布林指標 不過我自己目前沒有ma數據與布林指標數據 ma以前用過Excel寫(取資料庫數據後在用Excel運算)感覺效率比較差 剛剛用sql好像效果不錯還沒完成 不過布林指標或其他的 不知道要怎麼得到 以上 謝謝🙏
回覆刪除RTD跟DDE都是報價傳輸的工具,所以功能是一樣的,MA跟布林要自已算,我的歷史數據是放到Access,再用SQL語法取得,如果只是單一檔個股的計算,基本上是毫秒就算好了,但如果要跑全股效率就比較差一點。
刪除布林指標的算法之前的文章有,網址是:https://www.stockexcel.pro/2020/03/bbands-excel.html
了解 謝謝 我之後再試試RTD跟DDE,我昨天成功了我最後是用maria db 寫sql直接算出bollinger線跟ma值 ,對!我之前分析1737檔要一個多小時超久,對了那個價量累積24是什麼意思我直接用sql好像就沒用到不過蠻好奇的,買賣訊號那我看的比較矇所以我亂寫出差不多功用的if🤣,K線與成交量座標有機會對齊嗎🤔我試了很久都沒對齊、那個座標日期刻度可以顯示每一天的嗎 以上 謝謝,ok 我再去研究👍
回覆刪除價量累積24??在那裡看到的,我有點忘記了,買賣訊號的部份也可以直接用vba去寫出來,其實不難,K線與成交量座標有機會對齊嗎,用二個圖表的話只能靠調整圖表寬度來對齊,座標日期只要把圖表拉寬就可以顯示每天的日期了。
刪除你用maria DB 是直接在資料庫內用sql算好再由excel取數據嗎?這樣子速度會快很多,有機會的話希望可以交流一下哦,因為這部份我也還在嘗試
https://www.stockexcel.pro/2020/03/excel-k-excel-vba-k-buy-sell.html?m=1 這個 你上面好像寫價量累計日 ,因為縱座標數字單位長度不一樣,量以千為單位,K線圖只有幾十或幾百所以寬度不能拉到一樣,量會比較寬(有點強迫症嗯…,所以我才問問看,好謝謝長知識了👍。
回覆刪除對這樣如果天數太運算比較方便,當然可以呀,通常數據量太大會這樣運算因為數據量太大Excel會當機😂
那個價量累計日應該是當初從券商的看盤軟體拉k線資料出來時不知道那個指標用的,沒什麼實際用途吧,成交量及k線要對齊,這個我也試了很多方法了,目前當無自動化的解決方法,目前我只知道可以手動調整整個圖表的寬度來對齊而以
刪除我今天剛嘗試RTD發現新大陸了,以前寫爬蟲寫到快死了 沒想到還有這東西!
回覆刪除RTD或DDE在盤中要取得報價是很方便的工具,難度也不高
刪除對了 你可以用mail跟我交流redeye0857
回覆刪除好的,我再私信給你
刪除張貼留言