IB API - 2 simple questions

Discussion in 'Interactive Brokers' started by tommaso, Oct 29, 2008.

  1. tommaso

    tommaso

    I have a couple of questions. Any reference or code example (any language) would be very helpful.


    1. Is there a property that tell us if a security is currently shortable (marked red in the tws "shortable" column)

    2. Is there a way to detect programmatically if we are connected to a demo or paper trading tws or to a real trading tws port (independently of the user id) ?

    Thanks a lot in advance,

    T.
     
  2. rwk

    rwk

    There is a ticktype that will show whether a stock is shortable, but it is not entirely reliable. See the Release Notes for more information.

    The only way I know of to distinguish a demo account is via the user id.
     
  3. reqMktDataEx()
    Call this method to request market data. The market data will be returned by the tickPrice(), tickSize(), tickOptionComputation(), tickGeneric(), tickString() and tickEFP() events in dispinterface_DTwsEvents.

    Sub reqMktDataEx(ByVal tickerId As Integer, ByVal contract As TWSLib.IContract, ByVal genericTicks As String, ByVal snapshot As Integer)

    Parameter
    Description

    tickerId
    The ticker id. Must be a unique value. When the market data returns, it will be identified by this tag. This is also used when canceling the market data.

    contract
    This object contains a description of the contract for which market data is being requested.

    genericTicks
    A comma delimited list of generic tick types. For more information about tick types, see“Generic Tick Types” on page -30.

    snapshot
    Check to return a single snapshot of market data and have the market data subscription cancel. Do not enter any genericTicklist values if you use snapshot.






    Tick Values
    The Resulting Tick Values are:

    Tick Values
    Description

    15
    LOW_13_WEEK

    16
    HIGH_13_WEEK

    17
    LOW_26_WEEK

    18
    HIGH_26_WEEK

    19
    LOW_52_WEEK

    20
    HIGH_52_WEEK

    21
    AVG_VOLUME

    23
    OPTION_HISTORICAL_VOL

    24
    OPTION_IMPLIED_VOL

    27
    OPTION_CALL_OPEN_INTEREST

    28
    OPTION_PUT_OPEN_INTEREST

    29
    OPTION_CALL_VOLUME

    30
    OPTION_PUT_VOLUME

    31
    INDEX_FUTURE_PREMIUM

    34
    AUCTION_VOLUME

    35
    AUCTION_PRICE

    36
    AUCTION_IMBALANCE

    37
    MARK_PRICE

    46
    SHORTABLE


    47
    FUNDAMENTAL_RATIOS



    The Shortable tick tells whether SHORT SELL orders for a contract will be accepted. The value returned from the tickGeneric(int tickerId, int tickType, double value) method can be analyzed as follows:

    if (value > 2.5) { // 3.0

    // There are at least 1000 shares available for a short sale

    }

    else if (value > 1.5) { // 2.0

    // This contract will be available for short sale if shares can be located

    }

    else if (value > 0.5) { // 1.0

    // Not available for short sale

    }

    else {

    // unknown value

    }

    Note: This feature is supported as of server version 33 (872 release of TWS).
     
  4. tommaso

    tommaso

    Thank you very much, Wayne and rwk. Very helpful.

    T