以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  程序化交易实盘俱乐部  (http://weistock.com/bbs/list.asp?boardid=9)
----  实盘无人值守工作站(2)  (http://weistock.com/bbs/dispbbs.asp?boardid=9&id=10396)

--  作者:wsanle
--  发布时间:2012/3/3 20:19:02
--  实盘无人值守工作站(2)

源码(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,可以在对金字塔系统设置后,直接运行即可。


--  作者:wgh1256
--  发布时间:2012/3/4 14:47:36
--  
 AutoIt 官方下载地址:http://www.autoitscript.com/site/autoit/downloads/
中文论坛:http://www.autoitx.com/
--  作者:rogerhylt
--  发布时间:2012/3/5 15:53:28
--  

    太好了 劳烦版主再写个针对图表程序化交易的autoit代码 这样就圆满了。

难点是打开  交易-图标程序化交易-启动交易 再出现“启动----图表程序化交易吗---"点击 是

 

这一项。

    打开后台程式化交易的’本地预警交易‘窗口 是

Send("!oas") ;

Sleep(2000)

   那么打开图表程序化交易是 send 什么呢?

 对autoit一无所知 希望版主补充一下

 

谢谢

[此贴子已经被作者于2012-3-5 15:54:16编辑过]

--  作者:guotx2010
--  发布时间:2012/3/5 21:45:01
--  

收下了,以后可能会用到。


--  作者:wsanle
--  发布时间:2012/3/10 19:59:56
--  
Send("!oas") 表示打开已经激活的金字塔系统界面的菜单,即表示按下Alt键不放,再按O+A+S,你自己试一试,就知道很简单!
--  作者:疾风游侠
--  发布时间:2012/4/25 2:45:15
--  
牛!