Отмена ордера по таймеру
C#
На примере показана отмена лимитного ордера через 20 секунд, если он не not filled.
Код
using OpenQuant.API;
public class MyStrategy : Strategy
{
private Order order;
private bool entry = true;
public override void OnBar(Bar bar)
{
if (HasPosition)
ClosePosition();
if (entry)
{
= LimitOrder(OrderSide.Buy, 100, bar.Close - 0.03);
order .Send();
order
AddTimer(Clock.Now.AddSeconds(20));
= false;
entry }
}
public override void OnTimer(DateTime signalTime)
{
if (!order.IsDone)
.Cancel();
order
= true;
entry }
}