COCO研究院

 找回密碼
 註冊
搜索
查看: 15553|回復: 21

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

[複製鏈接]
發表於 18-7-2 10:47 | 顯示全部樓層 |閱讀模式
不才的我也寫出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++看的話像這樣
  1. bool RunDdePushExcel(char *ExeName, char *SheetName, char *DataString);
複製代碼

用C#看的話像這樣
  1. 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

C# Test程式碼

C# Test程式碼


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

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

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

x86 Test執行畫面

x86 Test執行畫面


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

x64 Test執行畫面

x64 Test執行畫面


跑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程式執行檔: RunDdePushExcel.zip (302.82 KB, 下載次數: 26, 售價: 200 金錢)

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

所以金錢設多寡應該沒什麼太大意義,我就設個1000當備份吧!
C#的Test專案程式碼: WindowsFormsTest1.zip (62.67 KB, 下載次數: 10, 售價: 1000 金錢)
如果對程式中的 #if x64 有興趣的話,
下載回去看就能懂了


評分

參與人數 1金錢 +5 收起 理由
special + 5 按一個讚

查看全部評分

 樓主| 發表於 18-7-2 10:57 | 顯示全部樓層
harsout 發表於 18-7-2 10:54
MC 太弱 ?

這位用 MC , 年收有 1000w

對阿

難道不是人強 怎會是MC強呢

發表於 18-7-6 09:20 | 顯示全部樓層
谢谢。想学习一下,不过,价格太贵了,能否降一下价格?
 樓主| 發表於 18-7-7 00:27 | 顯示全部樓層
shanggao6 發表於 18-7-6 09:20
谢谢。想学习一下,不过,价格太贵了,能否降一下价格?

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

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

不過都還沒試過,有一些些風險
還是會有點怕怕不要不要的


發表於 18-7-7 22:53 | 顯示全部樓層
ram 發表於 18-7-7 00:27
半價好嗎? 下載後用轉帳方式退一半回去

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

谢谢楼主分享。。。。。。。。。
發表於 18-7-18 09:46 | 顯示全部樓層
最近使用 X基 VBA下單 快市時 Excel 會跳出
Excel 已停止運作  

請問是何原因 之前都不會這樣
連結DDE 入Excel 運算下單
window 7 64 2010 excel
 樓主| 發表於 18-7-19 00:15 | 顯示全部樓層
HH1225 發表於 18-7-18 09:46
最近使用 X基 VBA下單 快市時 Excel 會跳出
Excel 已停止運作  

那是快市時就會嗎?

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

如果是下單時才會發生,猜是下單回應的動作太慢把DDE卡死了吧
發表於 18-7-19 09:36 | 顯示全部樓層
<那是快市時就會嗎?

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

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

下單不會 是Excel 自己中斷的 CPU使用率 不到25%
程式也不到600mb
發表於 18-7-19 13:50 | 顯示全部樓層
HH1225 發表於 18-7-19 09:36
下單不會 是Excel 自己中斷的 CPU使用率 不到25%
程式也不到600mb

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


 樓主| 發表於 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已經滿載了

這個版好像不是要討論這個的阿


發表於 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 不是每次都如此
有時 整日都好好的  正常
但偶而就會跳出  不是系統卡死 真傷腦筋
找不出問題所在  




CPU 使用率 <25%

CPU 使用率 <25%
發表於 18-7-23 16:45 | 顯示全部樓層
ram 發表於 18-7-21 00:21
提到「連結DDE 入Excel 運算下單」

可能要改這樣問

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

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

CPU使用率<25%

CPU使用率<25%
發表於 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 不是每次都如此
有時 整日都好好的  正常
但偶而就會跳出  不是系統卡死 真傷腦筋
找不出問題所在

CPU使用率<25%

CPU使用率<25%
 樓主| 發表於 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開發

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

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

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


發表於 18-7-25 09:33 | 顯示全部樓層
ram 發表於 18-7-25 02:19
我是覺得HH都會提到25%

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

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

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


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

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

謝謝大家給的建議
謝謝

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-22 00:16

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |