分享

期货TB编程:用AUTOIT和TB打造期货全自动交易系统

 dinghj 2017-04-10

期货TB编程:

 

用AUTOIT和TB打造期货全自动交易系统

 

(网摘)

自动登录脚本代码更新,自用代码,已经经过在服务器上实盘使用验证,正常运行中。

 

;注意,一定要把AutoIt脚本文件放在TB安装目录下,与TB执行程序TradeBlazer.exe放同一目录
#Include <date.au3>
Dim $result,$tmp1,$path,$TBloginname,$TBloginpassword
$path=@ScriptDir&"\"
$TBloginname="***"        ;用你的TB登陆账号替换***
$TBloginpassword="***"    ;用你的TB登陆密码替换***
While 1
If        (@HOUR=8 And @MIN>=50 Or @HOUR>8) And @HOUR<=15 Then
        Sleep(500)
  If ProcessExists("TradeBlazer.exe") And WinExists("交易开拓者平台(旗舰版) - ") = 0 Then
        ProcessClose("TradeBlazer.exe")
        ProcessClose("TBDataCenter.exe")
    Sleep(3000)
  EndIf
  If WinExists("交易开拓者平台(旗舰版) - ") = 0 Then
    $result=0
        FileDelete($path&"data\__db.001")
    FileDelete($path&"data\__db.002")
        FileDelete($path&"data\__db.003")
    Run($path&"TradeBlazer.exe",$path)
    WinWaitActive("欢迎登录交易开拓者平台(旗舰版)","",20)
    WinActivate("交易开拓者平台(旗舰版)")
        MouseClick("left", 500, 500, 2)
    ControlFocus("欢迎登录交易开拓者平台(旗舰版)","","Edit1")
    ControlSetText("欢迎登录交易开拓者平台(旗舰版)","","Edit1",$TBloginname)
        MouseClick("left", 500, 500, 2)
    ControlFocus("欢迎登录交易开拓者平台(旗舰版)","","Edit2")
    ControlSetText("欢迎登录交易开拓者平台(旗舰版)","","Edit2",$TBloginpassword)
        MouseClick("left", 500, 500, 2)
    ControlFocus("欢迎登录交易开拓者平台(旗舰版)","","Button1")
        Sleep(5)
    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
    WinActivate("交易开拓者平台(旗舰版) - ")
    Sleep(2000)
    $result=WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","交易(&T)","交易帐户登录")
        WinWaitActive("帐户登录","",20)
    WinActivate("帐户登录")
        ControlFocus("帐户登录","","Button1")
        Sleep(3000)
    ControlClick("帐户登录","","Button1")
    Sleep(5000)
        WinActivate("交易开拓者平台(旗舰版) - ")
        $result=WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","文件(&F)", "启动所有自动交易")
    Sleep(2000)
    If $result=0 Then
        WinActivate("交易开拓者")
                Sleep(1000)
        WinClose("交易开拓者")
        Sleep(2000)
    EndIf
  EndIf

ElseIf WinExists("交易开拓者") And @HOUR>=16 Then ;非交易时间关闭TB
            WinActivate("交易开拓者平台(旗舰版) - ")
                Sleep(500)
                MouseClick("left", 500, 500, 2)
                WinMenuSelectItem("交易开拓者平台(旗舰版) - ","","文件(&F)", "退出")
                MouseClick("left", 500, 500, 2)
                ControlClick("确认","","Button1")
        Sleep(5000)
EndIf
WEnd

 

****

一、AUTOITTB简介

AutoIt 可以做的事:



  • 运行 Windows DOS 下的可执行文件

  • 模拟键击动作(支持大多数的键盘布局)

  • 模拟鼠标移动和点击动作。

  • 对窗口进行移动、调整大小和其它操作。

  • 直接与窗口的控件交互(设置/获取
    文字、移动、关闭,等等)

  • 配合剪贴板进行剪切/粘贴文本操作

  • 对注册表进行操作
AUTOIT下载地址http://www./autoit3/files/archive/autoit/autoit-v3.3.0.0-setup.exe
AUTOIT在线中文帮助文档http://www./autoit/
TB:指交易开拓者超强版,详见TB网站论坛http://www./forum/index.php
二、电脑系统设置
用做自动交易的电脑系统必须设置成自动登录,否则无法实现无人值守自动交易,电脑系统自动登陆方面请自己到网上搜索,不管是WIN XPWIN2003都可以
(假设系统是设置成Administrator用户自动登录,后面设置自动启动交易时会用到自动登录用户Administrator的文件夹,见五)
三、TB准备工作
1、安装TB ,登陆TB
2TB系统设置,打开“系统设置”,在“常规”页选中“打开最后保存的工作室(所有工作区)”;
TB系统设置.jpg 

在“交易”页中将“默认显示交易师普通单确认页面”“默认显示交易师触发单确认页面” “默认显示预埋单之一键下单确认页面”“默认显示成交回报页面”四项前面的勾(√)去掉;然后点击“确定”
TB系统设置2.jpg 



(以上设置目的是实现下次登录TB时自动打开交易图表)

 

 2TB交易帐户设置
打开“交易帐户”选择好自动交易的账号,填写密码,在“保存密码”和“自动登录”处打勾,然后点击“登录”(设置目的是实行下次登录TB时自动登录交易帐户)
TB交易账户.jpg

3、自动交易指令设置
建立需要交易的期货合约图表,插入交易指令,打开“交易指令设置”窗口
点击“启动自动策略交易系统”在弹出窗口中点击“同意”
选择交易帐户,并点击选中“下单不需要用户确认”,然后点击“确定”
TB交易指令设置.jpg

 4、点击菜单“文件”“保存所有工作区”,关闭TB
到此,TB设置完成,上面的设置是TB的常用设置,对TB熟悉的朋友来说是比较简单的

四、AUTOIT脚本设置
AUTOIT下载地址http://www./autoit3/downloads.shtml
AUTOIT在线中文帮助文档http://www./autoit/
1、
下载、安装AutoIt Full Installation
2、
D盘根目录下建立AUTORUNTB文件夹(用于存放AUTOIT脚本文件,不一定放在D:\AUTORUNTB文件夹,你也可以存放在其它文件夹内,这里只为方便表述举例而已)
3、
D:\AUTORUNTB文件夹内,按鼠标右键,点击“新建”-AutoIt v3 Script”,输入文件名字为AUTORUNTB,文件默认为au3后缀
4、
右击刚才新建的AUTORUNTB.au3,点击“Edit Script”,打开脚本编辑窗口,将以下代码复制到脚本编辑窗口,在代码中注明“用你的TB登陆账号(密码)替换***”处替换成你的TB登录账号和密码,然后保存,按键盘F7键将脚本编译成EXE可执行文件

 5、
打开D:\AUTORUNTB文件夹,你看到有一个文件名为AUTORUNTB.exe的可执行文件,这就是我们需要的

五、将AUTORUNTB.exe设置为电脑开机自动登录后自动运行
打开“我的电脑” 本地磁盘(C:)”Documents and SettingsAdministrator“「开始」菜单” 程序”“启动”(即打开C:\Documents and Settings\Administrator\「开始」菜单\程序\启动文件夹)
在空白处按鼠标右键,点击“新建”“快捷方式”,在创建快捷方式窗口中填入AUTORUNTB.exe的完整路径和文件名,本例中是D:\AUTORUNTBAUTORUNTB.exe,点击“下一步”“完成”

至此,所有设置完毕,重新开机启动即可实现无人值守全自动交易
(如果是使用ADSL拨号上网的话,可以将电脑设置成开机自动拨号,具体设置请自己上网查)

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多