C#技術分析API使用手冊
C#技術分析API範例程式
3. 執行Sample
1
設定帳號密碼
輸入完成後點按下登入
2
技術指標
| 1 | 設定商品, 輸入證券代碼 |
| 2 | 設定日期(當日,起始日期) |
| 3 | 設定分K, 輸入1 ,3, 5K |
| 4 | 設定技術指標, 輸入SMA, EMA, WMA, SAR, RSI, MACD, KD, CDP, BBands, BIAS |
| 5 | 設定計算週期 |
回傳結果(SMA,1K,Opr:1)
3
歷史成交
| 1 | 設定商品, 輸入證券代碼 |
| 2 | 設定歷史日期 |
回傳結果
4. 回報狀態事件
4.1 TACallBack_OnUpdate
| 說明 | 回傳即時股票資料 |
|---|
void TACallBack_OnRcvDone(object sender, object aResult)//指標回補
| 參數 | 類別 | 說明 |
|---|---|---|
| Sender | object | TA_BASE |
| aResult | object | List TRes_SMA, TRes_WMA, TRes_EMA, TRes_SAR, TRes_RSI, TRes_DIF, TRes_KD, TRes_CDP, TRes_BBands, TRes_BIAS |
class TA_BASE:
| 參數 | 類別 | 說明 |
|---|---|---|
| Opr | decimal | 週期 |
| TSubTARec | class | 訂閱參數 |
4.2 TACallBack_OnRcvDone
| 說明 | 回傳歷史回補資料 |
|---|
void TACallBack_OnUpdate(object sender, object aResultPre, object aResultLast)//指標即時最新兩根K的值
| 參數 | 類別 | 說明 |
|---|---|---|
| Sender | object | TA_BASE |
| aResultPre | object | 前一筆技術指標資料TRes_SMA, TRes_WMA, TRes_EMA, TRes_SAR, TRes_RSI, TRes_DIF, TRes_KD, TRes_CDP, TRes_BBands, TRes_BIAS |
| aResultLast | object | 最新一筆技術指標資料TRes_SMA, TRes_WMA, TRes_EMA, TRes_SAR, TRes_RSI, TRes_DIF, TRes_KD, TRes_CDP, TRes_BBands, TRes_BIAS |
5. API物件欄位說明
5.1 回傳類別共通部分TKBarRec
class TKBarRec
| 參數名稱 | 型別 | 說明 |
|---|---|---|
| Date | string | 日期 |
| Product | string | 商品代號 |
| TimeSn | int | 時間 |
| TimeSn_Dply | int | 時間 |
| Quantity | int | 量 |
| Volume | int | 總量 |
| OPrice | decimal | 開盤價 |
| HPrice | decimal | 最高價 |
| LPrice | decimal | 最低價 |
| CPrice | decimal | 收盤價 |
5.2 SMA: 簡單移動平均線
| 週期 | 20 |
|---|
class TRes_SMA
| 參數 | 類別 | 說明 |
|---|---|---|
| Value | decimal | SMA值 |
5.3 WMA: 加權移動平均線
| 週期 | 5 |
|---|
class TRes_WMA
| 參數 | 類別 | 說明 |
|---|---|---|
| Value | decimal | WMA值 |
5.4 EMA: 指數移動平均線
| 週期 | 5 |
|---|
class TRes_EMA
| 參數 | 類別 | 說明 |
|---|---|---|
| Value | decimal | EMA值 |
5.5 KD: 隨機指標
| 週期 | 9 |
|---|---|
| RSV移動平均週期 | 3 |
class TRes_KD
| 參數 | 類別 | 說明 |
|---|---|---|
| K | decimal | K值 |
| D | decimal | D值 |
5.6 MACD: 指數平滑異同移動平均線
| 短週期 | 12 |
|---|---|
| 長週期 | 26 |
| DIF週期 | 9 |
class TRes_DIF
| 參數 | 類別 | 說明 |
|---|---|---|
| DIF | decimal | DIF值 |
| OSC | float | OSC值 |
5.7 SAR: 拋物線指標
| 加速因子起始值 | 0.02M |
|---|---|
| 加速因子遞增值 | 0.02M |
| 加速因子最大值 | 0.2M |
class TRes_SAR
| 參數 | 類別 | 說明 |
|---|---|---|
| SAR | decimal | SAR值 |
| EPh | decimal | Extreme High |
| EPl | decimal | Extreme Low |
| AF | decimal | 加速因子 |
| RaiseFall | decimal | 漲跌勢 |
5.8 RSI: 相對強弱指標
| 週期 | 6 |
|---|
class TRes_RSI
| 參數 | 類別 | 說明 |
|---|---|---|
| RSI | decimal | RSI值 |
| UpDn | decimal | UpDn值 |
| UpAvg | decimal | UpAvg值 |
| DnAvg | decimal | DnAvg值 |
5.9 CDP: 逆勢操作系統
class TRes_CDP
| 參數 | 類別 | 說明 |
|---|---|---|
| CDP | decimal | RSI值 |
| AH | decimal | 最高值 |
| NH | decimal | 近高值 |
| AL | decimal | 最低值 |
| NL | decimal | 近低值 |
5.10 BBands: 布林通道
| 週期 | 20 |
|---|---|
| 上值加幾倍標準差 | 2 |
| 下值減幾倍標準差 | 2 |
5.11 BIAS: 乖離率
| 週期 | 5 |
|---|
class TRes_RSI
| 參數 | 類別 | 說明 |
|---|---|---|
| MA | decimal | SMA值 |
| Value | decimal | 乖離率 |
5.12 TSubTARec訂閱參數
class TSubTARec
| 參數 | 類別 | 說明 |
|---|---|---|
| DateBegin | string | 起始日期(ex. yyyyMMdd) |
| NK | Enum | 分K(class eNK_Kind) |
| ParamObj | Class | 技術指標參數 |
| PROC_CallBack_RcvDone | callback | 歷史回補技術指標(事件TACallBack_OnUpdate) |
| PROC_CallBack_Update | callback | 即時技術指標(事件TACallBack_OnRcvDone) |
| ProdID | string | 股票代碼 |
| TA_Type | Enum | 技術指標(class eTA_Type) |
5.13 TUnSubTARec取消訂閱參數
class eTA_Type
| 參數 | 類別 | 說明 |
|---|---|---|
| NK | Enum | 分K(class eNK_Kind) |
| ParamObj | Class | 技術指標參數 |
| ProdID | string | 股票代碼 |
| TA_Type | Enum | 技術指標(class eTA_Type) |
5.14 eTA_Type技術指標
class eTA_Type
| 參數 | 類別 | 說明 |
|---|---|---|
| SMA | Enum | Value=0 |
| WMA | Enum | Value=1 |
| EMA | Enum | Value=2 |
| KD | Enum | Value=3 |
| MACD | Enum | Value=4 |
| SAR | Enum | Value=5 |
| RSI | Enum | Value=6 |
| CDP | Enum | Value=7 |
| BBands | Enum | Value=8 |
| BIAS | Enum | Value=9 |
5.15 eNK_Kind分K
class eNK_Kind
| 參數 | 類別 | 說明 |
|---|---|---|
| DAY | Enum | Value=0 |
| K_1m | Enum | Value=1 |
| K_3m | Enum | Value=2 |
| K_5m | Enum | Value=5 |
5.15 TBSRec, TSubBSRec歷史成交資料
class TSubBSRec
| 參數 | 類別 | 說明 |
|---|---|---|
| Date | string | 歷史日期 |
| ProdID | string | 商品代號 |
class TBSRec
| 參數 | 類別 | 說明 |
|---|---|---|
| Prod | String | 商品代號 |
| Sequence | Int | 成交序號 |
| Match_Time | decimal | 成交時間 |
| Match_Price | decimal | 成交價 |
| Match_Quantity | Int | 成交單量 |
| Match_Volume | Int | 成交總量 |
| Is_TryMatch | Bool | 是否為試撮 |
| BS | Int | 0=無法辨別, 1=內盤, 2=外盤 |
| BP_1_Pre | decimal | 前買1價 |
| SP_1_Pre | decimal | 前賣1價 |
C#技術分析API實作使用說明
物件建構:
TTechAnalysisAPI:主要控制模組
1. 初始化
fTechAnalysisAPI = new TTechAnalysisAPI();
fTechAnalysisAPI.OnTAConnStuEvent += TechAnalysisAPI_OnTAConnStuEvent;//回傳連線狀態
2. 登入
fTechAnalysisAPI.Login(sID, sPwd);
Login
| 輸入/輸出 | 欄位名稱 | 格式 | 說明 |
|---|---|---|---|
| In | aUsername | String | 使用者名稱 |
| In | aPassword | String | 使用者密碼 |
3. 訂閱技術指標
fTechAnalysisAPI.SubTA(tmpSubTA, out sErrMsg)
SubTA
| 輸入/輸出 | 欄位名稱 | 格式 | 說明 |
|---|---|---|---|
| In | TSubTARec | class | 指標設定參數 |
| out | sErrMsg | string | 回傳錯誤訊息 |
tmpSubTA參考5.11 TSubTARec訂閱參數
4. 取消訂閱技術指標
fTechAnalysisAPI.UnSubTA(tmpUnSubTA, out sErrMsg)
UnSubTA
| 輸入/輸出 | 欄位名稱 | 格式 | 說明 |
|---|---|---|---|
| In | TUnSubTARec | class | 指標設定參數 |
| out | sErrMsg | string | 回傳錯誤訊息 |
tmpUnSubTA參考5.12 TUnSubTARec取消訂閱參數
5. 歷史成交資訊(不含今日)
fTechAnalysisAPI.GetHisBS_Stock(tmpSub, out lsBS, out sErrMsg)
| 輸入/輸出 | 欄位名稱 | 格式 | 說明 |
|---|---|---|---|
| In | TSubBSRec | class | 歷史成交參數 |
| In | TObjBSRecLSS | class | 歷史成交資訊 |
| out | sErrMsg | string | 回傳錯誤訊息 |
tmpSub, lsBS參考5.15 TBSRec, TSubBSRec歷史成交資料