Gump 發表於 09-11-28 11:49

AmiBroker 連接 DDE 與 Delete Quotation 的問題

最近終於讓 AmiBroker 連上了元大越事贏的 DDE 資料源
心想終於可以在盤中收資料啦
結果 11/18 那天快收盤的時候, 元大的資料忽然大漲,
指數由原來的七千多點來到七萬多點
AmiBroker 灌入一大堆垃圾資料
這下子頭痛了, 找了半天發現一個 Delete Quotation 的功能可以刪資料
但是一次刪一個 tick, 刪了半天刪到手軟還沒刪完
真是太辛苦啦
有人知道可以一次刪多一點 tick 以及把 database 整個殺掉的方法{:4_154:}

左想右想這樣讓 AmiBroker 直接連 DDE 而沒有備援及過濾的措施
在實用性上就大打折扣
忽然想到以前在公司的軟體有看過一段 DDE 的程式碼
乾脆抄來改改作一個二合一的 DDE Server
資料源就用 元大+康和 DDE 二合一, 然後作一些小檢查
最後用 DDE Server 的管道送到 AmiBroker
用起來好像還接的通, 只是資料有大量重覆的問題
好像是 DDE 無可避免的問題, 不知道大家有沒有其他的解法

目前只輸出兩個欄位成交價, 單量, DDE 連結分別為
TFSDDE | TFT ! ServPrice
TFSDDE | TFT ! ServVolume

我想不知道有沒有人有興趣測測看
想把作好的東西傳上來
但是 exe 的檔案好像傳不上來啊

黃金鼠 發表於 09-11-28 12:02

回復 1# Gump


exe目前沒開放上傳。
你可以把它壓成zip嗎?

或是另外找空間放,目前這裡設定單檔上傳為2MB,不知道夠不夠用?

綠茶妹 發表於 09-11-28 12:04

七千多點來到七萬多點--->這差太多了吧!

DDE 二合一,那成交量會變成2倍嗎?

綠茶妹 發表於 09-11-28 14:00

回復 5# chhars


    {:4_209:}

假日還要工作,辛苦你了!

Jonathan 發表於 09-11-28 14:58

我對 Source Code (源碼) 比較有興趣 , 如無商業機密的考慮, 源碼可以學到較多的東西 !!

ezbentley 發表於 09-11-28 16:16

回復 5# chhars


劇我所知
AmiBroker不可能同時接收兩個DDE
除非開兩個AmiBroker

ezbentley 發表於 09-11-28 16:19

把Database殺掉很簡單啊
去C:\Program Files\AmiBroker
會有個資料夾是你的資料庫的名字
把資料夾殺掉就好了

ezbentley 發表於 09-11-28 16:22

我了解了
你是用外部的程式結合兩個DDE變成一個
再送到AB
是我會錯意

要避免重複的問題
你可以選擇其中一個DDE當做主要優先的
然後用一些邏輯來判斷他是否出問題
出問題的時候再用第二個備用的DDE
所以平常的時候只用一個

Jonathan 發表於 09-11-28 16:57

回復 10# ezbentley


    同意 !! 我就是採用如此模式 !

Gump 發表於 09-11-28 17:32

回復 10# ezbentley


你說的沒錯, 我就是寫一個程式結合兩個 DDE 來源
作成一個 DDE 給 AmiBroker 使用
在中間作一些資料檢查的動作, 避免垃圾灌到 AmiBroker 裏面
同時兩個 DDE 來源可以自由選擇要不要連接
以便有些人有元大帳號沒有康和帳號或反之

致於 DDE 會掉資料是眾所皆知的問題
但對於他發佈的資料好像是會通知兩次
所以我有參考 kenming大的方法用總量把關試作過濾

Gump 發表於 09-11-28 17:37

我已經把檔案包成 zip 但要發佈時按 附件 出現的對話框裏
的 瀏覽 按鈕好像沒有作用
所以還是沒法上傳啊

Gump 發表於 09-11-28 17:51

回復 2# 黃金鼠


發新帖的時候按附件鈕可以選擇要上傳的檔案, 只是不接受 exe 的檔案
現在原帖竟然不能編輯 (說發帖超過 120 分鐘)
在同一主題下寫回應的附件鈕好像不能動作
裏面的瀏覽完全沒有作用
可能我沒有附件的權限吧

Gump 發表於 09-11-28 17:56

回復 14# chhars

我就是在試作 Universal DDE Server
結合多個 DDE 來源來達到容錯的目的

Gump 發表於 09-11-28 18:00

回復 9# ezbentley


謝謝

不曉的有沒有刪多根 tick 的辦法
就是刪一個時間 Range 的 tick

ezbentley 發表於 09-11-28 18:35

回復 17# Gump


很簡單 去Symbol->Quote Editor
然後去選你要殺掉的tick
用shift-click可以同時選多個
頁: [1] 2
查看完整版本: AmiBroker 連接 DDE 與 Delete Quotation 的問題