Example #1
0
        private void UpdateFixTagRequired(string name, bool required)
        {
            // find the fix tag
            var fixTag = FixTags.FirstOrDefault(a => a.Name == name);

            if (fixTag != null)
            {
                fixTag.Required = required;
            }
        }
Example #2
0
 protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition)
 {
     return(reader.ReadOrderCondition(tag, TimeHelper.Moscow, TransactionSession.DateTimeFormat, () => (QuikOrderCondition)getCondition()));
 }
Example #3
0
        public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeZoneInfo timeZone, string dateTimeFormat, Func <QuikOrderCondition> getCondition)
        {
            if (getCondition == null)
            {
                throw new ArgumentNullException(nameof(getCondition));
            }

            switch ((QuikFixTags)tag)
            {
            case QuikFixTags.Type:
                getCondition().Type = (QuikOrderConditionTypes)reader.ReadInt();
                return(true);

            case QuikFixTags.StopPriceCondition:
                getCondition().StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt();
                return(true);

            case QuikFixTags.ConditionOrderSide:
                getCondition().ConditionOrderSide = (Sides)reader.ReadInt();
                return(true);

            case QuikFixTags.LinkedOrderCancel:
                getCondition().LinkedOrderCancel = reader.ReadBool();
                return(true);

            case QuikFixTags.Result:
                getCondition().Result = (QuikOrderConditionResults)reader.ReadInt();
                return(true);

            case QuikFixTags.OtherSecurityCode:
                getCondition().OtherSecurityId = new SecurityId {
                    SecurityCode = reader.ReadString()
                };
                return(true);

            case QuikFixTags.StopPrice:
                getCondition().StopPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.StopLimitPrice:
                getCondition().StopLimitPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.IsMarketStopLimit:
                getCondition().IsMarketStopLimit = reader.ReadBool();
                return(true);

            case QuikFixTags.ActiveTimeFrom:
                if (getCondition().ActiveTime == null)
                {
                    getCondition().ActiveTime = new Range <DateTimeOffset>();
                }

                getCondition().ActiveTime.Min = reader.ReadDateTime(dateTimeFormat).ToDateTimeOffset(timeZone);
                return(true);

            case QuikFixTags.ActiveTimeTo:
                if (getCondition().ActiveTime == null)
                {
                    getCondition().ActiveTime = new Range <DateTimeOffset>();
                }

                getCondition().ActiveTime.Max = reader.ReadDateTime(dateTimeFormat).ToDateTimeOffset(timeZone);
                return(true);

            case QuikFixTags.ConditionOrderId:
                getCondition().ConditionOrderId = reader.ReadLong();
                return(true);

            case QuikFixTags.ConditionOrderPartiallyMatched:
                getCondition().ConditionOrderPartiallyMatched = reader.ReadBool();
                return(true);

            case QuikFixTags.ConditionOrderUseMatchedBalance:
                getCondition().ConditionOrderUseMatchedBalance = reader.ReadBool();
                return(true);

            case QuikFixTags.LinkedOrderPrice:
                getCondition().LinkedOrderPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.Offset:
                getCondition().Offset = reader.ReadString().ToUnit();
                return(true);

            case QuikFixTags.StopSpread:
                getCondition().Spread = reader.ReadString().ToUnit();
                return(true);

            case QuikFixTags.IsMarketTakeProfit:
                getCondition().IsMarketTakeProfit = reader.ReadBool();
                return(true);

            default:
                return(false);
            }
        }
Example #4
0
 /// <summary>
 /// Прочитать условие заявки <see cref="OrderCondition"/>.
 /// </summary>
 /// <param name="reader">Читатель данных.</param>
 /// <param name="tag">Тэг.</param>
 /// <param name="getCondition">Функция, возвращающая условие заявки.</param>
 /// <returns>Успешно ли обработаны данные.</returns>
 protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition)
 {
     return(reader.ReadOrderCondition(tag, TimeZone, TimeStampFormat, () => (QuikOrderCondition)getCondition()));
 }
Example #5
0
			protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition)
			{
				return reader.ReadOrderCondition(tag, TimeHelper.Moscow, TransactionSession.DateTimeFormat, () => (QuikOrderCondition)getCondition());
			}
Example #6
0
		public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeSpan dateTimeOffset, Func<QuikOrderCondition> getCondition)
		{
			if (getCondition == null)
				throw new ArgumentNullException("getCondition");

			switch ((QuikFixTags)tag)
			{
				case QuikFixTags.Type:
					getCondition().Type = (QuikOrderConditionTypes)reader.ReadInt();
					return true;
				case QuikFixTags.StopPriceCondition:
					getCondition().StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt();
					return true;
				case QuikFixTags.ConditionOrderSide:
					getCondition().ConditionOrderSide = (Sides)reader.ReadInt();
					return true;
				case QuikFixTags.LinkedOrderCancel:
					getCondition().LinkedOrderCancel = reader.ReadBool();
					return true;
				case QuikFixTags.Result:
					getCondition().Result = (QuikOrderConditionResults)reader.ReadInt();
					return true;
				case QuikFixTags.OtherSecurityCode:
					getCondition().OtherSecurityId = new SecurityId { SecurityCode = reader.ReadString() };
					return true;
				case QuikFixTags.StopPrice:
					getCondition().StopPrice = reader.ReadDecimal();
					return true;
				case QuikFixTags.StopLimitPrice:
					getCondition().StopLimitPrice = reader.ReadDecimal();
					return true;
				case QuikFixTags.IsMarketStopLimit:
					getCondition().IsMarketStopLimit = reader.ReadBool();
					return true;
				case QuikFixTags.ActiveTimeFrom:
					if (getCondition().ActiveTime == null)
						getCondition().ActiveTime = new Range<DateTimeOffset>();

					getCondition().ActiveTime.Min = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset);
					return true;
				case QuikFixTags.ActiveTimeTo:
					if (getCondition().ActiveTime == null)
						getCondition().ActiveTime = new Range<DateTimeOffset>();

					getCondition().ActiveTime.Max = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset);
					return true;
				case QuikFixTags.ConditionOrderId:
					getCondition().ConditionOrderId = reader.ReadLong();
					return true;
				case QuikFixTags.ConditionOrderPartiallyMatched:
					getCondition().ConditionOrderPartiallyMatched = reader.ReadBool();
					return true;
				case QuikFixTags.ConditionOrderUseMatchedBalance:
					getCondition().ConditionOrderUseMatchedBalance = reader.ReadBool();
					return true;
				case QuikFixTags.LinkedOrderPrice:
					getCondition().LinkedOrderPrice = reader.ReadDecimal();
					return true;
				case QuikFixTags.Offset:
					getCondition().Offset = reader.ReadString().ToUnit();
					return true;
				case QuikFixTags.StopSpread:
					getCondition().Spread = reader.ReadString().ToUnit();
					return true;
				case QuikFixTags.IsMarketTakeProfit:
					getCondition().IsMarketTakeProfit = reader.ReadBool();
					return true;
				default:
					return false;
			}
		}
Example #7
0
			protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition)
			{
				return reader.ReadOrderCondition(tag, TimeHelper.Moscow.BaseUtcOffset, () => (QuikOrderCondition)getCondition());
			}
		/// <summary>
		/// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>.
		/// </summary>
		/// <param name="reader">Читатель данных.</param>
		/// <param name="tag">Тэг.</param>
		/// <param name="getCondition">Функция, возвращающая условие заявки.</param>
		/// <returns>Успешно ли обработаны данные.</returns>
		protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition)
		{
			return reader.ReadOrderCondition(tag, UtcOffset, DateTimeFormat, () => (QuikOrderCondition)getCondition());
		}
Example #9
0
 /// <summary>
 /// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>.
 /// </summary>
 /// <param name="reader">Читатель данных.</param>
 /// <param name="tag">Тэг.</param>
 /// <param name="getCondition">Функция, возвращающая условие заявки.</param>
 /// <returns>Успешно ли обработаны данные.</returns>
 protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func <OrderCondition> getCondition)
 {
     return(reader.ReadOrderCondition(tag, UtcOffset, DateTimeFormat, () => (QuikOrderCondition)getCondition()));
 }
Example #10
0
		/// <summary>
		/// Прочитать условие регистрации заявки <see cref="OrderRegisterMessage.Condition"/>.
		/// </summary>
		/// <param name="reader">Читатель данных.</param>
		/// <param name="tag">Тэг.</param>
		/// <param name="getCondition">Функция, возвращающая условие заявки.</param>
		/// <returns>Успешно ли обработаны данные.</returns>
		protected override bool ReadOrderCondition(IFixReader reader, FixTags tag, Func<OrderCondition> getCondition)
		{
			return reader.ReadOrderCondition(tag, TimeZone, TimeStampFormat, () => (QuikOrderCondition)getCondition());
		}
Example #11
0
        public static bool ReadOrderCondition(this IFixReader reader, FixTags tag, TimeSpan dateTimeOffset, QuikOrderCondition condition)
        {
            switch ((QuikFixTags)tag)
            {
            case QuikFixTags.Type:
                condition.Type = (QuikOrderConditionTypes)reader.ReadInt();
                return(true);

            case QuikFixTags.StopPriceCondition:
                condition.StopPriceCondition = (QuikStopPriceConditions)reader.ReadInt();
                return(true);

            case QuikFixTags.ConditionOrderSide:
                condition.ConditionOrderSide = (Sides)reader.ReadInt();
                return(true);

            case QuikFixTags.LinkedOrderCancel:
                condition.LinkedOrderCancel = reader.ReadBool();
                return(true);

            case QuikFixTags.Result:
                condition.Result = (QuikOrderConditionResults)reader.ReadInt();
                return(true);

            case QuikFixTags.OtherSecurityCode:
                condition.OtherSecurityId = new SecurityId {
                    SecurityCode = reader.ReadString()
                };
                return(true);

            case QuikFixTags.StopPrice:
                condition.StopPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.StopLimitPrice:
                condition.StopLimitPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.IsMarketStopLimit:
                condition.IsMarketStopLimit = reader.ReadBool();
                return(true);

            case QuikFixTags.ActiveTimeFrom:
                if (condition.ActiveTime == null)
                {
                    condition.ActiveTime = new Range <DateTimeOffset>();
                }

                condition.ActiveTime.Min = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset);
                return(true);

            case QuikFixTags.ActiveTimeTo:
                if (condition.ActiveTime == null)
                {
                    condition.ActiveTime = new Range <DateTimeOffset>();
                }

                condition.ActiveTime.Max = reader.ReadDateTime().ApplyTimeZone(dateTimeOffset);
                return(true);

            case QuikFixTags.ConditionOrderId:
                condition.ConditionOrderId = reader.ReadLong();
                return(true);

            case QuikFixTags.ConditionOrderPartiallyMatched:
                condition.ConditionOrderPartiallyMatched = reader.ReadBool();
                return(true);

            case QuikFixTags.ConditionOrderUseMatchedBalance:
                condition.ConditionOrderUseMatchedBalance = reader.ReadBool();
                return(true);

            case QuikFixTags.LinkedOrderPrice:
                condition.LinkedOrderPrice = reader.ReadDecimal();
                return(true);

            case QuikFixTags.Offset:
                condition.Offset = reader.ReadString().ToUnit();
                return(true);

            case QuikFixTags.StopSpread:
                condition.Spread = reader.ReadString().ToUnit();
                return(true);

            case QuikFixTags.IsMarketTakeProfit:
                condition.IsMarketTakeProfit = reader.ReadBool();
                return(true);

            default:
                return(false);
            }
        }