前幾天分享了個人自制的 台灣股市資料庫 ,今天來分享程式交易下單機及盤中市況監控的程式吧。
盤中市況監控圖

Excel VBA 程式交易全自動下單機


有些人認為用 Excel 來做程式交易在快市時會來不及,容易掉 tick ,其實大部份的程式語言都有相同的問題,當然這部份跟寫出來的程式碼及電腦硬體也有關聯,這部份我們先不討論,不過一般投資人的交易策略並非高頻交易,不用去搶毫秒等級的單,所以我認為對於 Excel 來說,速度不是什麼大問題。

需求元件

要做出全自動的下單機需要使用到幾個不同的元件才可以完成
  1. 券商API下單
  2. 收取報價
  3. 歷史資料

券商 API

有些券商的 API 有取得報價的功能,群益的也有,但用 Excel VBA 串接 API 取得報價的話,比較容易出錯,這個應該就是 Excel 處理資料速度上的問題了,所以我放棄 API 的報價,選擇更好的方式來替代。

而券商的 API 主要拿來處理送單下單的部份,只要盤中符合條件,就自動送單,另外還有觸價停損及尾盤自動回補的功能。

收取報價元件

這部份選擇元大 RTD 報價元件,個人測試過了,基本上只要使用 x64 的 Excel 來開啟,可以直接取得全部股票1千7百多檔的報價,而且可以穩定的開到收盤沒問題,但如果使用 x86 的 Excel 常常會在盤中就出錯,原因在於二個版本對記憶體容量的支援不同,x86 只能使用到 2GB 的記憶體,扣掉執行 Excel 就會佔用的部份,那能提供給下單及收取報價跟計算的記憶體就更少了,當記憶體容量不足時,很容易出錯。
但 x64 的 Excel 可以使用到 4GB ,所以相對比較穩定。

歷史資料

歷史資料主要是拿來計算指標用的,這部份可以使用資料庫、爬蟲、自已每日盤後手動紀錄來完成,目前本人是使用資料庫的方式取得指標。

盤中市況監控

這個程式是我還沒開始用程式交易前做出來的,主要是拿來觀看當天盤勢使用,不過開始用程式交易後就沒在看了,因為程式交易最忌諱的就是人為干擾,所以就算看了覺得盤不符合我的策略,也不能去干擾程式,而且目前交易都交給程式去處理了,所以盤中其實也沒太專心在看盤,寫寫文章,四處找人打屁聊天,看看網頁,等收盤再來看損益就好了。

類股走勢

這個是把上市櫃的類股走勢整理成上市及上櫃2張圖,這樣子可以很清楚的知道今天市場的熱度集中在那個產業。

權值股走勢

一樣把上市櫃的權值股都選出來,看各權值龍頭股的走勢,這個圖表是參考自由人前輩的指標做出來的。

上市櫃騰落指標

盤中即時的上漲下跌家數的指標,使用看盤軟體只能看到數字,實在很難判斷盤勢是由弱變強還是由強轉弱。
但是整理成圖表的話,就可以很清楚的看到今天的盤勢如何了。

上市櫃及期貨走勢

這個就不用多做介紹了,只是看一下當天的走勢而以。

14 留言

  1. 請問可以取得這個Excel嗎? 我不知怎麼連結券商API在Excel訊號出現時自動下單 想自己增加策略試試

    回覆刪除
    回覆
    1. 目前沒有營利的打算哦,連結券商API可以去看券商的說明文件,出訊號下單就只是在訊號出現時執行一個程式送到api的下單函數下單

      刪除
  2. 請教一下 ma5 與ban是用算的 還是用爬蟲爬的

    回覆刪除
    回覆
    1. 圖內的線是1ma,所有資料都是用dde傳到excel,再用excel計算的哦,ma只要每份鐘記錄一次就可以得到,k棒也是用內鍵的股票圖就可以畫出來

      刪除
  3. 請問指標的算法公式要怎麼取得呢 報價是用RTD獲取當下的股價 這樣理解對嗎 然後dde是輔助監控看盤用的 因為我參考之前你做的蠟燭圖 需要移動平均線跟布林指標 不過我自己目前沒有ma數據與布林指標數據 ma以前用過Excel寫(取資料庫數據後在用Excel運算)感覺效率比較差 剛剛用sql好像效果不錯還沒完成 不過布林指標或其他的 不知道要怎麼得到 以上 謝謝🙏

    回覆刪除
    回覆
    1. RTD跟DDE都是報價傳輸的工具,所以功能是一樣的,MA跟布林要自已算,我的歷史數據是放到Access,再用SQL語法取得,如果只是單一檔個股的計算,基本上是毫秒就算好了,但如果要跑全股效率就比較差一點。

      布林指標的算法之前的文章有,網址是:https://www.stockexcel.pro/2020/03/bbands-excel.html

      刪除
  4. 了解 謝謝 我之後再試試RTD跟DDE,我昨天成功了我最後是用maria db 寫sql直接算出bollinger線跟ma值 ,對!我之前分析1737檔要一個多小時超久,對了那個價量累積24是什麼意思我直接用sql好像就沒用到不過蠻好奇的,買賣訊號那我看的比較矇所以我亂寫出差不多功用的if🤣,K線與成交量座標有機會對齊嗎🤔我試了很久都沒對齊、那個座標日期刻度可以顯示每一天的嗎 以上 謝謝,ok 我再去研究👍

    回覆刪除
    回覆
    1. 價量累積24??在那裡看到的,我有點忘記了,買賣訊號的部份也可以直接用vba去寫出來,其實不難,K線與成交量座標有機會對齊嗎,用二個圖表的話只能靠調整圖表寬度來對齊,座標日期只要把圖表拉寬就可以顯示每天的日期了。

      你用maria DB 是直接在資料庫內用sql算好再由excel取數據嗎?這樣子速度會快很多,有機會的話希望可以交流一下哦,因為這部份我也還在嘗試

      刪除
  5. https://www.stockexcel.pro/2020/03/excel-k-excel-vba-k-buy-sell.html?m=1 這個 你上面好像寫價量累計日 ,因為縱座標數字單位長度不一樣,量以千為單位,K線圖只有幾十或幾百所以寬度不能拉到一樣,量會比較寬(有點強迫症嗯…,所以我才問問看,好謝謝長知識了👍。

    對這樣如果天數太運算比較方便,當然可以呀,通常數據量太大會這樣運算因為數據量太大Excel會當機😂

    回覆刪除
    回覆
    1. 那個價量累計日應該是當初從券商的看盤軟體拉k線資料出來時不知道那個指標用的,沒什麼實際用途吧,成交量及k線要對齊,這個我也試了很多方法了,目前當無自動化的解決方法,目前我只知道可以手動調整整個圖表的寬度來對齊而以

      刪除
  6. 我今天剛嘗試RTD發現新大陸了,以前寫爬蟲寫到快死了 沒想到還有這東西!

    回覆刪除
    回覆
    1. RTD或DDE在盤中要取得報價是很方便的工具,難度也不高

      刪除
  7. 對了 你可以用mail跟我交流redeye0857

    回覆刪除

張貼留言

較新的 較舊