Skip to content

给出的这个例子似乎无法平仓 #2

@goodluck028

Description

@goodluck028

Order openLimitOrder;
Order openMarketOrder;
private void OnBar(Instrument instrument,Bar bar)
{
openLimitOrder = BuyLimitOrder(instrument, 1, bar.Open, "buy limit order");
Send(openLimitOrder);//买限价单
AddReminder(Clock.DateTime.AddMinutes(1),"cancel buy limit order");//添加定时器,下单1分钟后还未成交的话做撤单处理
openMarketOrder = BuyOrder(instrument, 2, "buy market order");//买市价单
Send(openMarketOrder);
}
protected override void OnOrderFilled(Order order)
{
if (order.Text == "buy market order")
{
closeLimitOrder = SellLimitOrder(order.Instrument, order.Qty, order.Price + order.Instrument.TickSize * 2);
Send(closeLimitOrder);
}
}
protected override void OnReminder(DateTime dateTime, object data)
{
if (data != null && data.ToString() == "cancel buy limit order")
{//是撤单定时器触发的
if (!openLimitOrder.IsDone)
{//openLimitOrder还未成交
Cancel(openLimitOrder);
}
}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions