VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 46
声望: 0

如果我在买入卖出时都以市价单来进行交易,可以通过修改OrderData来实现吗?
`@dataclass
class OrderData(BaseData):
"""
Order data contains information for tracking lastest status
of a specific order.
"""

symbol: str
exchange: Exchange
orderid: str

type: OrderType = OrderType.MARKET
direction: Direction = None
offset: Offset = Offset.NONE
price: float = 0
volume: float = 0
traded: float = 0
status: Status = Status.SUBMITTING
datetime: datetime = None
reference: str = ""`

比如我这里直接将OrderType改为了MARKET,那么在原来的下单函数处要修改吗?
比如self.buy(bar.close_price,1)该怎么修改呢?

Member
avatar
加入于:
帖子: 5331
声望: 323

改OrderData没有用,这只是个容器,需要自己对策略引擎做个性化修改

Member
avatar
加入于:
帖子: 46
声望: 0

xiaohe wrote:

改OrderData没有用,这只是个容器,需要自己对策略引擎做个性化修改
之前看到说把send_limit_order里的OrderType改为MARKET即可实现市价单,这个函数在什么地方呢?还有就是如果我想实现市价单的话是否可以通过超价限价单来实现呢?

Member
avatar
加入于:
帖子: 42
声望: 5

vnpy_ctastragegy.engine的send_order默认是限价单(close_price + price_add),有需要可以对这个函数进行个性化修改
可以类比以下帖子来看看需求是否相同:
https://www.vnpy.com/forum/topic/30269-ctace-lue-li-mian-ru-he-xia-shi-jie-dan-zi
https://www.vnpy.com/forum/topic/31976-vnpyzhong-wei-shi-yao-bu-zhi-chi-shi-jie-dan

Member
avatar
加入于:
帖子: 46
声望: 0

好的感谢!

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】