32位元版本的 megaSpeedyAPI.dll 跟 64位元版本的 megaSpeedyAPI_64.dll 提供的都是 C 語言的程式介面,為簡化 C 語言程式介面繁瑣的使用程序 請使用壓縮檔解開後 cpp 目錄下的 spdOrderAPI.cpp/.h (for 交易) 跟 spdQuoteAPI.cpp/.h (for 行情)來加速程式的開發。以下將針對 spdOrderAPI 跟 spdQuoteAPI 的使用加以說明。
#pragma
#include "spdOrderAPI.h"
class testSpdOrderAPI : public spdOrderAPI
class testSpdOrderAPI : public spdOrderAPI
{
protected:
void OnSpeedyConnected() override;
void OnSpeedyDisconnected() override;
void OnSpeedyLogonResponse(bool isLoginOK, const char* ReplyMsg) override;
void OnNewOrderReport(long long nid, const char* UDD, const char* Symbol, double Price, const char* Side, long OrderQty, const char* OrderType, const char* TimeinForce, const char* OrderID) override;
void OnCancelOrderReport(long long nid, const char* UDD, const char* Symbol, double Price, const char* Side, const char* OrderID) override;
void OnReplaceOrderReport(long long nid, const char* UDD, const char* Symbol, double Price, const char* Side, long OrderQty, const char* OrderType, const char* TimeinForce, const char* OrderID) override;
void OnOrderRejectedReport(long long nid, const char* UDD, const char* ActionFrom, const char* ErrCode, const char* ErrMsg) override;
void OnOrderMatchReport(long long nid, const char* UDD, const char* OrderID, long ReportSeq, double MatchPrice, long MatchQty, const char* MatchTime) override;
};
void testSpdOrderAPI::OnSpeedyConnected()
{
// 在這裡處理交易主機連線成功的事件
}
void testSpdOrderAPI::OnSpeedyDisconnected()
{
// 在這裡處理交易主機連線斷線的事件
}
void testSpdOrderAPI::OnSpeedyLogonResponse(bool isLoginOK,
const char* ReplyMsg)
{
// 交易主機登入成功或失敗的處理
}
void testSpdOrderAPI::OnNewOrderReport(long long nid,
const char* UDD,
const char* Symbol,
double Price,
const char* Side,
long OrderQty,
const char* OrderType,
const char* TimeInForce,
const char* OrderID)
{
// 在這裡處理新單委託回報
}
void testSpdOrderAPI::OnCancelOrderReport(long long nid,
const char* UDD,
const char* Symbol,
double Price,
const char* Side,
const char* OrderID)
{
// 在這裡處理刪單委託回報
}
void testSpdOrderAPI::OnReplaceOrderReport(long long nid,
const char* UDD,
const char* Symbol,
double Price,
const char* Side,
long OrderQty,
const char* OrderType,
const char* TimeInForce,
const char* OrderID)
{
// 在這裡處理改單委託回報
}
void testSpdOrderAPI::OnOrderRejectedReport(long long nid,
const char* UDD,
const char* ActionFrom,
const char* ErrCode,
const char* ErrMsg)
{
// 在這裡處理委託失敗回報
}
void testSpdOrderAPI::OnOrderMatchReport(long long nid,
const char* UDD,
const char* OrderID,
long ReportSeq,
double MatchPrice,
long MatchQty,
const char* MatchTime)
{
// 在這裡處理收到成交回報
}
from pySpeedy.spdQuoteAPI import spdQuoteAPIEnableMegaCA("xxxxxx.pfx","id","password");
ConnectSpeedy("交易主機IP", 交易主機_ListenPort, 視為逾時的秒數);
#pragma
#include "spdQuoteAPI.h"
class testSpdQuoteAPI : public spdQuoteAPI
class testSpdQuoteAPI : public spdQuoteAPI
{
protected:
void OnStarwaveConnected() override;
void OnStarwaveDisconnected() override;
void OnOrderBook(const char* Exchange, const char* Symbol, const char* MsgTime, spdMsgOrderBook* OrderBook) override;
void OnTrade(const char* Exchange, const char* Symbol, const char* MatchTime, double MatchPrice, int MatchQty, bool isTestMatch) override;
void OnStarwaveLogonResponse(bool isLoginOK, const char* ReplyMsg) override;
void OnContract(const char* Exchange, const char* Symbol, const char* Name, const char* MaturityDate, const char* Category, spdContract* Contract) override;
void OnContractDownloadComplete(int TotalContracts) override;
};
void testSpdQuoteAPI::OnStarwaveConnected()
{
// 在這裡處理行情主機連線成功的事件
}
void testSpdQuoteAPI::OnStarwaveDisconnected()
{
// 在這裡處理行情主機連線中斷的事件
}
void testSpdQuoteAPI::OnStarwaveLogonResponse(bool isLoginOK,
const char* ReplyMsg)
{
// 行情主機登入成功或失敗的處理
}
void testSpdQuoteAPI::OnOrderBook(const char* Exchange,
const char* Symbol,
const char* MsgTime,
spdMsgOrderBook* OrderBook)
{
// 在這裡處理收到的委託簿
}
void testSpdQuoteAPI::OnTrade(const char* Exchange,
const char* Symbol,
const char* MatchTime,
double MatchPrice,
int MatchQty,
bool isTestMatch)
{
// 在這裡處理成交的訊息
}
void testSpdQuoteAPI::OnContract(const char* Exchange,
const char* Symbol,
const char* Name,
const char* MaturityDate,
const char* Category,
spdContract* Contract)
{
// 在這裡處理下載的商品基本資料
}
void testSpdQuoteAPI::OnContractDownloadComplete(int TotalContracts)
{
// 在這裡處理商品檔下載完成的通知
}
LogonStarwave("行情主機IP", 行情主機_ListenPort, "your_id", "your_password", true);