以文本方式查看主题

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

--  作者:huangwenj197
--  发布时间:2014/4/7 22:32:48
--  无人值守中--------send问题

各位前辈们:下面的程序是我在论坛里照葫芦画瓢做出来的;蓝字是我为防止开启程序是,出现的网页,加入的部分;

 

这程序(if00)放在远程服务器上运行,如果登录,屏幕开的情况下运行很好,进入到程序化交易界面。

 

但是,把程序设置成任务计划时,就是不登录服务器时,自动运行到红字部分就停止了,我试验了很多次,都不行;

 

send发送的按键在屏幕关闭时,好像无效;请前辈们指点,帮助解决此问题。

 

#Include <Date.au3>

Dim $path

$path="D:\\Weisoft Stock\\" ;金字塔系统安装路径。

While 1

Select

Case ProcessExists("IEXPLORE.EXE");删除出现干扰的网页。

ProcessClose("IEXPLORE.EXE")

EndSelect

If WinExists("金字塔决策交易系统")=0 And ProcessExists("WinStock.exe") Then

ProcessClose("WinStock.exe ")

Sleep(2000)

EndIf

If WinExists("金字塔决策交易系统")=0 And ((@HOUR=11 And @MIN>=01) Or @HOUR>=12 And @HOUR<16) Then ;交易时间开启系统

Run($path&"WinStock.exe ",$path) ;启动金字塔系统

WinWaitActive("欢迎使用金字塔","",20) ;激活用户名或账号

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

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

Sleep(35000)

If WinExists("异常恢复") Then ;如果出现异常关机,再次开机时恢复。

WinActivate("异常恢复")

sleep(20000)

ControlFocus("异常恢复","","Button2")

ControlClick("异常恢复","","Button2")

EndIf

Sleep(10000)

Select

Case ProcessExists("IEXPLORE.EXE")

ProcessClose("IEXPLORE.EXE")

EndSelect

Sleep(2000)

WinWaitActive("金字塔决策交易系统","",20) ;激活\'金字塔决策交易系统\'主窗口

Send("+z")

WinWaitActive("图表程式化交易","",30)

ControlFocus("图表程式化交易","启动交易","Button3")

ControlClick("图表程式化交易","启动交易","Button3")

WinWaitActive("金字塔","启动当前框架",30)

Send("!y")

EndIf

Sleep(5000)

If WinExists("金字塔决策交易系统")=1 And @HOUR>=18 And @HOUR=18 And @MIN<=10 Then

WinActivate("图表程式化交易")

ControlFocus("图表程式化交易","停止交易","Button3")

ControlClick("图表程式化交易","停止交易","Button3")

WinActivate("金字塔决策交易系统")

Send("!fx") ;退出金字塔系统

Sleep(1000)

WinWaitActive("金字塔","是否",10)

Send("!y") ;确认退出

EndIf

Sleep(1000)

wend


--  作者:AI无敌
--  发布时间:2014/4/8 8:52:04
--  
 这个是远程桌面的问题,你用远程服务器就不能用远程桌面遥控,改用其他的远程遥控软件就OK了
--  作者:AI无敌
--  发布时间:2014/4/8 8:59:54
--  
 由于Window允许多个桌面独立运行不同的界面,你用远程桌面登录被认为是一个新的用户,在远程桌面登录以后的所有界面操作都默认显示在远程桌面所在的界面上,当你关闭远程桌面以后,Windows系统就认为你退出界面,此时用AutoIt的所有界面操作都会失效(但是对关闭任务等进程操作有效),解决方案是改用其他不用远程桌面的远程遥控软件来登录Windows进行操作就OK了。
另外计划任务一定要设置成登录后才操作,否则只能在后台运行没有界面显示的。

--  作者:huangwenj197
--  发布时间:2014/4/8 11:36:18
--  

谢谢老师指导,非常的感谢,这个问题困扰我很久了;


--  作者:huangwenj197
--  发布时间:2014/4/8 16:02:56
--  

无敌老师:我按你所说的,下载teamviewer远程控制,在这界面上,也遇到同样问题;

 

请老师说详细点:如采用什么远程软件


--  作者:yanxc
--  发布时间:2014/4/8 16:19:09
--  

你既然已经采用远程服务器,为什么还需要每天登陆与退出金字塔?

 

每周人工上去检查重启一次就行了。


--  作者:huangwenj197
--  发布时间:2014/4/8 16:37:07
--  

我是在远程服务器上,每天开盘前自动开启,收盘关闭的,

 

如果不关金字塔软件,容易死机


--  作者:yanxc
--  发布时间:2014/4/8 16:58:42
--  
以下是引用huangwenj197在2014/4/8 16:37:07的发言:

我是在远程服务器上,每天开盘前自动开启,收盘关闭的,

 

如果不关金字塔软件,容易死机


死机的原因是资金帐户未退出。


你设置每天开盘前登陆帐户,收盘退出帐户就行了。

我们有的服务器一个月都未重启过金字塔。

[此贴子已经被作者于2014/4/8 16:59:11编辑过]

--  作者:huangwenj197
--  发布时间:2014/4/8 17:17:57
--  
好的,多谢
--  作者:AI无敌
--  发布时间:2014/4/8 21:31:22
--  
以下是引用huangwenj197在2014/4/8 16:02:56的发言:

无敌老师:我按你所说的,下载teamviewer远程控制,在这界面上,也遇到同样问题;

 

请老师说详细点:如采用什么远程软件

我用VNC远程控制,这个比较好用,好像teamviewer也是远程桌面原理实现的,不行,用VNC可以
[此贴子已经被作者于2014/4/8 21:32:32编辑过]