在閱讀這篇文章之前,請先看看這篇文章
以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就可以了。