Exemplo n.º 1
0
 public void UpdatePosition(BrokerTrade trade)
 {
     if (trade.Direction == DirectionType.Buy)            //买
     {
         if (trade.OpenClose == OpenCloseType.CloseToday) //买平今空
         {
             mTdShortPart.Frozen   -= trade.Qty;
             mTdShortPart.Position -= trade.Qty;
         }
         else if (trade.OpenClose == OpenCloseType.Close)     //买平昨空
         {
             mYdShortPart.Frozen   -= trade.Qty;
             mYdShortPart.Position -= trade.Qty;
         }
         else     //买开多
         {
             mTdLongPart.Position += trade.Qty;
         }
     }
     else                                                 //卖
     {
         if (trade.OpenClose == OpenCloseType.CloseToday) //卖平今多
         {
             mTdLongPart.Frozen   -= trade.Qty;
             mTdLongPart.Position -= trade.Qty;
         }
         else if (trade.OpenClose == OpenCloseType.Close)     //,卖平昨多
         {
             mYdLongPart.Frozen   -= trade.Qty;
             mYdLongPart.Position -= trade.Qty;
         }
         else     //卖开空
         {
             mTdShortPart.Position += trade.Qty;
         }
     }
 }
Exemplo n.º 2
0
 public static void UpdatePosition(BrokerTrade trade)
 {
     getPosition(trade.Instrument).UpdatePosition(trade);
 }