设为首页收藏本站

 找回密码
 注册
楼主: hyjok
打印 上一主题 下一主题

(2015更新)用AUTOIT和TB打造国内期货无人值守全自动交易系统 [复制链接]

Rank: 5Rank: 5

精华
0
UID
26187
积分
863
帖子
173
主题
61
阅读权限
60
注册时间
2011-2-19
最后登录
2022-7-6
271#
发表于 2014-4-26 11:21:46 |只看该作者
win7下测试,好像16点后没发自动关闭TB

使用道具 举报

Rank: 1

精华
0
UID
194473
积分
15
帖子
12
主题
3
阅读权限
10
注册时间
2014-9-27
最后登录
2015-4-23
272#
发表于 2014-10-13 14:14:55 |只看该作者
谢谢楼主的无私奉献!!!!

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
29937
积分
171
帖子
105
主题
23
阅读权限
40
注册时间
2011-3-22
最后登录
2017-4-18
273#
发表于 2014-11-29 16:12:50 |只看该作者
很好的代码,前面有个朋友说加入重启功能的代码有点问题,命令名称错了,而且autoit根本不执行,我尝试了下,在第9行代码后加入,即可
        If (@HOUR=8 And @MIN=40) then
        Shutdown(2);               
        EndIf

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
129699
积分
136
帖子
75
主题
23
阅读权限
40
注册时间
2011-1-1
最后登录
2022-2-4
274#
发表于 2014-12-4 16:36:00 来自手机 |只看该作者
本帖最后由 duanmuyufei 于 2014-12-4 16:37 编辑

更新最新的v5后不能自动填写密码登录,谁知道是怎么回事?怎么解决?

使用道具 举报

Rank: 1

精华
0
UID
198309
积分
9
帖子
8
主题
1
阅读权限
10
注册时间
2014-12-4
最后登录
2015-1-14
275#
发表于 2014-12-4 16:58:42 |只看该作者
duanmuyufei 发表于 2014-12-4 16:36
更新最新的v5后不能自动填写密码登录,谁知道是怎么回事?怎么解决?

v5登录界面变成无标题窗口了,au不好控制了。可以考虑模拟鼠标点击(函数:MouseClick)和键盘输入(函数:Send)试试。。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
129699
积分
136
帖子
75
主题
23
阅读权限
40
注册时间
2011-1-1
最后登录
2022-2-4
276#
发表于 2014-12-4 21:41:01 来自手机 |只看该作者
tb20141204 发表于 2014-12-4 16:58
v5登录界面变成无标题窗口了,au不好控制了。可以考虑模拟鼠标点击(函数:MouseClick)和键盘输入(函数 ...

嗯,这样会没有以前稳定,看来只能这样了

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
129699
积分
136
帖子
75
主题
23
阅读权限
40
注册时间
2011-1-1
最后登录
2022-2-4
277#
发表于 2014-12-18 09:29:03 |只看该作者
本帖最后由 duanmuyufei 于 2014-12-18 09:36 编辑

在搂主代码的基础上改了一下,希望适用于TBV5,但奇怪的是,放到在云服务器上话,不登陆远程桌面就一直停留在登陆框,用电脑或手机远程桌面连接云服务器上后马上正常登陆,下面是代码,请高手找找原因.
代码调整:
1.增加了夜盘自动启动和关闭功能;
2.增加了自动启动监控器功能;
2.登陆时从控制焦点改成了鼠标点击\输入密码\回车
出问题的就是第三项(代码中红色的部分),请高手指点.

;注意,一定要把AutoIt脚本文件放在TB安装目录下,与TB执行程序TradeBlazer.exe放同一目录
#Include <date.au3>
Dim $result,$tmp1,$path,$TBloginname,$TBloginpassword
$path="C:\Program Files\TradeBlazerV4\"
$TBloginname=""        ;用你的TB登陆账号替换***
$TBloginpassword=""    ;用你的TB登陆密码替换***
While 1
        $strNowDate = _NowCalcDate()
        $bIsHoliday = StringInStr("2014/1/1 2014/1/31 2014/2/3 2014/2/4 2014/2/5 2014/2/6 2014/4/7 2014/5/1 2014/5/2 2014/6/2 2014/9/8 2014/10/1 2014/10/2 2014/10/3 2013/10/6 2014/10/7 " , $strNowDate)
If      ( ( (@HOUR=8 And @MIN>=50 Or @HOUR>8) And @HOUR<16 And @WDAY>1 And @WDAY<7 ) or ( ((@HOUR=20 And @MIN>=50 Or @HOUR>20) And @WDAY>1 And @WDAY<7)  or (( @hour<3 and  @min<=30)and @WDAY>2 And @WDAY<7) )or (  @hour<3 and  @min<=30 And @WDAY=7))   And $bIsHoliday = 0 Then
        Sleep(5000)
  If ProcessExists("TradeBlazer.exe") And WinExists("交易开拓者平台(旗舰版) - ") = 0 Then
        ProcessClose("TradeBlazer.exe")
        ProcessClose("TBDataCenter.exe")
    Sleep(3000)
  EndIf
  If WinExists("交易开拓者平台(旗舰版) - ") = 0 Then
    $result=0
    Run($path&"TradeBlazer.exe",$path)
    WinWaitActive("欢迎登录交易开拓者平台(旗舰版)","",10)
    WinActivate("交易开拓者平台(旗舰版)")
       MouseClick("left",700, 450, 2)
                send($TBloginpassword)
                send("{ENTER}")

        ControlFocus("欢迎登录交易开拓者平台(旗舰版)","","Button5")
        Sleep(15)
    ControlClick("欢迎登录交易开拓者平台(旗舰版)","","Button5")
        Sleep(15)
    ControlFocus("欢迎登录交易开拓者平台(旗舰版)","","Button1")
        Sleep(15)
    ControlClick("欢迎登录交易开拓者平台(旗舰版)","","Button1")
        Sleep(1000)
        If WinExists("欢迎登录交易开拓者平台(旗舰版)","用户密码错误") Then
                WinClose("欢迎登录交易开拓者")
                $result = -1
        EndIf
    If $result = -1 Then
                MsgBox(4096, "登录错误提示", "TB登录密码错误", 10)
                ContinueLoop
        EndIf
    WinWaitActive("交易开拓者平台(旗舰版) - ","",30)
    Sleep(5000)
    WinActivate("交易开拓者平台(旗舰版) - ")
    If WinExists("系统消息") Then
        WinActivate("系统消息")
                Sleep(1000)
        WinClose("系统消息")
        Sleep(1000)
    EndIf

    Sleep(5000)
        WinActivate("交易开拓者平台(旗舰版) - ")
        $result=WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","文件(&F)", "启动所有自动交易")
                $result=WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","交易(&T)", "监控器")

    Sleep(2000)
      If $result=0 Then
        WinActivate("交易开拓者")
                Sleep(1000)
        WinClose("交易开拓者")
        Sleep(2000)

         EndIf


EndIf

   ElseIf WinExists("交易开拓者") And (@HOUR>=16 and @hour<21 and @min<50)or(@HOUR>=3 and (@hour<9 and @min<50) ) then ;非交易时间关闭TB
          WinActivate("交易开拓者平台(旗舰版) - ")
          Sleep(500)
      MouseClick("left", 500, 500, 2)
          Local $s_unlock="解除保护"
          If WinExists($s_unlock) Then
                 WinActivate($s_unlock)
                 ControlFocus($s_unlock,"","Edit1")
         ControlSetText($s_unlock,"","Edit1",$TBloginpassword)
                 Sleep(10)
                 ControlFocus($s_unlock,"","Button1")
                 ControlClick($s_unlock,"","Button1")
                 Sleep(10)
          EndIf
          WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","文件(&F)", "退出")
          MouseClick("left", 500, 500, 2)
          ControlClick("确认","","Button1")
          Sleep(5000)
   EndIf
   Sleep(5000)
WEnd

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
278#
发表于 2014-12-23 12:11:01 |只看该作者
这个帖子的源码延伸出很多功能哦,乐大是始祖,回上面帖子,V5不需要模拟鼠标点击,一样可以跟V4一样发送到控件的,比如上面例子填写密码可以这样写:ControlSetText("[CLASS:#32770]", "软件帐户:", "Edit2", $TBloginpassword),顺便提一下,V4的Button5是选择电信线路,在V5里面Button5是勾选暂停自动登陆交易账户,如果V5是想要选择电信线路,这里要改一下,还有如V4是Button10重置数据,而V5是Button8重置数据,这些都要更改一下,软件F12锁定解锁的问题,直接发送WinClose("交易开拓者平台(旗舰版)"),然后ControlClick("确认", "您确定要退出交易开拓者", "Button1")就可以解决,不论是锁定状态还是非锁定状态,都能正常退出,如果按原来的用菜单里面的“退出”键,是有可能无法解锁的。


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
129699
积分
136
帖子
75
主题
23
阅读权限
40
注册时间
2011-1-1
最后登录
2022-2-4
279#
发表于 2014-12-25 10:15:19 |只看该作者
superwin 发表于 2014-12-23 12:11
这个帖子的源码延伸出很多功能哦,乐大是始祖,回上面帖子,V5不需要模拟鼠标点击,一样可以跟V4一样发送到 ...

已解决,多谢!还需继续钻研!
都怪自己懒,乐丁的代码用了好几年,也没想着去学autoit!

使用道具 举报

Rank: 1

精华
0
UID
110983
积分
43
帖子
17
主题
6
阅读权限
10
注册时间
2012-6-15
最后登录
2024-5-2
280#
发表于 2014-12-30 21:11:39 |只看该作者
谢谢分享,支持一下!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-4 03:46

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部