萬年船 發表於 16-11-8 09:59

IBController每日正常關閉IBG小工具分享

IBController可用來自動化登入TWS / IBGateway (IBG)
當使用的是IBG時,IBController的設計機制只可以在一周的某一天關閉IBG
(使用TWS,則於TWS內部設定每天關閉時間即可,無須使用此工具)
如果想要每天都能正常關閉IBG(如此,每天都是乾淨的IBG),可使用以下自製的小工具



使用方法:
1.編輯StopIBController\StopIBController.bat
2.把TELNET_IP改成自己主機的IP(通常IBG的socket只會綁在外部IP)
3.執行StopIBController\StopIBController.bat即會關閉IBG

註:要安裝Java才能使用


萬年船 發表於 21-8-24 14:29

本帖最後由 萬年船 於 21-8-24 14:44 編輯

今日IB Gateway被強制要求更新版本(連香港主機尚未被強制要求更新版本,但應該也快了)
換版後,變成舊的IB Controller不相容(無法登入)

而網路上,IB Controller也變成了IBC(舊的IB Controller已不再更新,最後版本是2017年的版本)
新的IBC網址是 https://github.com/IbcAlpha/IBC
基本上相同只是換個Fork而已(切開的版本),有點像WinXP換到Windows 2012

不過裡面的設定名稱些有變化,建議重新安裝

在IBC裡面已經內建Stop.bat程式
此內建程式與這裡分享關閉IBG小工具功能一樣
但此內建的Stop.bat與AutoIt配合時會出問題(跳出找不到telnet的錯誤訊息)
所以仍可繼續使用本文提供的小工具來關閉IBG(本文的小工具與AutoIt配合沒問題)

要繼續使用本文提供的小工具,請進行以下調整以配合新版的IBC
編輯IBC的設定檔config.ini,把
#CommandServerPort=7462
改成
CommandServerPort=7462
去除前面的#,讓此行生效
再來是編輯本工具的C:\StopIBController\StopIBController.bat
把TELNET_IP改成127.0.0.1,如下所示(新版IBC的Socket已經綁定0.0.0.0,無需再使用外部IP)
@set TELNET_IP=127.0.0.1






萬年船 發表於 21-8-25 16:25

舊的IBController當重複執行時,會自動忽略第二次執行
但新的IBC則會跳出紅色警告視窗,怪嚇人的(如下所示)



要讓新的IBC像舊的IBController一樣自動忽略重複執行
可手動加入補丁程式區塊,如下

編輯C:\IBC\scripts\DisplayBannerAndLaunch.bat,並把此Patch區塊
      :: **************************************************
      :: Patch Block Begins (Ignore duplicate execution)
      if "%INLINE%" == "1" exit /B
      exit
      :: Patch Block Ends (Ignore duplicate execution)
      :: **************************************************

加到以下此區快的相對位置

:: -----------------------------------------------------------------------------
if defined LOG_FILE (
        if "%REDIRECTERROR%" == "1" (
                echo +
                echo + The diagnostics file mentioned above could not be accessed.
      :: **************************************************
      :: Patch Block Begins (Ignore duplicate execution)
      if "%INLINE%" == "1" exit /B
      exit
      :: Patch Block Ends (Ignore duplicate execution)
      :: **************************************************
        ) else (
:: -----------------------------------------------------------------------------




頁: [1]
查看完整版本: IBController每日正常關閉IBG小工具分享