AutoIt的巨集程式,自動執行登入HTS及執行下單機(可控制在平常非交易日及假日自動關機)



 

建構無人值守之程式交易環境,以下提供一個不用再增加配備,運用AutoIt就可達到所要的環境...
下面是AutoIt的巨集程式,只要編釋成exe檔放在程式集的啟動區內,可配合BIOS自動開機,開機後自動登入HTS及下單機,程式內也加進判斷在平常非交易日(如228休假)及假日,將電腦馬上再關機,節省電源,也可設定如遇星期六補上班要正常啟動HTS及下單機之機制


程式注意事項:
1.每行程式都有注解,依自己電腦狀況自行調整
2.程式中有很多等候時間,因每台電腦開機時Loading之常駐程式多寡不一,可自行調整或刪除
3.程式內路徑及密碼記得調整
4.記得如步驟二自己建立RunDate.ini檔,以供判斷
5.BIOS開機時間請設定早上8點至9點間
6.平常日超過下午兩點再開機,程式不會有動作,僅單純開機而已
7.假日超過早上9點再開機,程式不會有動作,僅單純開機而已


步驟一:AutoIt程式碼如下:


$var = IniRead("C:\xxxxxx\Rundate.ini", "RunDate", "Date", "NotFound") ;請配合Rundate.ini所在路徑自行修改
$var2 = IniRead("C:\xxxxxx\Rundate.ini", "NotRunDate", "Date", "NotFound") ;請配合Rundate.ini所在路徑自行修改
$sDate = @YEAR & "/" & @MON & "/" & @MDAY


If ((@HOUR < 14 AND @WDAY > 1 AND @WDAY < 7) OR (@WDAY == 7 AND @HOUR < 14 AND $var == $sDate)) AND ($var2 <> $sDate) Then 
 blockinput(1)                ;鎖定鼠標和鍵盤!
 Sleep("20000")                ; 等候20秒
 RUN("C:\JihSun\HTS2\JSCOM.EXE")       ;執行HTS(請自行修改路徑)
 WinWait("Connetor")             ;等待HTS登入畫面
 Sleep("80000")                ; 等候80秒
 WinActivate("Connetor", "")         ;Activate HTS登入畫面
 ControlSetText("", "", "TEdit1", "******" ) ;*是密碼
 Sleep("20000")            ; 等候20秒
 WinActivate("Connetor", "")         ;Activate HTS登入畫面
 Send("{ENTER}")               ;登入 HTS
 Sleep("20000")                ; 等候20秒
 FileChangeDir("C:\xxxxxx")     ; 路徑是下單機路徑(有些下單機可不用設定此項,如不用刪掉本行)
 RUN("C:\xxxxxx\XXXXXXX.exe")      ; 執行下單機 
 blockinput(0)                ;解除鎖定鼠標和鍵盤! 
EndIf


if ((@WDAY = 7 AND $var <> $sDate) OR (@WDAY = 1) OR ($var2 == $sDate)) And (@HOUR >= 8 And @HOUR < 9) then
 Sleep("20000")            ; 等候20秒
 Shutdown (8)            ; 關機 
EndIf




步驟二:自行新建檔名為RunDate.ini之新檔,程式碼如下:
[RunDate]
Date=2008/03/01


[NotRunDate]
Date=2008/02/28



ini檔注意事項:
1.存檔路徑要跟AutoIt程式之路徑配合
2.[RunDate]之日期是設定星期六要補上班之交易日期,格式是yyyy/mm/dd
3.[NotRunDate]之日期是設定平常交易日遇國定假日休市之日期,格式是yyyy/mm/dd


arrow
arrow
    全站熱搜

    獨孤求敗 發表在 痞客邦 留言(3) 人氣()