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

比如买入套利开仓买a 一手,卖b一手,当平仓时,策略那里虽说是平仓,但实际algo算法那里下单的还是开仓,变成开仓卖a一手,买b一手,这样不就会越积越多,资金占用越来越多,咋获益啊?

Member
avatar
加入于:
帖子: 5600
声望: 340

你启动算法的时候是不是lock传为True了

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

xiaohe wrote:

你启动算法的时候是不是lock传为True了
没有,默认的lock是false,我看算法那里的send_order里offset都是open啊,根本就没有close
def send_order(
self,
algo: SpreadAlgoTemplate,
vt_symbol: str,
price: float,
volume: float,
direction: Direction,
lock: bool,
fak: bool
) -> List[str]:
""""""

    # 创建原始委托请求
    contract: Optional[ContractData] = self.main_engine.get_contract(vt_symbol)
    if fak:
        order_type: OrderType = OrderType.FAK
    else:
        order_type: OrderType = OrderType.LIMIT

    original_req: OrderRequest = OrderRequest(
        symbol=contract.symbol,
        exchange=contract.exchange,
        direction=direction,
        offset=Offset.OPEN,       #默认offset一直是开仓
        type=order_type,
        price=price,
        volume=volume,
        reference=f"{APP_NAME}_{algo.spread_name}"
Member
avatar
加入于:
帖子: 5600
声望: 340

coverter里面会转换的

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

xiaohe wrote:

coverter里面会转换的
我懂了,原来净仓是有仓位平仓,没仓位开仓的意思

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

沪公网安备 31011502017034号

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