以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  程序化交易实盘俱乐部  (http://222.73.7.161/bbs/list.asp?boardid=9)
----  我的方法实现实盘全自动无人值守,每日实现软件重启。  (http://222.73.7.161/bbs/dispbbs.asp?boardid=9&id=64344)

--  作者:Change_1206_
--  发布时间:2014/4/24 14:33:36
--  我的方法实现实盘全自动无人值守,每日实现软件重启。

看了论坛里面很多塔友提供的自动化实现方式,这里我也把我的在这里向大家全部展示出来。

 

先说下为什么要这么做吧,之前我也是每日手动开启软件,后来因为公司采用机房的模式,所有程序都必须要放到机房里,机房进去时很麻烦的,然而金字塔无法进行长时间运作,大概一个星期以上,就无法正常运作了。官方建议是每日重启一次。所以基于此做了这个东西。

 

我这个也是仿照论坛中一位塔友做出来的。不过我将部分进行了分割,方便后面的人进行修改,而且将程序进行了最大的优化,也是为了方便修改。

 

准备工作:autoit,一个幸福小助手就够了。

 

第一步写程序:

1.1 首先设置好一些金字塔本身就可以完成的自动部分,保存登陆账号和密码,选择10秒自动登陆,登陆隐藏,行情服务器设置好自动连接,连接后自动隐藏,软件升级关闭掉。这里大家用的时候只要修改一下你的金字塔保存路径就可以了。在工具启动中,选择好要进行交易的图标框架。

 

;打开保存在固定目录下的金字塔exe文件
Run("D:\\SOFTER\\新晟傻傻\\新晟一.exe")
;交易账号和密码已经保存好了,这是我们需要登录交易系统

WinWaitActive("欢迎使用金字塔决策交易系统","",20)

ControlFocus("欢迎使用金字塔","","Button1")

ControlClick("欢迎使用金字塔","","Button1")                         ;点击‘登录’按钮

Sleep(6000)

 WinActivate("金字塔")

     ControlFocus("金字塔","您的使用","Button1")

     ControlClick("金字塔","您的使用","Button1")

;强制退出,导致第二次开启金字塔时会出现的异常登录

     WinActivate("异常恢复")

     ControlFocus("异常恢复","系统检测","Button2")

     ControlClick("异常恢复","系统检测","Button2")

Sleep(2000)

;处理登录热键被占用问题
  if WinWaitActive("金字塔","VBA停止",20) = 1 Then
     
   ControlFocus("金字塔","","Button1")

      ControlClick("金字塔","","Button1")
  
Endif
Sleep(2000)

;专业版用户登录,后台一般都会出现,VIP用户提示,这个时候需要处理掉
 If WinExists("提示") Then

       WinActivate("提示")

      ControlFocus("提示","VIP","Button1")

      ControlClick("提示","VIP","Button1")

  EndIf 
sleep(1000)

 

1.2 登陆成功了,开启程序化交易

 

WinActivate("金字塔决策交易系统 - [100000760] - [组合]")
sleep(1000)
Send("!OB")
sleep(1000)

WinActivate("图表程式化交易 - 组合 - 已停止")
ControlFocus("图表程式化交易 - 组合 - 已停止","","Button3")
ControlClick("图表程式化交易 - 组合 - 已停止","","Button3")
sleep(1000)

WinActivate("金字塔")
ControlFocus("金字塔","为防止重复下单","Button2")
ControlClick("金字塔","为防止重复下单","Button2")
Sleep(1000)

WinActivate("金字塔")
ControlFocus("金字塔","ENTERLONG","Button1")
ControlClick("金字塔","ENTERLONG","Button1")
sleep(1000)

 

1.3、交易结束了,这时候我们需要关闭金字塔,退出。新建图标框架保存名字是:组合。大家根据自己取名字进行修改。

 

 WinActivate("金字塔决策交易系统 - [100000760] - [组合]")
 
 WinClose("金字塔决策交易系统 - [100000760] - [组合]")
 
 ControlFocus("金字塔","是否退出","Button1")

 ControlClick("金字塔","是否退出","Button1")  
 
 sleep(1000)

  WinActivate("金字塔")

  ControlFocus("金字塔","框架中的","Button1")

  ControlClick("金字塔","框架中的","Button1")

 

1.4、由于是无人登陆,我们登陆时候无法对K线个数进行限制,所以我们设置金字塔默认保存K线数500根,退出软件之后自动删除数据,第二天登陆之后他会默认恢复500根K线数据,以此保证交易速度。

 

DirRemove("D:\\SOFTER\\新晟傻傻\\Data",1) 

 

以上1.1、1.2、1.3、1.4大家可以线尝试性的使用一遍,正常之后,生成exe可执行文件,挂到幸福小助手上面,1.1、1.2这两个可执行文件时间间隔最好超过3分钟,因为每个exe运行之后会自动关闭,但是时间长短并不确定,所以如果第一个运行还没有自动关闭,第二个接着运行就会出现问题,时间设置长一点,保证前一个正常关闭,否则可能会出现问题。

以上便是我实现自动化无人值守的方式方法。希望能够帮助大家。

 

同时金字塔最新推出的版本,已经支持手机监控,这时候再把手机监控安装上,就再也不用担心出了问题自己却不知道了。从而避免了风险。



--  作者:老贾
--  发布时间:2014/4/25 13:45:18
--  
这么无私奉献的精神竟然无人顶, 我来顶一下楼主。
--  作者:千一编写程序
--  发布时间:2014/4/25 14:46:10
--  
顶一下楼主
--  作者:清江水
--  发布时间:2014/4/25 19:20:16
--  
无私奉献,顶楼主!
--  作者:清江水
--  发布时间:2014/4/25 19:20:52
--  
无私奉献,顶楼主!
--  作者:fsrobin
--  发布时间:2014/4/29 22:56:15
--  
顶楼主!
--  作者:celuezuhe
--  发布时间:2014/5/8 9:57:52
--  
必须顶起啊
--  作者:Change_1206_
--  发布时间:2014/5/12 15:10:33
--  
塔友们大家好,我这里运作至今今天报出了第一个bug,就是在交易完成之后要关闭金字塔,今天金字塔没有成功退出,解决方法很简单,把关闭金字塔exe文件重复执行一次,就可以顺利解决了。
--  作者:jackie123
--  发布时间:2014/5/24 12:31:31
--  
这个怎么生成EXE啊
--  作者:hd006
--  发布时间:2014/6/15 11:30:17
--  

顶!强悍! 虽然还是搞不懂