大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識(shí)>>正文內(nèi)容

共享一個(gè)V5版用AUTOIT監(jiān)控TB是否死機(jī)并自動(dòng)重開.(歡迎糾錯(cuò)) [開拓者 TB]

  • 咨詢內(nèi)容: 本帖最后由 hal5667 于 2015-3-16 13:30 編輯

    首先,寫一個(gè)TB公式,上兩個(gè)超級(jí)圖表,10秒周期的,掛上公式.每10秒寫一個(gè)開盤價(jià)進(jìn)文件里面.需要用兩個(gè)品種,AG和IF,因?yàn)闀r(shí)間跨度不一樣..
    下例寫進(jìn):"D:\\openjiankong.log"


    本來想寫:三次出錯(cuò)發(fā)郵件請(qǐng)求人工處理。但不知道怎么樣寫,歡迎高手補(bǔ)充。我是個(gè)菜鳥,下列代碼都是東拼西湊的,測(cè)試了2天,并模擬死機(jī)了N次,貌似還能用。(3月16修改過)
    Vars
            NumericSeries LastBarTime;

    Begin
       LastBarTime = GetGlobalVar(10);
            If(BarStatus==2 && LastBarTime != Time)
            {
                    LastBarTime = Time;
                                                    FileAppend("D:\\openjiankong.log",Text(open));
                    }
       SetGlobalVar(10,LastBarTime);

    End

    然后下列是我自己編的東東,可能還有些紕漏,歡迎糾正。因?yàn)門B經(jīng)常跳出一些亂七八糟的東西。
    大概思路是:監(jiān)控D:\\openjiankong.log的更新時(shí)間,如果和系統(tǒng)時(shí)間相差如果超過60秒,說明這個(gè)TB有可能死掉了,斷線了。殺進(jìn)程,重啟。


    #Region ;**** 參數(shù)創(chuàng)建于 ACNWrapper_GUI ****
    #PRE_icon=C:\Windows\syswow64\SHELL32.dll|-239
    #PRE_Res_requestedExecutionLevel=None
    #EndRegion ;**** 參數(shù)創(chuàng)建于 ACNWrapper_GUI ****
    ;注意,一定要把AutoIt腳本文件放在TB安裝目錄下,與TB執(zhí)行程序TradeBlazer.exe放同一目錄
    #Include <date.au3>
    #include <File.au3>

    Dim $tbtime,$truetime,$cha,$systime,$mmm
    $path="E:\tbv5019_portable\"&"\" ;用你的TB路徑替換
    $TBloginname="*******"        ;用你的TB登陸賬號(hào)替換***
    $TBloginpassword="*******"    ;用你的TB登陸密碼替換***
    $MAINWINDOWS = "交易開拓者平臺(tái)(旗艦版)"

    While 1>0
            $truetime=@MDAY*1000000+@HOUR*3600+@MIN*60+@SEC
        $systime=@HOUR*10000+@MIN*100+@SEC
       Local $t = FileGetTime("D:\\openjiankong.log", 0)
        $tbtime= $t[2]*1000000+$t[3]*3600+$t[4]*60+$t[5]
            $cha=$truetime-$tbtime
           
            If @HOUR=9 And @MIN=0 And @SEC=0 Then
       $mmm=0
       EndIf;9點(diǎn)錯(cuò)誤次數(shù)清0
       
       
    If( ( @HOUR=9 And @min>0 )or @HOUR=10 Or (@HOUR=13 And @MIN>0) Or @HOUR=14  Or (@HOUR=21 And @min>0)  Or @HOUR=22  Or @HOUR=23  Or  ( @HOUR=11 And @min<29 ))  And @SEC>2 AND  _DateToDayOfWeek(@YEAR, @MON, @MDAY)<>1   AND _DateToDayOfWeek(@YEAR, @MON, @MDAY)<>7   Then
              If WinExists("Microsoft Visual C++ Runtime Library") Then
            WinActivate("Microsoft Visual C++ Runtime Library")
               Sleep(1000)
            WinClose("Microsoft Visual C++ Runtime Library")
            Sleep(1000)
                EndIf
                   
           If WinExists("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序") Then
               WinActivate("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
                    Sleep(1000)
               WinClose("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
               Sleep(1000)
                       EndIf                 

            If WinExists("交易開拓者錯(cuò)誤報(bào)告發(fā)送") Then
            WinActivate("交易開拓者錯(cuò)誤報(bào)告發(fā)送")
                    Sleep(1000)
            WinClose("交易開拓者錯(cuò)誤報(bào)告發(fā)送")
            Sleep(1000)
                EndIf

    If $cha>60 And $mmm<4 Then
                     $mmm=$mmm+1;計(jì)算錯(cuò)誤次數(shù)               
                     $msg="服務(wù)器出現(xiàn)異常"&$mmm&"次!";只重啟3次,多于3次就人工處理。

            _FileCreate("D:\msgpush\income\error\1.log")
                _FileWriteLog("D:\msgpush\income\error\1.log", $msg);我寫了另外的監(jiān)控這個(gè)文件,出錯(cuò)過多就報(bào)警。
                      
             If WinExists("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序") Then
               WinActivate("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
                    Sleep(1000)
               WinClose("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
               Sleep(1000)
                       EndIf          
                      
                              If WinExists($MAINWINDOWS) Then
                                    WinActivate($MAINWINDOWS);切換到主窗口
                                    Sleep(1000)
                                    WinClose($MAINWINDOWS, "")
                                    ControlClick("確認(rèn)","","Button1");將當(dāng)前焦點(diǎn)定位到確認(rèn)鍵
                                    Sleep(1000)
                            EndIf
                                 Sleep(1000)
                 If ProcessExists("TradeBlazer.exe") And WinExists("交易開拓者平臺(tái)(旗艦版) - ") = 0 Then
                ProcessClose("TradeBlazer.exe")
                    ProcessClose("TBDataCenter.exe")
                  EndIf
                   
                    Sleep(2000)
                     If WinExists("Microsoft Visual C++ Runtime Library") Then
            WinActivate("Microsoft Visual C++ Runtime Library")
               Sleep(1000)
            WinClose("Microsoft Visual C++ Runtime Library")
            Sleep(1000)
                EndIf
                   
           If WinExists("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序") Then
               WinActivate("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
                    Sleep(1000)
               WinClose("TBDataCenter Microsoft 基礎(chǔ)類應(yīng)用程序")
               Sleep(1000)
                       EndIf                 

            If WinExists("交易開拓者錯(cuò)誤報(bào)告發(fā)送") Then
            WinActivate("交易開拓者錯(cuò)誤報(bào)告發(fā)送")
                    Sleep(1000)
            WinClose("交易開拓者錯(cuò)誤報(bào)告發(fā)送")
            Sleep(1000)
                EndIf
           
                    ;如果當(dāng)前時(shí)間沒有進(jìn)程,重啟進(jìn)程
              If WinExists("交易開拓者平臺(tái)(旗艦版) - ") = 0 Then
                      
                    If ProcessExists("TradeBlazer.exe") And WinExists("交易開拓者平臺(tái)(旗艦版) - ") = 0 Then
               ProcessClose("TradeBlazer.exe")
               ProcessClose("TBDataCenter.exe")
                        Sleep(1000)
                        EndIf
            If ProcessExists("TBDataCenter.exe") Then
                   ProcessClose("TBDataCenter.exe")
                    Sleep(1000)
                          EndIf
                      
        $result=0   
        Run("E:\tbv5019_portable\TradeBlazer.exe",$path) ;用你的TB路徑替換
        Local $TB_Login_Windows = "[CLASS:#32770]"
        WinActivate($TB_Login_Windows, "")
         ;ControlClick($TB_Login_Windows, "","Button6");TBV5脫機(jī)登陸測(cè)試
           ; MouseClick("left", 500, 500, 2)
       

    ControlClick($TB_Login_Windows, "","Button5");TBV5登陸
            Sleep(2000)

    ControlSetText($TB_Login_Windows, "","Edit1",$TBloginname)
            Sleep(300)

    ControlSetText($TB_Login_Windows, "","Edit2",$TBloginpassword)
            Sleep(300)
                   
                   
    ControlClick($TB_Login_Windows, "","Button1");TBV5登陸

            If WinExists("歡迎登錄交易開拓者平臺(tái)(旗艦版)","用戶密碼錯(cuò)誤") Then
                    WinClose("歡迎登錄交易開拓者")
                    $result = -1
            EndIf
        If $result = -1 Then
                    MsgBox(4096, "登錄錯(cuò)誤提示", "TB登錄密碼錯(cuò)誤", 10)
                    ContinueLoop
            EndIf
        WinWaitActive("交易開拓者平臺(tái)(旗艦版) - ","",30)
        Sleep(5000)
        WinActivate("交易開拓者平臺(tái)(旗艦版) - ")
        If WinExists("系統(tǒng)消息") Then
            WinActivate("系統(tǒng)消息")
                    Sleep(1000)
            WinClose("系統(tǒng)消息")
            Sleep(1000)
        EndIf
         Sleep (10000)
             WinMenuSelectItem("交易開拓者平臺(tái)(旗艦版) - ","","交易(&T)", "交易帳戶登錄");登錄帳戶
             
        ControlFocus("帳戶登錄","","Button1")
              Sleep(1000)
            ControlClick("帳戶登錄","","Button1")
        Sleep(25000) ;等15秒,開始自動(dòng)交易
            WinActivate("交易開拓者平臺(tái)(旗艦版) - ")
          WinMenuSelectItem("交易開拓者平臺(tái)(旗艦版) - ","","文件(&F)", "啟動(dòng)所有自動(dòng)交易")
        Sleep(2000)
          
       EndIf
       EndIf;如果時(shí)間差大于60,并且進(jìn)程存在,殺進(jìn)程
              
                           
            EndIf  

                      Sleep(10)
              WEnd
              
    Sleep(2000)


    注:TB系統(tǒng)設(shè)置-重啟TB后打開最后保存的所有工作區(qū)。

     

  • TB技術(shù)人員: 三次出錯(cuò)發(fā)郵件,可以做一個(gè)變量,初始值為0,出錯(cuò)一次就加1,等于3的時(shí)候,發(fā)郵件,發(fā)完郵件,重置這個(gè)變量為0。

    你那個(gè)代碼中間發(fā)送那么多TAB鍵,只是要選中那個(gè)暫停自動(dòng)登陸嗎,其實(shí)要一直暫停自動(dòng)登陸,在TB的config.env文件里修改就可以了,改成如下圖

    2222.png (9.13 KB, 下載次數(shù): 3) 2015-3-15 10:14:13 上傳 下載次數(shù): 3

    這樣比發(fā)送模擬按鍵還穩(wěn)定得多了。

     

  • TB客服: 這個(gè)帖要頂。

     

  • 網(wǎng)友回復(fù): 本帖最后由 hal5667 于 2015-3-16 13:43 編輯
    superwin 發(fā)表于 2015-3-15 10:16
    三次出錯(cuò)發(fā)郵件,可以做一個(gè)變量,初始值為0,出錯(cuò)一次就加1,等于3的時(shí)候,發(fā)郵件,發(fā)完郵件,重置這個(gè)變 ...


    原來如此。一直都不知道這回事,謝謝解決了我的一大問題。

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  點(diǎn)擊這里給我發(fā)消息進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 青青热在线观看视频精品 | 亚洲成人在线播放视频 | 拍真实国产伦偷精品 | 日本成人一区二区 | 久色tv| 天天舔天天射天天操 | 黄网站www | 五月激激| ab毛片| 久草香蕉视频在线观看 | 欧美日比视频 | 久久综合色播 | 亚洲视频精品在线 | 九色视频极品论坛区 | 国产精品中文字幕在线观看 | 日本一本二本免费播放视频 | 久久99久久99精品免观看麻豆 | 欧美成人爽毛片在线视频 | 精品国产综合区久久久久99 | 亚洲码和乱人伦中文一区 | 日本一区二区中文字幕 | 国产69精品久久久久99尤物 | 四虎影城| 91在线视频在线观看 | 免费精品在线视频 | 农村苗族一级特黄a大片 | 奇米影视777在线播放 | 天天性综合 | 激情欧美一区二区三区中文字幕 | 婷婷啪啪| 99热久久这里只有精品9 | 在线观看欧美视频 | 国产精品视频男人的天堂 | 一级做性色a爱片久久片 | 白云精品视频国产专区 | 亚洲国产女人aaa毛片在线 | 特级毛片在线观看 | 四虎永久在线视频 | 欧美成人aaa大片 | 成人国产精品一级毛片了 | 女人l8毛片a一级毛片 |