def makeScannerSubscription(self, code, limit): sub = ScannerSubscription() sub.numberOfRows(limit) sub.instrument("STK") sub.scanCode(code) sub.locationCode("STK.US.MAJOR") return sub
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 mostactive(self, location, pricemin, pricemax): global scan scan = [] subscript = ScannerSubscription() subscript.numberOfRows(200) subscript.m_scanCode = 'MOST_ACTIVE' subscript.m_instrument = 'STK' subscript.m_averageOptionVolumeAbove = '' subscript.m_couponRateAbove = '' subscript.m_couponRateBelow = '' subscript.m_abovePrice = pricemin subscript.m_belowPrice = pricemax subscript.m_marketCapAbove = '' subscript.m_marketCapBelow = '' subscript.m_aboveVolume = '' subscript.m_stockTypeFilter = 'ALL' #subscript.locationCode('STK.NASDAQ.NMS') #subscript.locationCode('STK.NYSE') #subscript.locationCode('STK.AMEX') subscript.locationCode(location) con.reqScannerSubscription(qqqq_id, subscript) sleep(10) return(scan)
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) tws.cancelRealTimeBars(10000)
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)
from utils import Logger log = Logger('scanner') msgs = queue.Queue() wrapper = Wrapper({}, msgs) connection = EClientSocket(wrapper) host = "54.197.15.42" port = 7496 connection.eConnect(host, port, 1) subscription = ScannerSubscription() subscription.numberOfRows(100) subscription.instrument('STK') subscription.locationCode('STK.US') subscription.scanCode('TOP_PERC_GAIN') subscription.abovePrice(1.0) subscription.aboveVolume(1) subscription.marketCapBelow(1000000000.0) ticker_id = 10 log.operation('Requesting subscription') connection.reqScannerSubscription(ticker_id, subscription) while True: msg = msgs.get() if msg['type'] == 'scannerDataEnd': log.operation('Received end scanner data end signal')