[R-SIG-Finance] ibrokers - callback - example from Jeff Ryan's slides
Jeff Ryan
jeff.a.ryan at gmail.com
Sat Dec 4 16:46:46 CET 2010
Note also that you need to upgrade your IBrokers package to the current CRAN release.
Best,
Jeff
Jeffrey Ryan | Founder | jeffrey.ryan at lemnica.com
www.lemnica.com
On Dec 4, 2010, at 4:07 AM, Stephen Choularton <stephen at organicfoodmarkets.com.au> wrote:
> I'm trying to make this work (its based on an example from Jeff Ryan's slides):
>
> library(IBrokers)
>
>
> myCALLBACK <-
> function(twsCon, eWrapper, timestamp, file, playback = 1, ...) {
> twsOC <- twsConnect(2) # our order connection
> ocWrapper <- eWrapper(TRUE)
> traded <- FALSE
> while (TRUE) {
> cons <- socketSelect(list(con, twsOC[[1]]), FALSE, 0.01)
> if(cons[1]) { #data
> curMsg <- readBin(con, character(), 1)
> if (!is.null(timestamp)) {
> processMsg(curMsg, con, eWrapper, format(Sys..time(), timestamp), file, ...)
> } else {
> processMsg(curMsg, con, eWrapper, timestamp, file, ...)
> }
> } else if(cons[2]) {
> curMsg <- readBin(twsOC[[1]], character(), 1)
> if (!is.null(timestamp)) {
> processMsg(curMsg, twsOC[[1]], ocWrapper, format(Sys..time(), timestamp), file, ...)
> } else {
> processMsg(curMsg, twsOC[[1]], ocWrapper, timestamp, file, ...)
> }
> } # TRADE LOGIC HERE
> curBID <- as.numeric(eWrapper$.Data$data[[1]][3])
> if(!traded && !is.na(curBID) && curBID > 141.00) {
>
> print("this is the order line")
> # IBrokers:::.placeOrder(twsOC, twsEquity("CBA","ASX","AUD"), twsOrder(1053, "BUY", "0", "MKT"))
> traded <- TRUE
> }
> }
> }
>
> con = twsConnect(1)
>
>
>
> reqMktData(con, twsEquity("GOOG"), CALLBACK=myCALLBACK)
>
> but I get:
>
> Error in socketSelect(list(con, twsOC[[1]]), FALSE, 0.01) :
> invalid connection
>
> Does anyone know what I am doing wrong? Or does anyone have a working example?
>
> my sessionInfo() is
> R version 2.11.1 (2010-05-31)
> i386-pc-mingw32
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] IBrokers_0.2-9 xts_0.7-5 zoo_1.6-4
>
> loaded via a namespace (and not attached):
> [1] grid_2.11.1 lattice_0.18-8
>
>
>
> --
> Stephen Choularton Ph.D., FIoD
>
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
More information about the R-SIG-Finance
mailing list