COCO研究院

 找回密碼
 註冊
搜索
查看: 5497|回復: 4

[EXCEL] AUTOIT、EXCEL DDE開啟問題

[複製鏈接]
發表於 14-10-26 00:21 | 顯示全部樓層 |閱讀模式
本帖最後由 棒的 於 14-10-26 00:23 編輯

哈囉,各位先進大家好呀!!本人是最近一個月
瘋狂的自學程式交易
發現這裡有好多很利害的人
所以就請各位先進多指教囉!!

想開發一套無人守值現股交易系統
架構大概就是
EXCEL DDE-->出訊號-->AUTOIT下單


但一開始就遇到個不知如何解決的情況
就是電腦自動開機後用AUTOIT腳本如下:

----程式碼start----
  ......
  RUN("C:\BTS\daqBTS.exe")
  WinWait("系統公告")
  WinClose("系統公告")
  WinActivate("臺銀證E點贏")
  WinWait("臺銀證E點贏");等輸入帳密Windows出來
   sleep(30000)
  ControlSetText("","","[CLASS:Edit; INSTANCE:2]","XXXX");密碼
   sleep(1000)
  ControlClick("","","[CLASS:Button; INSTANCE:8]", "left", "1")
  WinWait("臺銀證E點贏 [版本 2.69][已登入] [報價 : 已連線] [主動回報 : 已連線] - [臺銀證E點贏精選]")

  Sleep(2000)
  $oExcel = _Excel_Open()

  ......
----程式碼end----
以上是我測到最穩定的版本,但還是會有失敗的時候
有時停在輸入完密碼就不動、有時excel開出來了但DDE(現價的欄位)未到,......等失敗的情況

也就是說如果券商看盤軟體+EXCEL DDE沒正常開起來,就算出現我想交易的股票出現訊號
交易程式就不會執行,這部份有辦法解決嗎?



發表於 14-10-26 08:36 | 顯示全部樓層
If not ProcessExists("daqKGIAP.exe") Then
   run("D:\KGIAP\daqKGIAP.exe")
   WinWait("凱基全球理財王")
   Sleep(10000)
   WinActivate("凱基全球理財王","")
   ControlSend("凱基全球理財王", "", "Edit5", "密碼")
   Sleep(1000)
   ControlClick("凱基全球理財王", "", "Button15")
EndIf

這是我使用凱基全球理財王程式碼試著改改看
發表於 14-10-26 08:59 | 顯示全部樓層
偶而會遇到明明登入視窗就在那邊但是AutoIt就是找不到
最簡單的方式用ProcessClose之後再重來一次
發表於 14-10-26 12:06 | 顯示全部樓層
可否請問您使用的 AutoIT 是那個版本?
 樓主| 發表於 14-10-26 17:24 | 顯示全部樓層
TO n3538 :感謝您提供的語法,我有試過還是會失敗。
TO zaqimon:請教一下ProcessClose要用什麼樣的條件去觸發?謝謝
TO keymaker :v3.3.12.0

我有加個條件測,目前好像OK了如下:
----程式碼start----
......
if not WinExists("臺銀證E點贏 [版本 2.69][已登入] [報價 : 已連線] [主動回報 : 已連線] - [臺銀證E點贏精選]") then
          ProcessClose("daqBTS.exe")
          sleep("2000")
          run("tai_login.exe")
   EndIf
   WinWait("臺銀證E點贏 [版本 2.69][已登入] [報價 : 已連線] [主動回報 : 已連線] - [臺銀證E點贏精選]")
   sleep("2000")
  ......
----程式碼end----
謝謝大家。
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

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

GMT+8, 24-12-21 22:52

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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