Exemple #1
0
        public void TestEnumToInt()
        {
            TradeActionBuySell enum1 = TradeActionBuySell.Buy;
            PositionDirection  enum2 = PositionDirection.LongPosition;

            Assert.AreEqual(enum1.ToInt(), enum2.ToInt());
        }
Exemple #2
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="security"></param>
        /// <param name="tradeAction"></param>
        /// <param name="quantity"></param>
        /// <param name="tradeType"></param>
        /// <param name="limitOrStopPrice"></param>
        public Trade(Security security, TradeActionBuySell tradeAction, int quantity, TradeType tradeType, decimal limitOrStopPrice = 0, bool apiTrade = true, bool IgnoreTradeId = false)
        {
            Security           = security;
            TradeActionBuySell = tradeAction;
            Quantity           = quantity;
            TradeType          = tradeType;

            switch (tradeType)
            {
            case TradeType.Market:
                break;

            case TradeType.Limit:
                LimitPrice = limitOrStopPrice;
                break;

            case TradeType.Stop:
                StopPrice = limitOrStopPrice;
                break;

            case TradeType.StopLimit:
                LimitPrice = limitOrStopPrice;
                StopPrice  = limitOrStopPrice;
                break;

            default:
                break;
            }

            LimitPrice = limitOrStopPrice;

            ApiTrade = apiTrade;

            TradeStatus   = TradeStatus.NotSet;
            TradePriority = TradePriority.NotSet;

            if (!IgnoreTradeId)
            {
                TradeId = NextTradeId;
            }
        }
Exemple #3
0
 public decimal SlippageAdjustedPrice(decimal Price, TradeActionBuySell tradeAction)
 {
     return(Math.Round((Price + ((int)tradeAction) * Slippage(Price)), 3));
 }