<div>See attached file "eWrapper.data.Last.R"</div><div><br></div><div>> source("eWrapper.data.Last.R")</div><div>> reqMktData(tws, twsSTK("SPY"), eventWrapper=eWrapper.data.Last(1),CALLBACK=snapShot)</div>

<div>2 -1 2104 Market data farm connection is OK:cusfuture </div><div>2 -1 2104 Market data farm connection is OK:usfuture </div><div>2 -1 2104 Market data farm connection is OK:eurofarm </div><div>2 -1 2104 Market data farm connection is OK:usopt </div>

<div>2 -1 2104 Market data farm connection is OK:usfarm </div><div>2 -1 2106 HMDS data farm connection is OK:ushmds2a </div><div>    Last LastSize</div><div><div>SPY    1   119.18</div></div><div><br></div><div>Here's a couple of other variations... </div>
<div><br></div><div><a href="https://r-forge.r-project.org/scm/viewvc.php/pkg/twsInstrument/R/eWrapper.data.BID_ASK_OHLCV.R?view=markup&revision=101&root=twsinstrument">https://r-forge.r-project.org/scm/viewvc.php/pkg/twsInstrument/R/eWrapper.data.BID_ASK_OHLCV.R?view=markup&revision=101&root=twsinstrument</a></div>
<div><br></div><div><a href="https://r-forge.r-project.org/scm/viewvc.php/pkg/twsInstrument/R/eWrapper.FXdata.R?view=markup&revision=90&root=twsinstrument">https://r-forge.r-project.org/scm/viewvc.php/pkg/twsInstrument/R/eWrapper.FXdata.R?view=markup&revision=90&root=twsinstrument</a></div>

<div><br></div><div>-Garrett</div><div><br></div><br><div class="gmail_quote">On Wed, Sep 21, 2011 at 11:10 AM, Johnny Paulo <span dir="ltr"><<a href="mailto:johnny.jp.22@gmail.com" target="_blank">johnny.jp.22@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I am using IBrokers to get RT prices thanks to Jeff Ryan's package,<br>
IBrokers.<br>
<br>
In order to deal with stocks having potentially low liquidity, without being<br>
penalized by long turnaround time, I would like to focus on getting the last<br>
price only.<br>
Can someone pls give me some pointers to what I should change in the<br>
traditional code provided by Jeff (see below)?<br>
<br>
Thanks<br>
<br>
Johnny<br>
<br>
reqMktData(tws,<br>
twsEquity(u),eventWrapper=eWrapper.data(1),CALLBACK=snapShot)<br>
<br>
with<br>
snapShot <- function (twsCon, eWrapper, timestamp, file, playback = 1, ...)<br>
{<br>
    if (missing(eWrapper))<br>
        eWrapper <- eWrapper()<br>
    names(eWrapper$.Data$data) <- eWrapper$.Data$symbols<br>
    con <- twsCon[[1]]<br>
    if (inherits(twsCon, "twsPlayback")) {<br>
        sys.time <- NULL<br>
        while (TRUE) {<br>
            if (!is.null(timestamp)) {<br>
                last.time <- sys.time<br>
                sys.time <- as.POSIXct(strptime(paste(readBin(con,<br>
                  character(), 2), collapse = " "), timestamp))<br>
                if (!is.null(last.time)) {<br>
                  Sys.sleep((sys.time - last.time) * playback)<br>
                }<br>
                curMsg <- .Internal(readBin(con, "character",<br>
                  1L, NA_integer_, TRUE, FALSE))<br>
                if (length(curMsg) < 1)<br>
                  next<br>
                processMsg(curMsg, con, eWrapper, format(sys.time,<br>
                  timestamp), file, ...)<br>
            }<br>
            else {<br>
                curMsg <- readBin(con, character(), 1)<br>
                if (length(curMsg) < 1)<br>
                  next<br>
                processMsg(curMsg, con, eWrapper, timestamp,<br>
                  file, ...)<br>
                if (curMsg == .twsIncomingMSG$REAL_TIME_BARS)<br>
                  Sys.sleep(5 * playback)<br>
            }<br>
        }<br>
    }<br>
    else {<br>
        while (TRUE) {<br>
            socketSelect(list(con), FALSE, NULL)<br>
            curMsg <- .Internal(readBin(con, "character", 1L,<br>
                NA_integer_, TRUE, FALSE))<br>
            if (!is.null(timestamp)) {<br>
                processMsg(curMsg, con, eWrapper, format(Sys.time(),<br>
                  timestamp), file, ...)<br>
            }<br>
            else {<br>
                processMsg(curMsg, con, eWrapper, timestamp,<br>
                  file, ...)<br>
            }<br>
            if (!any(sapply(eWrapper$.Data$data, <a href="http://is.na" target="_blank">is.na</a>)))<br>
                return(do.call(rbind, lapply(eWrapper$.Data$data,<br>
                  as.data.frame)))<br>
        }<br>
    }<br>
}<br>
<br>
        [[alternative HTML version deleted]]<br>
<br>
_______________________________________________<br>
<a href="mailto:R-SIG-Finance@r-project.org" target="_blank">R-SIG-Finance@r-project.org</a> mailing list<br>
<a href="https://stat.ethz.ch/mailman/listinfo/r-sig-finance" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-sig-finance</a><br>
-- Subscriber-posting only. If you want to post, subscribe first.<br>
-- Also note that this is not the r-help list where general R questions should go.<br>
</blockquote></div><br>