代码拉取完成,页面将自动刷新
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from functools import partial, wraps
from ib.ext.TickType import TickType
##
# To programmatically generate the TickType filters, use something like this sketch:
#
# vs = [(name, value) for name, value in [(name, getattr(TickType, name))
# for name in dir(TickType)] if type(value)==int]
# titlevalues = [(title[0].lower()+title[1:], value)
# for title in [''.join([part.title() for part in name.split('_')])
# for name, value in vs]]
def messageFilter(function, predicate=lambda msg:True):
@wraps(function)
def inner(msg):
if predicate(msg):
return function(msg)
return inner
askSizeFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.ASK_SIZE)
askPriceFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.ASK)
bidSizeFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.BID_SIZE)
bidPriceFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.BID)
lastSizeFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.LAST_SIZE)
lastPriceFilter = partial(messageFilter, predicate=lambda msg:msg.field==TickType.LAST)
# We don't need functions for filtering by message type because that's
# what the reader/receiver/dispatcher already does.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。