Example #1
0
 private void updateTracking(TickQuoteCn aTick)
 {
     if (tracking.orderState == OrderState.Filled)
     {
         if (orderinfo.position > 0)
         {
             tracking.currentProfit = aTick.trade - tracking.entryPz;
         }
         else if (orderinfo.position < 0)
         {
             tracking.currentProfit = tracking.entryPz - aTick.trade;
         }
         tracking.currentProfitPercent = (tracking.currentProfit / tracking.entryPz);
         tracking.maxrunup             = Math.Max(tracking.maxrunup, tracking.currentProfit);
         tracking.maxdrawdown          = Math.Max(tracking.maxdrawdown, tracking.maxrunup - tracking.currentProfit);
         tracking.saveOnRedis();
     }
 }
Example #2
0
        public Order(OrderInfo aOrderInfo,
                     OrderTrackingInfo aTracking, OrderBehaviorParameters aBehaviorPars)
        {
            orderinfo    = aOrderInfo;
            behaviorPars = aBehaviorPars;
            tracking     = aTracking;
            changeState(aTracking.orderState);

            orderinfo.saveOnRedis();
            behaviorPars.saveOnRedis();
            tracking.saveOnRedis();

            daytrade   = new DayTrade(this);
            profitTake = new ProfitTake(this);
            protector  = new Protector(this);
            hardstop   = new Hardstop(this);
        }