Exemplo n.º 1
0
def test_001(connection, options):
    ticker_id = gen_tick_id()
    subscript = ScannerSubscription()
    subscript.numberOfRows(3)
    subscript.locationCode('STK.NYSE')
    connection.reqScannerSubscription(ticker_id, subscript)
    connection.reqScannerParameters()
    short_sleep()
    connection.cancelScannerSubscription(ticker_id)
    def run_prog(self):
        con = ibConnection(host='127.0.0.1', port=7497, clientId=100)
        con.connect()

        # Assign the error handling function defined above
        # to the TWS connection
        con.register(self.error_handler, 'Error')

        # Assign all of the server reply messages to the
        # reply_handler function defined above
        #con.registerAll(reply_handler)
        con.register(self.scan_results, message.scannerData)
        con.register(self.get_valid_order_id, 'NextValidId')
        #con.reqIds(-1)
        time.sleep(1)
        print("Order ID", self.orderid[0])

        self.gappingup_id = self.orderid[0]
        gappingup = ScannerSubscription()
        gappingup.numberOfRows(5)
        gappingup.m_scanCode = 'HIGH_OPEN_GAP'
        gappingup.m_instrument = 'STK'
        gappingup.m_averageOptionVolumeAbove = '0'
        gappingup.m_abovePrice = '5'
        gappingup.m_aboveVolume = '100000'

        self.gappingdown_id = self.gappingup_id + 1
        gappingdown = ScannerSubscription()
        gappingdown.numberOfRows(5)
        gappingdown.m_scanCode = 'LOW_OPEN_GAP'
        gappingdown.m_instrument = 'STK'
        gappingdown.m_averageOptionVolumeAbove = '0'
        gappingdown.m_abovePrice = '5'
        gappingdown.m_aboveVolume = '100000'

        con.reqScannerSubscription(self.gappingup_id, gappingup)
        time.sleep(5)
        con.reqScannerSubscription(self.gappingdown_id, gappingdown)
        time.sleep(5)

        print(self.gapup)
        print(self.gapdown)
Exemplo n.º 3
0
    contract_Details10 = create.create_contract('EUR', 'CASH', 'IDEALPRO',
                                                'USD')
    data_endtime = datetime.now().strftime("%Y%m%d %H:%M:%S")
    tws.reqHistoricalData(9000, contract_Details10, data_endtime, "1 M",
                          "1 day", "BID", 0, 1)
    time.sleep(3)
    tws.cancelHistoricalData(9000)

    # Market Scanners ####################################################################
    # reqScannerParameters --->   scannerParameters     self.scanner_Parameters
    #                      --->   scannerData           self.scanner_Data
    #                      --->   scannerDataEnd        self.scanner_Data_End_reqID
    #                                                   self.scanner_Data_reqID
    ###################################################################################'''
    print "Testing Market Scanners Group \n"
    subscript = ScannerSubscription()
    subscript.numberOfRows(3)
    subscript.locationCode('STK.NYSE')
    tws.reqScannerSubscription(700, subscript)
    tws.reqScannerParameters()
    time.sleep(3)
    tws.cancelScannerSubscription(700)

    # Real Time Bars #####################################################################
    # reqRealTimeBars      --->   realtimeBar           self.real_timeBar
    ###################################################################################'''
    print "Testing Real Time Bars Group \n"
    contract_Details11 = create.create_contract('EUR', 'CASH', 'IDEALPRO',
                                                'USD')
    tws.reqRealTimeBars(10000, contract_Details11, 5, "MIDPOINT", 0)
    time.sleep(10)
Exemplo n.º 4
0
con.register(scan_results, message.scannerData)

# Create a contract in GOOG stock via SMART order routing
goog_contract = create_contract('GOOG', 'STK', 'SMART', 'SMART', 'USD')

#Get market data stream
#con.reqMktData(1, goog_contract, '', False)

# Go long 100 shares of Google
goog_order = create_order('MKT', 100, 'BUY')

# Use the connection to the send the order to IB
#con.placeOrder(100,goog_contract, goog_order)

gappingup_id = 13851
gappingup = ScannerSubscription()
gappingup.numberOfRows(5)
gappingup.m_scanCode = 'HIGH_OPEN_GAP'
gappingup.m_instrument = 'STK'
gappingup.m_averageOptionVolumeAbove = '0'
gappingup.m_abovePrice = '5'
gappingup.m_aboveVolume = '100000'

gappingdown_id = gappingup_id + 1
gappingdown = ScannerSubscription()
gappingdown.numberOfRows(5)
gappingdown.m_scanCode = 'LOW_OPEN_GAP'
gappingdown.m_instrument = 'STK'
gappingdown.m_averageOptionVolumeAbove = '0'
gappingdown.m_abovePrice = '5'
gappingdown.m_aboveVolume = '100000'