2015年8月24日 星期一

打造自己的自動交易程式(一)--透過DDE抓取即時資料,支援富邦e01,永豐eleader,日盛HTS,日盛鉅富贏家...

    打造自己的自動交易程式, 第一步當然就是要先有資料源囉~ 資料源我們選用最簡單不用費用的DDE(Dynamic Data Exchange 動態資料交換), 幾乎各卷商軟體都有支援DDE, 是打造個人自動動交易的不二選擇. 什麼, 問我要怎麼有卷商軟體?? 只要你有交易, 就一定要開戶, 開戶後擁有帳號就可以免費使用卷商提供的軟體. 還是不知道要怎麼擁有卷商軟體?? 你的症狀只有你的營業員才能妥善治療, 請電洽你的交易營業員...

    透過掌握先機的SDK使用DDE連接卷商取得資料, 變得相當簡單(真的嗎?). 只需幾個步驟:
1.登入: 掌握先機要求必須要先登入才能使用SDK功能, 且會員權限必須是認證權限. 下載掌握先機Windows版本. 免費註冊掌握先機. 手機認證後全功能免費使用一個月.
2.設定連接卷商軟體代號.
3.建立連線.
4.取得DDE資料.
5.關閉連線.

    噹噹噹~~是不是很簡單(才怪...), 如果你已經開始頭痛恍神了, 請先服用本藥再繼續往下閱讀(或抓完藥就立刻回家休息), 抓取DDE資料懶人點點點無痛完成版. 執行檔要放到掌握先機安裝目錄下才能正常執行(64位元預設安裝目錄"C:\Program Files (x86)\U-TOUTZH", 32位元預設安裝目錄"C:\Program Files\U-TOUTZH")

    將上述幾個步驟點化成程式碼: (使用win32)(連接富邦e01)
SDKC_SDKLogin login;
if(login.SDKLogin())
{
    SDKC_DDE sdkc_dde;
    sdkc_dde->SetCMY(0);//0:富邦e01, 1->永豐eleader, 2->, 3->日盛HTS, 4->日盛鉅富贏家
    sdkc_dde->MakeHSZService();
    sdkc_dde->MakeHSZTopic(1);//建立第一條連線
    sdkc_dde->MakeHSZItem(L"1101", L"5,1,2,3", 1);//建立DDE項目1, 設定要抓取台泥(1101), "5,1,2,3"表抓取 "時間,成交價,單量,總量", 問為什麼我知道"5,1,2,3"是"時間,成交價,單量,總量"?? 好吧, 其實我有超能力... (才怪, 查表便知, 掌握先機把DDE項目統一且代號化, DDE項目代號表)
    sdkc_dde->ServerConnect(1);//開啟第一條連線
    char DDEData[256];
    sdkc_dde->GetDDERequest(DDEData, 1);//抓取第一條連線資料, 富邦要用request方式, 問我為什麼知道? 這是秘密, 我絕對不會告訴你富邦用request, 永豐用advise, 日盛HTS用request+advise, 日盛鉅富贏家用request/advise都可以...
    sdkc_dde->ServerClose();//關閉所有連線
}

    噹噹噹~~是不是很簡單(才怪才怪才怪...)
    其實上面這麼多廢話都可以跳過, 無痛完成版連同抓取及匯出成TXT通通完成, 執行檔和程式碼一次送給你.
抓取DDE資料懶人點點點無痛完成版. (執行檔要放到掌握先機安裝目錄下才能執行)(64位元預設安裝目錄"C:\Program Files (x86)\U-TOUTZH", 32位元預設安裝目錄"C:\Program Files\U-TOUTZH")

抓取DDE資料懶人點點點無痛完成版原始碼. (使用VS 2010, win32開發)(解開後整個目錄放到掌握先機安裝目錄下)
DDE產品代號說明.
DDE項目代號表.

    特別說明, 要連線日盛HTS, 除了開啟日盛HTS外還要開啟DDE畫面9911.

    有了資料源, 接下來就是第二步, 策略監控 囉, 知道大家都想看, 請期待下一回揭曉~~

沒有留言:

張貼留言