Backfilling InteractiveBrokers - very slow

Questions about MultiCharts and user contributed studies.
alex.w
Posts: 5
Joined: 30 Dec 2019

Backfilling InteractiveBrokers - very slow

Postby alex.w » 21 May 2022

Hello,
maybe someone know why backfilling is so slow from InteractiveBrokers TWS to MultiCharts? :shock:
Recentry i tried to connect MotiveWave to IB TWS and backfilled the same instrument: it was very fast!! The same situation is with Quantower: very fast!
So there have to a problem with Multicharts

Salzburg
Posts: 140
Joined: 19 Sep 2018
Has thanked: 9 times
Been thanked: 35 times

Re: Backfilling InteractiveBrokers - very slow

Postby Salzburg » 22 May 2022

Hi Alex,

IB data is and will most likely always be slow to reload due to IB pace violation etc, , try other providers like IQ etc and you will see that its very fast in MC.
Imho, IB data is really horrible to deal with and cant/should not be used for any testing.

wacketywidge
Posts: 22
Joined: 24 Oct 2013
Has thanked: 1 time
Been thanked: 1 time

Re: Backfilling InteractiveBrokers - very slow

Postby wacketywidge » 27 Nov 2022

If IB has hit a pace violation, with IB selected as active screen, hit CTRL-ALT-F on keyboard. It will cause srvers on IB to continue data without the pace violation wait. Kind of a pain, but will work unless you are trying to download huge amounts of data for more than one security.

janus
Posts: 838
Joined: 25 May 2009
Has thanked: 64 times
Been thanked: 105 times

Re: Backfilling InteractiveBrokers - very slow

Postby janus » 28 Nov 2022

If IB has hit a pace violation, with IB selected as active screen, hit CTRL-ALT-F on keyboard. It will cause srvers on IB to continue data without the pace violation wait. Kind of a pain, but will work unless you are trying to download huge amounts of data for more than one security.
I use a Windows tool called Autoit to automate the CTLRL-ALT-F. Script is below:

#include <Constants.au3>

;
; Script Function:
; waits for tws to run, repeatedly sends ctrl+alt+f.
;

; Set the Escape hotkey to terminate the script.
HotKeySet("{ESC}", "_Terminate")

; Prompt the user to run the script - use a Yes/No prompt with the flag parameter set at 4 (see the help file for more details)
Local $iAnswer = MsgBox(BitOR($MB_YESNO, $MB_SYSTEMMODAL), "AutoIt Example (English Only)", "This script will wait for tws and cycle it. Do you want to run it?")

; Check the user's answer to the prompt (see the help file for MsgBox return values)
; If "No" was clicked ($IDNO = 7) then exit the example function
If $iAnswer = $IDNO Then
MsgBox($MB_SYSTEMMODAL, "tws AutoIt", "OK. Bye!")
Return
EndIf
MsgBox($MB_SYSTEMMODAL, "tws AutoIt", "Press OK to continue")

; Initialize a Local variable.
Local $aMgp = 0
; Create an endless loop, 1 will always be 1 therefore True.
While 1
; Assign a Local variable the coords of the cursor (array).
$aMgp = MouseGetPos()

; Display a tooltip near the cursor with its coords.
ToolTip("x: " & $aMgp[0] & ", y: " & $aMgp[1], $aMgp[0] + 10, $aMgp[1] + 10)
_tws_caf()

Sleep(50000)
WEnd

Exit
; Finished!

Func _tws_caf()

; Run Notepad
;Run("notepad.exe")

;Retrieve a list of window handles.
;Local $aList = WinList()
; Loop through the array displaying only visable windows with a title.
;For $i = 1 To $aList[0][0]
; If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
; MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1])
; EndIf
;Next

; Wait for the tws to become active.
WinWaitActive("[REGEXPTITLE:.*Interactive Brokers.*Simulated Trading.*]")
;WinWaitActive("[REGEXPTITLE:.*Notepad*]","")
Sleep(1000)
; Now that the tws window is active type some special characters
Send("^!f")
;Send("{!}{^}{+}{#}")
;Send("{ENTER}")

; Do it the second way (RAW mode, notice the second parameter of Send is 1)
;Send("Second way: ")
;Send("!^+#", 1)
;Send("{ENTER}{ENTER}Finished")
;MsgBox($MB_SYSTEMMODAL, "AutoIt", "done")
EndFunc

Func _Terminate()
MsgBox($MB_SYSTEMMODAL, "tws AutoIt", "terminated")
Exit
EndFunc ;==>_Terminate


Return to “MultiCharts”