[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] AutoIt script to visit each symbol, to e.g. update all data



PureBytes Links

Trading Reference Links

I recently wrote the following script to automate the updating of all my 100 symbols with IB intraday data.  Very handy to avoid that boring daily task.

I'd like to find a way to implement this entirely within AFL if that is possible, probably using the new writable AB.ActiveDocument.Name.

One issue is that AutoIt uses only what is visible via Windows, and there may not be a completely general way to find the symbol tree within Amibroker. 

Another issue is that no amount of delay will guarantee that the data for each symbol has been downloaded.  Within AFL, I can imagine detecting whether the last bar loaded is the most recent one available, but that sounds tricky too. 

daniel.laliberte@xxxxxxxxx

 

; UpdateIBData.au3

; Daniel LaLiberte, 2008

; Visit every symbol in the list, stepping through with Down-arrow.

; If TWS is running and connected, and if you select the option

; in the Database Settings...to request updates on the first visit of each symbol,

; then running this script will have the effect of requesting data updates for all symbols.

; The script stops when the 'next' symbol is the same (which is when it has reached the bottom),

; or when the symbol contains '~'.

; How much time to wait between each symbol, to avoid IB throttling.

$pauseSeconds = 60

; How to find the symbol tree control in Amibroker.

; This may vary each time you restart Amibroker, unless maybe you always open it the same way.

; I would appreciate suggestions for how to do this more reliably.

$symbolTree = "[CLASSNN:SysTreeView322]"

AutoItSetOption("SendKeyDelay", 50)

AutoItSetOption("WinTitleMatchMode", 4)

$title = ''

$lastTitle = ''

Do

  ControlSend( "[CLASS:AmiBrokerMainFrameClass]", "", $symbolTree, "{DOWN}" )

  Sleep(1000 * $pauseSeconds)

  $lastTitle = $title

  $title = WinGetTitle("[CLASS:AmiBrokerMainFrameClass]", "")

Until StringInStr ($title, "~") OR $title == $lastTitle

__._,_.___

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___