【C# 富邦期貨 API 開發教學】元件安裝、登入及下單教學

【C# 富邦期貨 API 開發教學】元件安裝、登入及下單教學

富邦期貨 API 是利用自行開發的程式,串接富邦期貨 API 在富邦券商下單的一種方式。
可依照個人演算法做程式交易下單。

我在開發群益 API 已經寫了多篇的文章,而這次客戶要求開發富邦期貨 API 下單,就上富邦期貨官網研究了一下。

發現富邦期貨官網沒有 API 的範例,只提供了元件安裝及 API 文件,沒有官方範例可以參考,要開發還挺麻煩的。
但是答應了客戶要求,只好自己看看 API 文件來寫寫程式了。

花了一些時間,自己用 C# 載入 API 元件,然後照著文件上的方法。
自己設計簡單的畫面,完成了登入、檢查憑證及下單等功能。
以下是我開發完,執行後的畫面。

富邦期貨

接下來會介紹一些重點的程式碼,我會盡量把程式碼註解說明多一點,幫助想要開發富邦期貨 API 的人可以參考。在文末會提供範例下載。

申請 API 登入權限

如果你已申請好富邦期貨的下單權限,不代表就可以使用 API,還需要向你的營業員額外申請 API 交易才行。

如果還沒有富邦期貨,可以到這裡,線上開戶。

富邦期貨 API 下載

開啟富邦的交易平台 ,這裡提供全部的交易工具。
我自己是安裝「富邦e01」來觀察我的帳戶及下單狀態。透過 API 委託成功或失敗都可以在「富邦e01」上面檢視。

如果要安裝期貨 API 及元件,請下載「富邦e01」的「API 下載」。

富邦期貨 API 下載

下載後先執行「Setup.exe」,安裝元件。

富邦期貨 API 下載

預設安裝目錄是「C:\Fubon e01\API」,在此目錄找到「InstallFubonE01API_Win7_64位元.bat」,按右鍵選擇「以系統管理員身分執行」。

富邦期貨 API 下載

安裝時,需要輸入「Y」同意簽章元件。

富邦期貨 API 下載

富邦 API 測試登入

元件安裝好,在目錄下有提供一個測試程式,檢查帳戶登入狀態。
開啟「API_OCX.exe」,輸入帳號密碼再登入就可以了。
如果看到很多的資料回傳就表示 API 權限有開通,
如果是回傳錯誤訊息,可以再跟你的營業員確認一下,帳戶開通的情況。

富邦 API 測試登入

查詢 API 文件

在下載的檔案裡面有 API 文件。

查詢 API 文件

在實際開發程式之後,記得看一下 API 裡面有提供什麼方法。

查詢 API 文件

使用 Visual Studio 2022 開發程式

這裡我用 Visual Studio 2022 建立一個全新的「Windows Forms App (.NET Framework)」專案。

Windows Forms App (.NET Framework)

載入富邦 API 元件

當專案建立好,首先載入富邦的元件 dll。
在專案底下的「參考」,按右鍵選「加入參考」。

載入富邦 API 元件

選擇「C:\Fubon e01\API\FubonE01API.ocx」,加入。

載入富邦 API 元件

完成後會看到「FubonE01API」的參考來源。

載入富邦 API 元件

VS 設計畫面

這裡使用預設的 Form1.cs 來設計畫面。
我貼出我設計畫面的元件及名稱。

富邦 API

畫面主要提供登入、檢查憑證及下單的功能執行。
下面顯示執行的訊息。

富邦期貨 API 程式碼說明

閱讀前提醒一下,我只會將重點語法拿出來講解喔,想要看完整程式碼及操作的話,可以到文末下載範例來看。

引用富邦元件

要操作富邦 API 需要先建立此物件,之後就可以呼叫此物件的方法來執行動作。

Form_Load 初始化動作

開啟表單時,增加下拉的項目。

富邦期貨 API 登入

富邦期貨 API 的回傳資訊,都是用 XML 格式,包含可下單的帳號,也是放在 XML 裡面,
所以登入成功後,就要解析 XML 來取得可下單的帳號。
我使用 Type == “F” 是取出期貨的帳號,如果是 Type == “S” 就是證券的帳號。

解析 XML 因為格式多變,所以就沒有先宣告物件來轉型,直接解析內容,找到指定的名稱,來讀取值。

檢查交易憑證

檢查交易憑證並不是一個必要動作,當有先檢查的時候,在送委託單時就會直接下單。
如果沒有先檢查,則會在程式送委託單時,彈出一個視窗來選擇憑證路徑及密碼驗證。

檢查交易憑證

即然要寫程式交易,我是建議都用程式先檢查憑證,這樣之後下單時,就不需要再彈出視窗輸入憑證密碼。

送出委託單

在送出委託單之前,需要先取得畫面上選擇的商品、價格、方向及數量等資訊。
但這裡我只送出委託單,後續委託單成交後的事件觸發,我沒處理,但從「富邦e01」的工具上面看的到委託結果。

交易結果回傳同樣是 XML 格式,解析 XML 可以宣告物件去轉型,或是直接解析名稱也行。
我這裡都是直接解析名稱。

委託成功後的單號解析,我就沒有處理了,因為我的帳戶裡面都沒放錢,還無法測試成功委託的結果,但這一段程式碼已經可以順利送出委託單,委託之後,可以到「富邦e01」上面去看一下結果。

其中一個特別的寫法是取得交易年月,期貨交易有分近月及遠月,我這裡是示範如何取得富邦近月的寫法。
在上面的程式碼是呼叫 GetFubonFutureYM() 方法。
這裡提供我的判斷交易近月寫法。

以上語法是我這次開發程式碼的重點,我會提供完整的專案可以下載來試用看看。

建議你們在測試時,可以先不放錢在帳戶裡面,先確認程式是否正常。

注意:
如果真要放保證金執行的話,也要確認好要交易的標的及方向再執行喔。

但我寫這段文章,主要還是教學使用,後續可以再用這段程式碼結合完整的程式交易演算法使用。

重點整理

  1. 向營業員申請 API 登入權限
  2. 至官網下載 API 元件安裝
  3. VS 引用 API 內的 FubonE01API.ocx 元件
  4. VS 設計登入、檢查憑證及下單畫面
  5. 複製範例程式碼回去修改

範例下載

連結 GitHub 下載範例

相關學習文章

 

如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝

加入社團一起討論

關注我的 IG

4 thoughts on “【C# 富邦期貨 API 開發教學】元件安裝、登入及下單教學

  1. Mars 教練您好, 由於富邦官網給的API資訊實在太少, 目前為止我只有架好登入以及下單系統, 卻不知道如何把指定商品當下的價格以及五檔資訊找出來並顯示在 MessageBox, 想請問您知道這個問題該如何解決嗎? 謝謝!

    1. 我當初在看富邦的 API 規格書的時候,並沒有看到關於報價及五檔的資訊,我剛剛看一下最新API 文件,也沒有此功能
      可能他們就沒有提供報價串接,或者可以詢問業務員看有沒有未公開的api 文件

      我自己的報價都是串接群益 API 來的,他們的 API 做的比較完整,我從群益讀報價後,有下單時,才會轉到富邦下單

  2. 請問一下,我登入成功,也有加上憑證認證也過了
    不過下單或是單純查詢未平倉部位
    都會出現目前暫不提供 -100008這樣錯誤代碼
    (如圖: https://i.imgur.com/UfnqH0n.png )

    不知道依你的經驗來說
    會是哪邊的問題呢?
    謝謝

Comments are closed.