如何提交包围单

The code below uses OnOrderFilled event handler to submit legs of bracket orders and OCA (One Cancels All) group to cancel other leg of bracket order if take profit or stop loss order gets executed.

下列代码显示了在执行了盈利或止损时,使用了OnOorderFilled事件来处理提交包围单和OCA(One Cancels All)群组单来取消其他的包围单。

  1. Order buyOrder;
  2. Order sellOrder1;
  3. Order sellOrder2;
  4.  
  5. int OCACount = 0;
  6.  
  7. public override void OnBar(Bar bar)
  8. {
  9. if (EntryCondition)
  10. {
  11. buyOrder = BuyLimitOrder(qty, 100);
  12. buyOrder.Send();
  13. }
  14. }
  15.  
  16. public override void OnOrderFilled(Order order)
  17. {
  18. if (order == buyOrder)
  19. {
  20. OCACount++;
  21.  
  22. sellOrder1 = SellLimitOrder(qty, 110);
  23. sellOrder2 = SellStopOrder(qty, 90);
  24.  
  25. sellOrder1.OCA = "OCA " + OCACount;
  26. sellOrder2.OCA = "OCA " + OCACount;
  27.  
  28. sellOrder1.Send();
  29. sellOrder2.Send();
  30. }
  31. }