【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 2019 開發程式

這裡我用 Visual Studio 2019 建立一個全新的「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. 複製範例程式碼回去修改

範例下載

完整範例下載連結

相關學習文章

 

如果你在學習上有不懂的地方,可以參考線上家教服務

如果你喜歡這篇文章,請幫我在上方綠色的拍手圖示按 5 下
使用 Google 或 FB 免費登入,你的鼓勵支持我繼續創作,寫出好的文章

[加入社團一起討論] 或是 [追蹤 Instagram]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *