源码(2),适合需要对主界面中的全局变量后再启动程式化后台交易的有些编程知识的朋友,自行修改:
#Include <date.au3>
Dim $Loop,$path,$loginname,$loginpassword
$path="D:\Weisoft Stock\" ;金字塔系统安装路径。
$loginname="XXXXXX" ;用你的金字塔登陆用户名替换******
$loginpassword="XXXXXX" ;用你的金字塔登陆密码替换*******
While 1
If WinExists("金字塔决策交易系统")=0 And ProcessExists("WinStock.exe") Then
ProcessClose("WinStock.exe ")
Sleep(3000)
EndIf
If WinExists("金字塔决策交易系统")=0 And (@HOUR>=9 And @HOUR<=15 And @MIN<=20) Then ;交易时间开启系统
Run($path&"WinStock.exe ",$path) ;启动金字塔系统
WinWaitActive("欢迎使用金字塔","",20)
ControlFocus("欢迎使用金字塔","","Edit1")
ControlSetText("欢迎使用金字塔","","Edit1",$loginname) ;自动填入用户名
ControlFocus("欢迎使用金字塔","","Edit2")
ControlSetText("欢迎使用金字塔","","Edit2",$loginpassword) ;自动填入密码
ControlFocus("欢迎使用金字塔","","Button1")
ControlClick("欢迎使用金字塔","","Button1") ;点击‘登录’按钮
Sleep(5000)
If WinExists("异常恢复") Then
WinActivate("异常恢复")
sleep(2000)
ControlFocus("异常恢复","","Button2")
ControlClick("异常恢复","","Button2")
EndIf
WinWaitActive("登录综合交易平台(CTP)","",30) ;激活‘登录综合交易平台(CTP)'界面
ControlFocus("登录综合交易平台(CTP)","","Button5")
ControlClick("登录综合交易平台(CTP)","","Button5") ;点击’登录‘按钮
Sleep(1000)
WinWaitActive("金字塔决策交易系统","",20) ;激活'金字塔决策交易系统'主窗口。
Send("!tde") ;打开设置全局变量窗口,可选。
Sleep(1000)
Send("!c") ;清空全局变量,可选。
Sleep(1000)
Send("!y") ;确认全部删除,可选。
Sleep(1000)
WinWaitActive("全局变量数据管理","",10)
ControlFocus("全局变量数据管理","","Button1")
ControlClick("全局变量数据管理","","Button1") ;点击’确认‘按钮
WinActivate("金字塔决策交易系统") ;激活'金字塔决策交易系统'主窗口
Send("!od") ;关闭'账户栏'窗口,可选。
Sleep(1000)
Send("!op") ;关闭'交易状态'窗口,可选。
Sleep(1000)
Send("!vo") ;关闭'消息窗口'窗口,可选。
Sleep(1000)
Send("!oas") ;打开后台程式化交易的’本地预警交易‘窗口
Sleep(2000)
If WinExists("欢迎使用金字塔后台程式化交易") then
WinActivate("欢迎使用金字塔后台程式化交易")
ControlFocus("欢迎使用金字塔后台程式化交易","","Button1")
ControlClick("欢迎使用金字塔后台程式化交易","","Button1") ;启动程式化交易,点击’继续‘按钮
Sleep(1000)
else
Send("!s") ;如果预警已经是停止状态,再点击一次,才开启。
Sleep(1000)
WinActivate("欢迎使用金字塔后台程式化交易")
ControlFocus("欢迎使用金字塔后台程式化交易","","Button1")
ControlClick("欢迎使用金字塔后台程式化交易","","Button1")
Sleep(1000)
EndIf
WinActivate("本地预警交易")
ControlFocus("本地预警交易","","Button3")
ControlClick("本地预警交易","","Button3") ;关闭’本地预警窗口‘。
Sleep(1000)
EndIf
If WinExists("金字塔决策交易系统")=1 And @HOUR>=15 And @MIN>20 Then ;非交易时间关闭金字塔系统
WinActive("金字塔决策交易系统")
Send("!fx") ;退出金字塔系统
Sleep(1000)
WinWaitActive("金字塔","",10)
ControlFocus("金字塔","","Button1")
ControlClick("金字塔","","Button1") ;确认退出
Sleep(5000)
EndIf
Wend
十、 编译工具AutoIt程序,下载后,解压安装,后打开SCITE编辑器,调入以上代码,自行修改,可以运作一下脚本,确实按预期的结果按设置的时间,自动开启和关闭,再编译成EXE文件即可。如果希望看到在界面上的每个运行每一个步骤打开关闭的真实过程,可以在程序中每条语句后面加入等待时间语句Sleep(2000),表示等待2秒。
十一、 另外提供编译工具AutoIt,和已经编译好的代码1,可以在对金字塔系统设置后,直接运行即可。
太好了 劳烦版主再写个针对图表程序化交易的autoit代码 这样就圆满了。
难点是打开 交易-图标程序化交易-启动交易 再出现“启动----图表程序化交易吗---"点击 是
这一项。
打开后台程式化交易的’本地预警交易‘窗口 是
Send("!oas") ;
Sleep(2000)
那么打开图表程序化交易是 send 什么呢?
对autoit一无所知 希望版主补充一下
谢谢
收下了,以后可能会用到。