[R-SIG-Finance] ibrokers - callback - example from Jeff Ryan's slides

Stephen Choularton stephen at organicfoodmarkets.com.au
Sat Dec 4 11:07:23 CET 2010


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



More information about the R-SIG-Finance mailing list