コード例 #1
0
ファイル: OrderImpl.cs プロジェクト: michaelwills/tradelink
 /// <summary>
 /// Serialize order as a string
 /// </summary>
 /// <returns></returns>
 public static string Serialize(Order o)
 {
     if (o.isFilled)
     {
         return(TradeImpl.Serialize((Trade)o));
     }
     string[] r = new string[] { o.symbol, (o.side ? "true" : "false"), o.UnsignedSize.ToString(), o.price.ToString(), o.stopp.ToString(), o.comment, o.ex, o.Account, o.Security.ToString(), o.Currency.ToString(), o.LocalSymbol, o.id.ToString(), o.TIF, o.date.ToString(), o.time.ToString(), "", o.trail.ToString() };
     return(string.Join(",", r));
 }
コード例 #2
0
 public void newFill(Trade trade, bool allclients)
 {
     // make sure our trade is filled and initialized properly
     if (!trade.isValid)
     {
         debug("invalid trade: " + trade.ToString());
         return;
     }
     for (int i = 0; i < client.Count; i++) // send tick to each client that has subscribed to tick's stock
     {
         if ((client[i] != null) && (allclients || (stocks[i].Contains(trade.symbol))))
         {
             TLSend(TradeImpl.Serialize(trade), MessageTypes.EXECUTENOTIFY, i);
         }
     }
 }
コード例 #3
0
 public void newFill(Trade trade, bool allclients)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new tlnewfilldelegate(newFill), new object[] { trade, allclients });
     }
     else
     {
         // make sure our trade is filled and initialized properly
         if (!trade.isValid)
         {
             return;
         }
         for (int i = 0; i < client.Count; i++) // send tick to each client that has subscribed to tick's stock
         {
             if ((client[i] != null) && (allclients || (stocks[i].Contains(trade.symbol))))
             {
                 WMUtil.SendMsg(TradeImpl.Serialize(trade), MessageTypes.EXECUTENOTIFY, Handle, client[i]);
             }
         }
     }
 }