2008年10月2日 星期四

兩個DDE來源的設定

在閱讀這篇文章之前,請先看看這篇文章

以Excel當資料源設定MetaServer

那先前提過,利用Excel當作資料源,把資料傳給GS

而Excel的資料來源呢??就是由期貨商提供的DDE報價。

之前的例子,是利用日盛期貨DDE提供報價給Excel。

但是,試想一個情況,若是日盛DDE報價不穩定的時候,會發生麼事情??

假設斷線了,日盛DDE無法提供即時資料。

那麼Excel資料就不會更新,當然GS也不會。

資料沒有更新的情況,可能要下單沒下到(而且該比交易還是獲利的!!)

或是要停損沒停損,讓損失持續況大。後果不堪設想。

所以,比較保險的方法,就是把各期貨商提供的DDE都丟到Excel內

少了一家,還有另一家,穩當多了。

首先,要先有兩個(或以上)DDE資料源,在這用日盛和康合為例子。



如圖,先把這兩個資料源拉到Excel中

日盛:市價在C1 / 總量在 E1

康合:市價在C2 / 總量在 E2

當有兩個市價,兩個總量時,要哪把一個給GS??

先這樣想好了,當初會想接兩個DDE,主要是因為怕斷線,所以找另一個輔助。

假設最初想法是這樣,主要資料由日盛DDE提供,日盛斷線就切換康合。

那我們需要有一個判斷,日盛DDE什麼時候斷線??

斷線的時候,所有資料都抓不到,沒有更新。

價格不會跳動,成交量也不會增加。

現在假設

日盛斷線了,所以資料都不會更新。

但是康合沒斷線,價格一直在變,成交量也一直增加!!!

若是康合的成交量大於日盛的成交量到某一程度後,

是不是可以想成,日盛斷線了,所以成交量的資料沒有更新??

這時候就改用康合的即時資料。

所以 Excel DDE Server 上需要做下圖設定。



在上圖中,我在Excel的C3上,插入一個函數。

IF(E2>E1+50,C2,C1)

意思是,只要 E2那一格的值 大於 E1那一格的值+50

C3這一格就秀出C2的值,否則就秀出C1的值

也就是說,康合的量(E2)大於日盛的量(E1)+50

判斷日盛斷線,市價改用康合(C2)

不然,表示日盛沒斷線,就一直用日盛的市價(C1)



而在E3這一格,也跟C3一樣。

只要康合量超過日盛量+50,就改成康合,否則一直用日盛。

這方法是,Mr.Cheng教的,在這邊感謝他。

至於50這個值怎麼來,就自由設定了。

這樣,只要把C3,E3的值設定到MetaServer就可以了。
HEMiDEMi Technorati Del.icio.us MyShare?犖?貊惜 Yahoo