本文整理汇总了Python中ib.ext.Order.Order.m_action方法的典型用法代码示例。如果您正苦于以下问题:Python Order.m_action方法的具体用法?Python Order.m_action怎么用?Python Order.m_action使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ib.ext.Order.Order
的用法示例。
在下文中一共展示了Order.m_action方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: close
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def close(orderty = "MKT", price = None, timeout = None):
position = self["position"]
order = Order()
if position > 0:
order.m_action = "SELL"
else:
order.m_action = "BUY"
order.m_tif = "DAY"
order.m_orderType = orderty
order.m_totalQuantity = abs(position)
order.m_openClose = "C"
if price <> None: order.m_lmtPrice = price
if price == None and orderty <> "MKT": order.m_lmtPrice = self.best_price(position)
if timeout == None:
oid = self.con.placeOrder(self.contract, order, None)
self.oids.append(oid)
return oid
else:
oid = self.con.placeOrder(self.contract, order, timedelta(seconds=timeout))
if oid == None:
return None
else:
self.oids.append(oid)
return oid
示例2: create_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def create_order(order_type, quantity, limit_price=None):
"""
Creates an (ib.ext.Order) object to send to IB
:param order_type: (string) "MARKET" or "LIMIT"
:param quantity: (int)
:return: (ib.ext.Order)
"""
order = Order()
if order_type is "MARKET":
order.m_orderType = "MKT"
elif order_type is "LIMIT":
order.m_orderType = "LMT"
order.m_lmtPrice = limit_price
assert(order.m_orderType is not None), "Invalid order_type!"
if quantity == 0:
raise Exception('Order quantity is 0!')
elif quantity > 0:
order.m_action = "BUY"
elif quantity < 0:
order.m_action = "SELL"
assert(order.m_action is not None), "Invalid order action!"
order.m_totalQuantity = abs(quantity)
assert(abs(order.m_totalQuantity) > 0), "Invalid order quantity!"
return order
示例3: make_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def make_order(action, quantity, price = None):
if price is not None:
order = Order()
order.m_orderType = 'LMT'
order.m_totalQuantity = quantity
order.m_action = action
order.m_lmtPrice = price
else:
order = Order()
order.m_orderType = 'MKT'
order.m_totalQuantity = quantity
order.m_action = action
return order
示例4: order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def order(position = "BUY", orderty = "MKT", quantity = 100, price = None, timeout = None, openClose = "O"):
order = Order()
order.m_action = position
order.m_tif = "DAY"
order.m_orderType = orderty
order.m_totalQuantity = quantity
order.m_openClose = openClose
if price <> None: order.m_lmtPrice = price
if position == "BUY":
pos = quantity
else:
pos = -quantity
if price == None and orderty <> "MKT": order.m_lmtPrice = self.best_price(pos)
if timeout == None:
oid = self.con.placeOrder(self.contract, order, None)
self.oids.append(oid)
return oid
else:
oid = self.con.placeOrder(self.contract, order, timedelta(seconds=timeout))
if oid == None:
return None
else:
self.oids.append(oid)
return oid
示例5: create_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def create_order(self, account, orderType, totalQuantity, action):
order = Order()
order.m_account = account
order.m_orderType = orderType
order.m_totalQuantity = totalQuantity
order.m_action = action
return order
示例6: createOrder
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def createOrder(orderId,shares,limit = None, transmit=0):
'''
create order object
Parameters
-----------
orderId : The order Id. You must specify a unique value.
When the order status returns, it will be identified by this tag.
This tag is also used when canceling the order.
shares: number of shares to buy or sell. Negative for sell order.
limit : price limit, None for MKT order
transmit: transmit immideatelly from tws
'''
action = {-1:'SELL',1:'BUY'}
o = Order()
o.m_orderId = orderId
o.m_action = action[sign(shares)]
o.m_totalQuantity = abs(shares)
o.m_transmit = transmit
if limit is not None:
o.m_orderType = 'LMT'
o.m_lmtPrice = limit
else:
o.m_orderType = 'MKT'
return o
示例7: create_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def create_order(order_type, quantity, action, limitprice, transmitf, auxprice, stopprice, rptype):
order = Order()
order.m_action = action
order.m_totalQuantity = quantity
order.m_transmit = transmitf
order.m_orderType = order_type
if order_type == 'LMT':
order.m_lmtPrice = limitprice
pass
elif order_type == 'STP':
order.m_stpPrice = stopprice
pass
else:
print'failing on price...need one'
return order
#####################
##if ordernumx == 'filled':
## launch profittake and stopbracket with ocaGroup
##reqIds()
##orderStatus()
##ParentID
##ocaType
##ocaGroup
###############################
##datahandler for snapshots
##reqmktdata live data
##req live recent bars
##PlaceOrder(entryorder)
##if entryorder filled:
## PlaceOrder(profitorder)
## get orderid
## PlaceOrder(profitorder by number, transmit)
## PlaceOrder(stopbracket) # with transmit true
'''
示例8: placeOrder
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def placeOrder(self, symbol, shares, limit=None, exchange='SMART', transmit=0):
""" place an order on already subscribed contract """
if symbol not in self.contracts.keys():
self.log.error("Can't place order, not subscribed to %s" % symbol)
return
action = {-1: 'SELL', 1: 'BUY'}
o = Order()
o.m_orderId = self.getOrderId()
o.m_action = action[cmp(shares, 0)]
o.m_totalQuantity = abs(shares)
o.m_transmit = transmit
if limit is not None:
o.m_orderType = 'LMT'
o.m_lmtPrice = limit
self.log.debug('Placing %s order for %i %s (id=%i)' % (o.m_action, o.m_totalQuantity, symbol, o.m_orderId))
self.tws.placeOrder(o.m_orderId, self.contracts[symbol], o)
示例9: sendOrder
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def sendOrder(self, orderReq):
"""发单"""
# 增加报单号1,最后再次进行查询
# 这里双重设计的目的是为了防止某些情况下,连续发单时,nextOrderId的回调推送速度慢导致没有更新
self.orderId += 1
# 创建合约对象
contract = Contract()
contract.m_symbol = str(orderReq.symbol)
contract.m_exchange = exchangeMap.get(orderReq.exchange, '')
contract.m_secType = productClassMap.get(orderReq.productClass, '')
contract.m_currency = currencyMap.get(orderReq.currency, '')
contract.m_expiry = orderReq.expiry
contract.m_strike = orderReq.strikePrice
contract.m_right = optionTypeMap.get(orderReq.optionType, '')
# 创建委托对象
order = Order()
order.m_orderId = self.orderId
order.m_clientId = self.clientId
order.m_action = directionMap.get(orderReq.direction, '')
order.m_lmtPrice = orderReq.price
order.m_totalQuantity = orderReq.volume
order.m_orderType = priceTypeMap.get(orderReq.priceType, '')
# 发送委托
self.connection.placeOrder(self.orderId, contract, order)
# 查询下一个有效编号
self.connection.reqIds(1)
示例10: make_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def make_order(limit_price):
order = Order()
order.m_minQty = 100
order.m_lmtPrice = limit_price
order.m_orderType = 'MKT'
order.m_totalQuantity = 100
order.m_action = 'BUY'
return order
示例11: create_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def create_order(self, order_type, quantity, action):
""" Create an Order Object to pair with the Contract Object
"""
order = Order()
order.m_orderType = order_type # 'MKT'/'LMT'
order.m_totalQuantity = quantity # Integer
order.m_action = action # 'BUY'/'SELL'
return order
示例12: _create_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def _create_order(action, qty, order_type, limit_price, stop_price):
order = Order()
order.m_action = action
order.m_totalQuantity = qty
order.m_auxPrice = stop_price
order.m_lmtPrice = limit_price
order.m_orderType = order_type
return order
示例13: makeStkOrder
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def makeStkOrder(shares,action,account,ordertype='MKT'):
order = Order()
order.m_minQty = shares
order.m_orderType = ordertype
order.m_totalQuantity = shares
order.m_action = str(action).upper()
order.m_outsideRth = True #allow order to be filled ourside regular trading hours
order.m_account = account
return order
示例14: addmktorder
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def addmktorder(self, action, qty, oc, cid, tif = "DAY"):
o = Order()
o.m_action = action
print tif
o.m_tif = tif
o.m_orderType = 'MKT'
o.m_totalQuantity = qty
o.m_openClose = oc
res = self.placeOrder(cid, o)
return(res)
示例15: create_stock_order
# 需要导入模块: from ib.ext.Order import Order [as 别名]
# 或者: from ib.ext.Order.Order import m_action [as 别名]
def create_stock_order(self, quantity, is_buy, is_market_order=False):
order = Order()
order.m_totalQuantity = quantity
order.m_orderType = \
DataType.ORDER_TYPE_MARKET if is_market_order else \
DataType.ORDER_TYPE_LIMIT
order.m_action = \
DataType.ORDER_ACTION_BUY if is_buy else \
DataType.ORDER_ACTION_SELL
return order