ram 發表於 18-7-2 10:47

無需outputfile,DDE可以很簡單,EXCEL更強大

不才的我也寫出DLL來了!

一直看nes大的DdePushExcel又看到MC那邊提到的outputfile

無疑的,EXCEL絕對是一個超好用的工具

如果像nes大說的不用outputfile而可以push to EXCEL

那麼EXCEL要後續生出檔案或是做任何其他事情,可想而知

使用VBA要比PowerLanguage強太多了

研究了好幾天,終於可以上來臭屁一下,看看能不能也撈點論壇金錢

DLL有分x86和x64兩個版,是任何開發工具都可以順利調用的API

x86平台的就用 RunDdePushExcel_x32.dll

x64平台的就用 RunDdePushExcel_x64.dll

API只有一個

用C++看的話像這樣
bool RunDdePushExcel(char *ExeName, char *SheetName, char *DataString);
用C#看的話像這樣
bool RunDdePushExcel(string ExeName, string SheetName, string DataString);
舊的MC不能用string可以改lpstr來使用就可以了

ExeName 就是 nes大的 DdePushExcel.exe 如果放在特殊位置可以連帶資料夾位置完整指定

SheetName 則是DdePushExcel使用2個參數方式的第一個參數,代表要把資料送到EXCEL哪個工作表

DataString 則是DdePushExcel使用2個參數方式的第二個參數,代表要更新哪些儲存格內容
(請自行參考nes大提供的影片瞭解更詳細)

因為現在C#最常看到,所以就用C#來示範使用DLL


很簡單的測試每50ms一直把時間字串打到EXCEL上更新
(EXCEL要先有程式預定要更新的工作表 Sheet1 )

雖然示範的時間每秒才有更新,不過故意用50ms比較頻繁的呼叫來觀察效能如何

此測試程式也弄成有x86和x64兩種平台
x86執行檔Test程式,透過x86的DLL呼叫執行x86的exe程式


x64執行檔Test程式,透過x64的DLL呼叫執行x86的exe程式


跑DdePushExcel跳出來的console視窗有設計把它給隱藏了

感覺DLL蠻成功的耶!

雖然說x86和x64的DLL是任何開發工具都能使用
不過C#的Test程式則是VS2010上寫的要有.NET4的環境下才能跑

裡面DdePushExcel.exe就是nes大所提供實用的DDE小工具
為了作業環境能一致,x86和x64都各放一個,其實是一樣的
也再次實證x32的執行檔能在x86和x64平台的程式上都能正確呼叫

畢竟像MC這類軟體就算指標再多,公式再多,線圖再多,想要用的總是不足

還不如把MC的一些訊號提供出來給其他系統參考應用還比較有用吧!

MC太弱,一套MC不夠就多跑幾套

最後訊息集中到EXCEL上統籌成為神助攻!!

終於踏出了第一步

API(x86,x64)和Test程式執行檔:

C#的Test專案程式碼其實已經在圖中了
短短沒有幾行,上次的經驗根本沒有人會想下載{:4_665:}

所以金錢設多寡應該沒什麼太大意義,我就設個1000當備份吧!{:4_96:}
C#的Test專案程式碼:
如果對程式中的 #if x64 有興趣的話,
下載回去看就能懂了{:4_89:}


ram 發表於 18-7-2 10:57

harsout 發表於 18-7-2 10:54
MC 太弱 ?

這位用 MC , 年收有 1000w


對阿

難道不是人強{:4_113:} 怎會是MC強呢

shanggao6 發表於 18-7-6 09:20

谢谢。想学习一下,不过,价格太贵了,能否降一下价格?

ram 發表於 18-7-7 00:27

shanggao6 發表於 18-7-6 09:20
谢谢。想学习一下,不过,价格太贵了,能否降一下价格?

半價好嗎? 下載後用轉帳方式退一半回去

是有看到帳號功能那邊有轉帳的項目

不過都還沒試過,有一些些風險
{:4_627:}還是會有點怕怕不要不要的


shanggao6 發表於 18-7-7 22:53

ram 發表於 18-7-7 00:27
半價好嗎? 下載後用轉帳方式退一半回去

是有看到帳號功能那邊有轉帳的項目


谢谢楼主分享。。。。。。。。。

HH1225 發表於 18-7-18 09:46

最近使用 X基 VBA下單 快市時 Excel 會跳出
Excel 已停止運作

請問是何原因 之前都不會這樣
連結DDE 入Excel 運算下單
window 7 64 2010 excel

ram 發表於 18-7-19 00:15

HH1225 發表於 18-7-18 09:46
最近使用 X基 VBA下單 快市時 Excel 會跳出
Excel 已停止運作



那是快市時就會嗎?

還是快市時有下單動作才會呢?

如果是下單時才會發生,猜是下單回應的動作太慢把DDE卡死了吧{:4_174:}

HH1225 發表於 18-7-19 09:36

<那是快市時就會嗎?

還是快市時有下單動作才會呢?

如果是下單時才會發生,猜是下單回應的動作太慢把DDE卡死了吧>

下單不會 是Excel 自己中斷的 CPU使用率 不到25%
程式也不到600mb

manmanlai 發表於 18-7-19 13:50

HH1225 發表於 18-7-19 09:36
下單不會 是Excel 自己中斷的 CPU使用率 不到25%
程式也不到600mb

其實用工作管理員 -> 處理程序
看看單一程式的 cpu 使用率, 你會發現 excel 使用率應該接近 100
這表示 dde 卡死


ram 發表於 18-7-21 00:21

HH1225 發表於 18-7-19 09:36
下單不會 是Excel 自己中斷的 CPU使用率 不到25%
程式也不到600mb

提到「連結DDE 入Excel 運算下單」

可能要改這樣問

都沒有下單的話,只是快市會出錯嗎?

會的話可能是運算處理的效能太差卡死DDE

如果是快市又觸發下單才會的話

很明顯就是下單回應太慢卡死DDE

DDE大部分為了方便都會用同步運作的模式

這種方式只要有慢的動作卡著就很容易卡死

還有若是非同步,DDE資料的堆積也不會算在excel上,

所以excel並不會有明顯的記憶體使用量

i5的CPU是4核4緒,也就是邏輯處理器有4個,

100%除以4就是25%,看到一直25%通常就是有一個處理器已經滿載的狀態

看到excel吃25%,再看win7工作管理員的效能tab 有4個cpu其中一個是滿載

就是負責跑excel的cpu已經滿載了

i7的CPU是4核8緒,也就是邏輯處理器有8個,那麼12.5%就是單一cpu已經滿載了

{:4_161:}這個版好像不是要討論這個的阿


HH1225 發表於 18-7-23 16:43

manmanlai 發表於 18-7-19 13:50
其實用工作管理員 -> 處理程序
看看單一程式的 cpu 使用率, 你會發現 excel 使用率應該接近 100
這表示 d ...

之前用 Eexcel 2000 +XP 用 艾揚的下單系統
用了很多很多年 都沒問題
~~~~
但期貨商不再與艾揚續約後
改成自己的系統
Excel 系統噓升級 才有此困擾

目前使用系統 win7 + CPU i7 +Excel 2010
快市會跳出 Excel 不是每次都如此
有時 整日都好好的正常
但偶而就會跳出不是系統卡死 真傷腦筋
找不出問題所在




HH1225 發表於 18-7-23 16:45

ram 發表於 18-7-21 00:21
提到「連結DDE 入Excel 運算下單」

可能要改這樣問


之前用 Eexcel 2000 +XP 用 艾揚的下單系統
用了很多很多年 都沒問題
~~~~
但期貨商不再與艾揚續約後
改成自己的系統
Excel 系統噓升級 才有此困擾

目前使用系統 win7 + CPU i7 +Excel 2010
快市會跳出 Excel 不是每次都如此
有時 整日都好好的正常
但偶而就會跳出不是系統卡死 真傷腦筋
找不出問題所在

HH1225 發表於 18-7-23 16:47

manmanlai 發表於 18-7-19 13:50
其實用工作管理員 -> 處理程序
看看單一程式的 cpu 使用率, 你會發現 excel 使用率應該接近 100
這表示 d ...

之前用 Eexcel 2000 +XP 用 艾揚的下單系統
用了很多很多年 都沒問題
~~~~
但期貨商不再與艾揚續約後
改成自己的系統
Excel 系統噓升級 才有此困擾

目前使用系統 win7 + CPU i7 +Excel 2010
快市會跳出 Excel 不是每次都如此
有時 整日都好好的正常
但偶而就會跳出不是系統卡死 真傷腦筋
找不出問題所在

ram 發表於 18-7-25 02:19

HH1225 發表於 18-7-23 16:47
之前用 Eexcel 2000 +XP 用 艾揚的下單系統
用了很多很多年 都沒問題
~~~~


我是覺得HH都會提到25%

是不是在有問題發生時曾觀察到CPU使用率達25%

那麼 i7 CPU就代表兩個2個cpu滿百

也就是有問題發生時有2個執行緒把2個cpu吃滿卡住了

而目前使用系統 win7 + CPU i7 +Excel 2010,

所以報價和下單都是建置在EXCEL內,不像以前還有個下單系統是分開的

EXCEL需升級舊的不能用,最大的原因不就是現在券商都只會用.NET開發

因為以為用新的開發工具就能解決問題,實際上無法解決的問題就是無法解決

對新的工具又不是真的有專業有經驗,新設計的東西當然只會比舊的問題更多阿

反正有問題就應該追問產品的出處該如何解決才是


HH1225 發表於 18-7-25 09:33

ram 發表於 18-7-25 02:19
我是覺得HH都會提到25%

是不是在有問題發生時曾觀察到CPU使用率達25%


"那麼 i7 CPU就代表兩個2個cpu滿百

也就是有問題發生時有2個執行緒把2個cpu吃滿卡住了"


可能就是出在這個問題
其實 也是我貪快 希望反應能及時
目前 資料源進來不直接計算
緩衝一個動作問題似乎解決了

兩台電腦同時執行Excel
兩天了 沒再出現問題

謝謝大家給的建議
謝謝

頁: [1] 2
查看完整版本: 無需outputfile,DDE可以很簡單,EXCEL更強大