開始使用盛寶 OpenAPI for Excel

OPENAPI

OpenAPI是連接盛寶設施的閘道器。 API允許客戶和合作夥伴建立與盛寶交易系統直接通信的定制交易應用程序。 所有盛寶下一代交易平台都建立於OpenAPI之上。

OpenAPI for Excel在Excel中直接顯示OpenAPI的所有函數。 然而,對於 (對進階使用方案),客戶端和合作夥伴也可以直接使用OpenAPI。 有關OpenAPI的更多信息,請聯絡您的客戶代表。

OPENAPI FOR EXCEL
  • 為精通Excel用戶提供靈活的交易和帳戶查看解決方案

  • 直接在Excel連接交易和管理您的投資組合(倉位、訂單、交易、價格)的所有信息

  • 建立獨一無二的工作表,並調整至您自己喜愛方式

  • 通過自動方式交易和下單

  • 允許自動執行常於平台執行的所有活動。

OpenAPI for Excel輕鬆與其他外部插件配合,並且應用於現有的工作表和模型中。 插件可以在任何工作表中執行,並且不需要使用巨集(Macros)。 為了充分利用插件的真正函數,建議通過VBA編寫。 此外,您可以於OpenAPI for Excel登入時同時登入其他盛寶交易平台(如SaxoTraderGo)。

應用例子

OpenAPI for Excel可應用於以下情況:

  • 算法交易 - 可以有效地執行由Excel輸出的交易模式
  • 根據外部系統或API進行特定時間或動態數據交易
  • 完整機械式交易(非低時延)
  • 外匯對沖 – 當倉位成交時立刻與其他倉位即時對沖
  • 能代表多個客戶或帳戶進行大批交易
  • 為小型財富管理人員或對沖基金的客戶進行投資組合重構和監控 外匯模型回溯測試
  • 直接於Excel獲取有關倉位、訂單和結餘的實時數據,用於對數或風險監控
如何運行

OpenAPI for Excel中的所有函數都應用於工作表函數,即從下單到查看倉位的所有內容都可以通過公式來實行。

公式的語法與OpenAPI的語法相通。由於語法相對複雜及為方便客戶靈活使用,您可以通過OpenAPI進行所有操作。
該插件內含一個【示例按鈕】,讓用戶在任何工作表中可通過其“按鈕”選擇已編好的公式。當用戶熟悉API後就可以修改這些示例。(此函數目前正在開發中)

如要新增專業函數,請參考OpenAPI developer portal了解所有函數和參數。若要連接OpenAPI developer portal,請與您的客戶代表聯絡。

大部份API函數都應用於VBA,並可以通過Application.Run()語法執行,但是現時不能通過VBA執行實時(RTD)函數,即不能於VBA使用OpenAPISubscribe

通過 OPENAPI FOR EXCEL交易

OpenAPI for Excel使您的交易策略自動化,以減少手動工作流程。 此外,OpenAPI與Microsoft Excel VBA靈活結合,可以根據規則或交易信號增設複雜的交易模型或自動化訂單。

OpenAPI for Excel沒有額外收費,並應用於 SaxoTraderGO目前提供的大部分產品。

通過OPENAPI FOR EXCEL顯示數據

為方便客戶管理於實時更新圖表或靜態數據集方面的交易,盛寶公開所需信息。換句話說,您可於Excel獲取所有交易平台中可見的信息。

請注意,盛寶不會公開非外匯市場的數據。

如何連接OPENAPI FOR EXCEL

開始使用OpenAPI for Excel前,請從OpenAPI for Excel頁面下載插件。

您可於主網站登記一個模擬帳戶,有效期為一個月。

該插件支援32或64位元版本。

需要Internet Explorer 9或更高版本及.Net Framework 4.6.1

如何開啓OPENAPI EXCEL 插件

在Excel開啓OpenAPI .xll插件有兩種方法:
您可以直接啟動它,然後打開任何excel文件以使用公式執行操作。
您亦可以通過頂部函數區“Developer”進行添加。兩者都在下面詳細描述。

直接啟動

雙擊“OpenAPI.xll”文件並啟動Excel插件。Excel將在沒有打開任何工作簿的情況下啟動。而您可以從“文件”菜單打開任何現有的或新的工作簿。

然後點擊函數區中的“Saxo Bank”選項進行下一步。

使用DEVELOPER TAB

開啟一個新的Excel。
如沒找到頂部函數區中的“Developer”選項,請通過文件 - >選項 - >自定義函數區 - >(如圖所示選中此選項)啟用它。



於頂部函數區中的“Developer”選項單擊按鈕。 按鈕。

瀏覽並開啓OpenAPI.xll插件。

然後點擊“Open Api” 選項。



 

由可以於“Open Api” 輸入盛寶客戶號碼及密碼。

選擇界面(LIVE / LIVE-Read / SIM),然後按登入:




用於登入任何其他盛寶平台的証書相同。
SPREADSHEET示例

盛寶製作一系列Spreadsheet,可於OpenAPI for Excel登錄頁面找到,並將上載更多Spreadsheet給客戶參考 。

盛寶不會對Spreadsheet任何錯誤負責。

其示例說明一些可應用於Excel API的簡單例子,由於沒有隱藏VBA程式碼,您可於在客戶端主動使用或修改。

如何使用OPENAPI FOR EXCEL

OpenAPI for Excel的所有函數都與OpenAPI直接相連。 而Excel插件用作處理Excel和OpenAPI之間的溝通。

插件所提供的函數必須應用於OpenAPI,但OpenAPI某些公共端點可被限制於此插件。

遠端點用於從OpenAPI接收或發送數據,目前SaxoTraderGo支援的所有OpenAPI函數都有可能與公共OpenAPI以及OpenAPI for Excel相容。

插件中Excel的函數用於接收或發送數據。除OpenAPISubcribe之外,大部份都能應用於Excel VBA中。

可通過使用application.run ("FunctionName","Parameters")執行。 VBA程序碼示例可於所提供的示例表中找到。

公式工具

您可通過公式工具輕鬆連接OpenAPI所有可用數據。

公式工具可以於OpenAPI for Excel工具欄中找到。




該工具提供所有可用的Subscribe ()和Get ()端點。 您可以使用以下函數評估,更改和重用由此工具製出的語法。

用戶可以在下拉式對話框中選擇公式類型和端點。

用戶可通過選擇一個或多個列並按向右箭頭,從列表中選擇Excel顯示那些列。如果需要輸入數據,表單底部將以動態方式顯示輸入字段或下拉列表。

成功設定列及輸入字段後,便可按“Generate Formula”按鈕。

指定的數據將於Excel表格特定位置顯示。

避免於重要數據附近顯示指定數據,因為公式可能會覆蓋現有位置。


 
函數類別

常用函數 - 顯示如客戶密鑰(唯一客戶端標識),帳號密鑰(唯一帳戶標識)或當前登錄用戶的所有帳戶列表的常用函數。

交易函數 - 建立訂單和相關訂單,更新訂單和取消訂單

通用函數 - 直接與OpenAPI溝通,用戶將指定端點和輸入參數以及應顯示於表格中的那一列(獲取和訂閱函數)。

通用函數

OpenAPIGet - 快速取得數據。用戶需要指定顯示範圍,並按“CTRL-SHIFT-ENTER”來執行公式來取得數組。此數據也可以應用於Excel VBA。

OpenAPISubscribe - 獲得串流式回應,實時更新淨倉位

OpenApiPost - 通過OpenAPI發送交易數據

OpenAPIUpdate - 更新訂單等數據

OpenAPIDelete - 刪除訂單等數據

 

OPENAPI通用函數

OpenAPI for Excel使用戶能使用OpenAPI中的所有函數(端點)。
盛寶提供的所有端點都可以通過通用函數從Excel直接使用。

OPENAPIGET / OPENAPIGETASYNC

說明:從OpenAPI端點同步或不同步地獲取靜態數據。

Uri(string) - 端點的路徑,如“port / v1 / netpositions / ME” ParameterList(string) - 在OpenAPI中編寫的列。在嵌套對像(nested objects),如NetPositionView.AverageOpenPrice的情況下,用戶將需要使用“.”。獲取嵌套對象(在這種情況下為AverageOpenPrice)。要程式成功運行,需要注意大小寫。

例如,如果要獲取登錄客戶端的NetpositionId,平均開倉價和數量,則應在OpenAPI中輸入如下相應的編碼:

= OpenAPIGet(“端口/ V1 / netpositions / ME”,“NetPositionId,NetPositionView.AverageOpenPrice,NetPositionBase.Amount”)

其中“port / v1 / netpositions / ME”是端點的名稱

“NetPositionId,NetPositionView.AverageOpenPrice,NetPositionBase.Amount”是要返回的列。

請注意,AvererageOpenPrice嵌套在NetPositionView中,Amount則嵌套在NetPositionBase中,因此我們使用“.”語法。

OPENAPIGETAUTORESIZE 

OpenAPIGetAutoResize具有與OpenAPIget相同的語法。

但是,此函數會自動將返回的數據大小調整為與來源數據集一樣的大小。

該函數還適用於返回數據的標題。 這由一個可選的布爾值(Boolean)控制 (TRUE / FALSE)值。 語

法如下:

= OpenApiGetAutoResize(“/ openapi / ref / v1 / currency”,“CurrencyCode,Name,Decimals”,TRUE)在特定的數據大小下,返回所有貨幣的陣列(Array)。

OPENAPISUBSCRIBE

OpenApiSubscribe將接收一行標題以及一個包含數據的動態數組。數據由最初輸入公式的單元格控制。刪除或更改此單元格將更改或刪除整個數據集,並取消訂閱數據。如果OpenApiSubscribe輸入到公式“A1”,標題列則將出現在單元格A1,B1,C1中 etc.,獲取到的數據將從行2開始顯示,並根據數據量動態調整大小。確保在訂閱函數下面沒有重要的數據可能被刪除。 OpenAPI for Excel中的所有訂閱都設置了每秒一次的輪詢速率。

說明:從OpenAPI端點獲取流數據 參

數:

Uri(string) - 端點的路徑,例如“port / v1 / netpositions / subscriptions / active”

Arguments (string) - 用於連接參數,例如“Clientkey:N02PuZi3szhnEbc4qTXk1g ==”,可以在開發人員選項中找到。大多數端點都需要ClientKey和AccountKey。這些可以通過使用OpenApiGetClientKey和OpenApiGetAccountKey的函數來檢索。

FieldGroups(string) - 接收的字段組,例如NetpositionBase,這些組用於指定要查詢的數據類型。這有助於限制必須下載的數據量,從而減少下載大型數據集的延遲。字段組以逗號分隔的字符串形式輸入。

ParameterList(string) - 要在OpenAPI中編寫的列。在嵌套對象的情況下,我們使用“.” 。要程式成功運行,需要注意大小寫。

例如,如果要從以下返回數據中獲取NetpositionId,AverageopenPrice和Amount,則應在OpenAPI中輸入如下相應的編碼:

= OpenApiSubscribe("port/v1/netpositions/subscriptions/active","ClientKey:9DxQ|LlQHC5QoU2lvfghJQ ==","NetPositionBase,NetPositionView,DisplayAndFormat","NetPositionId,NetPositionView.AverageOpenPrice, NetPositionBase.Amount")

OPENAPIPOST

OpenAPI post可以通過OpenAPI提交數據。 這可以用於提交不支持特定函數的數據。 即使可以通過OpenAPIPost進行交易,建議使用本文檔稍後介紹的指定交易函數。 說

明:將數據提交給OpenAPI。

參數:

Uri(string) - 端點的路徑,例如“trade / v1 / orders”

Body(string) - 用於通過OpenAPI發送的參數

交易函數

插件中已經加入了一系列專門的交易函數,使交易更容易。 所有以下函數都可以使用OpenApiPost進行複制。

OPENAPIPLACEORDER

說明:

此函數用於新訂單。不是所有產品類型也適用。

參數:

AccountKey(string) - 帳戶密鑰用於放置訂單在帳戶。 I

Instrument(string) - 要放置產品訂單的符號,例如。 “EURUSD”,“EURJPY”等 A

AssetType(string) - 產品的產品類型,例如。 “FxSpot”等 A

Amount(decimal) - 訂單的大小,即要訂購產品的數量。 B

Buy/Sell(string) - 訂單的方向;買或賣。

Duration(string) - 描述不同順序類型的字符串(string)。請注意,並非所有訂單類型都可用於所有產品類型。可提供的的值可在OpenAPI開發人員選項的參考文檔中找到。 O

OrderType(string) - 指定它們的順序類型,可提供的類型可在OpenAPI開發人員選項的參考文檔中找到。

OrderPrice(decimal) - 訂單的價格。可選擇市價單。

RelatedLimitPrice(decimal) - 限價訂單的價格(非必要)

RelatedStopPrice(decimal) - 止損訂單的價格(非必要)

RelatedStopType(string) - 指定持倉的止損訂單類型(非必要),可提供的類型可在Place Order端點的參考文檔中找到。

Return Value:如果成功放置訂單,則接收訂單編號。如果訂單無法成功放置,則向用戶顯示相應的錯誤消息。

OPENAPIPLACEORDERASYNC

說明:此函數用於不同步下訂單並立即顯示結果。 一旦訂單被放置(成功或不成功),結果將再次發送到excel。 如果以很短的順序放置多個不同步訂單,則可能不會按照輸入的順序來提交多個不同步訂單。

放置不同步訂單不適用於所有產品類型,所以不應在Excel VBA中使用。

該函數的輸入與OpenAPIPlaceOrder相同。

OPENAPIADDRELATEDORDER

說明:此函數用於將新的相關“從(slave)”訂單放置到現有的“主(master)”訂單。 參數:

AccountKey(string) -帳戶密鑰用於放置訂單在帳戶。

Amount(decimal) - 訂單的大小,即要訂購產品的數量。 B

Buy/Sell(string) - 訂單的方向;買或賣。

Duration(string) - 描述不同順序類型的字符串(string)。請注意,並非所有訂單類型都可用於所有產品類型。可提供的的值可在OpenAPI開發人員選項的參考文檔中找到。 O

OrderPrice(decimal) - 訂單的價格。

OrderType(string) - 指定支持的順序類型。可能有效的類型可在“添加相關訂單”端點的參考文檔中找到。 MainOrderId(string) - 主訂單的訂單ID。

OrderRelation(string) - 與主/相關訂單的關係。可提供的有效類型可在“添加相關訂單”端點的參考文檔中找到。

Return Value:訂單成功放置時的訂單ID。對於不成功的訂單,則返回相關的錯誤消息

OPENAPICANCELORDER

說明:此函數用於取消任何現有的訂單。

參數:

OrderId(string) - 要取消的訂單的訂單ID。

AccountKey(string) - 放置訂單的帳戶的帳戶密鑰。 R

Return Value:取消的狀態,成功或錯誤的信息。

OPENAPIEDITORDER

說明:此函數用於編輯現有的訂單。 參數:

AccountKey(string) - 放置訂單的帳戶的帳戶密鑰。

Amount(decimal) - 訂單的大小,即要訂購產品的數量。

Duration(string) - 描述不同順序類型的字符串(string)。請注意,並非所有訂單類型都適用於所有產品。可提供的的值可在OpenAPI開發人員選項的參考文檔中找到。

OrderPrice(decimal) - 訂單的放置價格。

OrderType(string) - 指定並有提供的訂單類型。可更改訂單的類型,可在更新訂單端點的參考文檔中找到。

OrderId(string) - 要被編輯訂單的ID。

Return Value:訂單編輯狀態。 顯示成功/錯誤消息。

OPENAPIGETCLIENTKEY

說明:獲取特定客戶端的Clientkey。在輸入留空的情況下,則為已登錄的用戶。

參數:

ClientID(string,非必要) - 要獲取Clienttkey的客戶端的ID。 這是一個非必要的參數。

Return Value:帳戶的帳號 (id) 作為輸入參數。 如果沒有輸入帳戶ID,則返回默認帳戶的帳戶密鑰。

OPENAPIGETACCOUNTLIST

說明:在列表中顯示客戶端下面的所有帳戶,帳戶ID和帳戶密鑰。

您的瀏覽器無法正常顯示本網頁。

本網站已為iOS 9.X和微軟IE 10或更高版本的系統進行了優化。 如果您的系統或瀏覽器版本較舊,網頁可能會出現異常顯示。為了改善您的體驗,請更新您的瀏覽器或系統。