Esempio n. 1
0
 internal void OnUpdateOrder(string portfolio, string securityId, SmartOrderState state, SmartOrderAction action, SmartOrderType type,
                             SmartOrderValidity validity, double price, double volume, double stop, double balance, DateTime time, string smartOrderId,
                             string orderIdStr, int status, int transactionId)
 {
     // http://www.itinvest.ru/forum/index.php?showtopic=63063&st=0&p=242023&#entry242023
     OrderChanged.SafeInvoke(portfolio, securityId, state,
                             action, type, validity == SmartOrderValidity.Day, price.ToDecimal(), (int)volume,
                             stop.ToDecimal(), (int)balance, time, smartOrderId, orderIdStr.To <long>(), status, transactionId);
 }
Esempio n. 2
0
 /// <summary>
 /// Зарегистрировать заявку.
 /// </summary>
 /// <param name="portfolioName">Номер портфеля.</param>
 /// <param name="securityId">Идентификатор инструмента.</param>
 /// <param name="action">Направление действия.</param>
 /// <param name="type">Тип заявки.</param>
 /// <param name="validity">Время действия.</param>
 /// <param name="price">Цена.</param>
 /// <param name="volume">Объем.</param>
 /// <param name="stopPrice">Стоп цена (если регистрируется стоп-заявка).</param>
 /// <param name="transactionId">Идентификатор транзакции.</param>
 public abstract void RegisterOrder(string portfolioName, string securityId, SmartOrderAction action, SmartOrderType type, SmartOrderValidity validity, double price, int volume, double stopPrice, int transactionId);
Esempio n. 3
0
        /// <summary>
        /// Зарегистрировать заявку.
        /// </summary>
        /// <param name="portfolioName">Номер портфеля.</param>
        /// <param name="securityId">Идентификатор инструмента.</param>
        /// <param name="action">Направление действия.</param>
        /// <param name="type">Тип заявки.</param>
        /// <param name="validity">Время действия.</param>
        /// <param name="price">Цена.</param>
        /// <param name="volume">Объем.</param>
        /// <param name="stopPrice">Стоп цена (если регистрируется стоп-заявка).</param>
        /// <param name="transactionId">Идентификатор транзакции.</param>
        public override void RegisterOrder(string portfolioName, string securityId, SmartOrderAction action, SmartOrderType type, SmartOrderValidity validity, double price, int volume, double stopPrice, int transactionId)
        {
            StOrder_Action smartAction;

            switch (action)
            {
            case SmartOrderAction.Buy:
                smartAction = StOrder_Action.StOrder_Action_Buy;
                break;

            case SmartOrderAction.Sell:
                smartAction = StOrder_Action.StOrder_Action_Sell;
                break;

            case SmartOrderAction.Short:
                smartAction = StOrder_Action.StOrder_Action_Short;
                break;

            case SmartOrderAction.Cover:
                smartAction = StOrder_Action.StOrder_Action_Cover;
                break;

            default:
                throw new ArgumentOutOfRangeException("action");
            }

            StOrder_Type smartType;

            switch (type)
            {
            case SmartOrderType.Stop:
                smartType = StOrder_Type.StOrder_Type_Stop;
                break;

            case SmartOrderType.StopLimit:
                smartType = StOrder_Type.StOrder_Type_StopLimit;
                break;

            case SmartOrderType.Limit:
                smartType = StOrder_Type.StOrder_Type_Limit;
                break;

            case SmartOrderType.Market:
                smartType = StOrder_Type.StOrder_Type_Market;
                break;

            default:
                throw new ArgumentOutOfRangeException("type");
            }

            StOrder_Validity smartValidity;

            switch (validity)
            {
            case SmartOrderValidity.Day:
                smartValidity = StOrder_Validity.StOrder_Validity_Day;
                break;

            case SmartOrderValidity.Gtc:
                smartValidity = StOrder_Validity.StOrder_Validity_Gtc;
                break;

            default:
                throw new ArgumentOutOfRangeException("validity");
            }

            SafeGetServer().PlaceOrder(portfolioName, securityId, smartAction, smartType, smartValidity, price, volume, stopPrice, transactionId);
        }