本文整理汇总了C#中QuickFix.Fields.Symbol类的典型用法代码示例。如果您正苦于以下问题:C# QuickFix.Fields.Symbol类的具体用法?C# QuickFix.Fields.Symbol怎么用?C# QuickFix.Fields.Symbol使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
QuickFix.Fields.Symbol类属于命名空间,在下文中一共展示了QuickFix.Fields.Symbol类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NewOrderSingle
/// <summary>
/// Create a NewOrderSingle message.
/// </summary>
/// <param name="customFields"></param>
/// <param name="orderType"></param>
/// <param name="side"></param>
/// <param name="symbol"></param>
/// <param name="orderQty"></param>
/// <param name="tif"></param>
/// <param name="price">ignored if orderType=Market</param>
/// <returns></returns>
static public QuickFix.FIX42.NewOrderSingle NewOrderSingle(
Dictionary<int,string> customFields,
OrderType orderType, Side side, string symbol,
int orderQty, TimeInForce tif, decimal price)
{
// hard-coded fields
QuickFix.Fields.HandlInst fHandlInst = new QuickFix.Fields.HandlInst(QuickFix.Fields.HandlInst.AUTOMATED_EXECUTION_ORDER_PRIVATE);
// from params
QuickFix.Fields.OrdType fOrdType = FixEnumTranslator.ToField(orderType);
QuickFix.Fields.Side fSide = FixEnumTranslator.ToField(side);
QuickFix.Fields.Symbol fSymbol = new QuickFix.Fields.Symbol(symbol);
QuickFix.Fields.TransactTime fTransactTime = new QuickFix.Fields.TransactTime(DateTime.Now);
QuickFix.Fields.ClOrdID fClOrdID = GenerateClOrdID();
QuickFix.FIX42.NewOrderSingle nos = new QuickFix.FIX42.NewOrderSingle(
fClOrdID, fHandlInst, fSymbol, fSide, fTransactTime, fOrdType);
nos.OrderQty = new QuickFix.Fields.OrderQty(orderQty);
nos.TimeInForce = FixEnumTranslator.ToField(tif);
if (orderType == OrderType.Limit)
nos.Price = new QuickFix.Fields.Price(price);
// add custom fields
foreach (KeyValuePair<int,string> p in customFields)
nos.SetField(new QuickFix.Fields.StringField(p.Key, p.Value));
return nos;
}
示例2: Set
public void Set(QuickFix.Fields.Symbol val)
{
this.Symbol = val;
}
示例3: OnMessage
//receive contract parameters
public void OnMessage(QuickFix.FIX42.SecurityDefinition message, QuickFix.SessionID session)
{
//parseMessage(message, session);
string SecEx = null;
string symbol = null;
string secID = null;
try
{
QuickFix.Fields.SecurityExchange se = new QuickFix.Fields.SecurityExchange();
if (message.IsSetField(se))
{ SecEx = message.GetField(se).ToString(); }
QuickFix.Fields.Symbol s = new QuickFix.Fields.Symbol();
if (message.IsSetField(s))
{ symbol = message.GetField(s).ToString(); }
QuickFix.Fields.SecurityID sid = new QuickFix.Fields.SecurityID();
if (message.IsSetField(sid))
{ secID = message.GetField(sid).ToString(); }
string cur = null;
decimal exPtVal = 0.00M;
QuickFix.Fields.ExchPointValue epv = new QuickFix.Fields.ExchPointValue();
if (message.IsSetField(epv))
{ exPtVal = message.GetField(epv).getValue(); }
QuickFix.Fields.Currency ccy = new QuickFix.Fields.Currency();
if (message.IsSetField(ccy))
{ cur = message.GetField(ccy).getValue(); }
updateSecurity(SecEx, symbol, secID, cur, exPtVal);
}
catch (Exception ex)
{
updateDisplay("QuickFIX Error");
log.WriteLog(ex.ToString());
}
}
示例4: posTableUpdate
/// <summary>
/// Helper Method to process data from message for updating positions
/// </summary>
/// <param name="message"></param>
/// <param name="session"></param>
private void posTableUpdate(QuickFix.FIX42.Message message, SessionID session)
{
string MGT = null;
string acct = null;
string SecEx = null;
string symbol = null;
string secID = null;
string gateway = null;
int tradesize = 0;
char side = char.MinValue;
decimal price = 0.00M;
bool OK2Update = true;
try
{
QuickFix.Fields.SenderSubID subID = new QuickFix.Fields.SenderSubID();
if (message.Header.IsSetField(subID))
{
MGT = message.Header.GetField(subID).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.Account a = new QuickFix.Fields.Account();
if (message.IsSetField(a))
{
acct = message.GetField(a).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.SecurityExchange se = new QuickFix.Fields.SecurityExchange();
if (message.IsSetField(se))
{
SecEx = message.GetField(se).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.Symbol s = new QuickFix.Fields.Symbol();
if (message.IsSetField(s))
{
symbol = message.GetField(s).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.SecurityID sid = new QuickFix.Fields.SecurityID();
if (message.IsSetField(sid))
{
secID = message.GetField(sid).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.ExchangeGateway eg = new Fields.ExchangeGateway();
if (message.IsSetField(eg))
{
gateway = message.GetField(eg).getValue();
}
else
{ OK2Update = false; }
QuickFix.Fields.LastShares q = new QuickFix.Fields.LastShares();
if (message.IsSetField(q))
{
tradesize = (int)message.GetField(q).getValue();
}
QuickFix.Fields.Side bs = new QuickFix.Fields.Side();
if (message.IsSetField(bs))
{
side = message.GetField(bs).getValue();
}
else
{
if (tradesize < 0)
{
tradesize = Math.Abs(tradesize);
side = QuickFix.Fields.Side.SELL;
}
else
{ side = QuickFix.Fields.Side.BUY; }
}
QuickFix.Fields.LastPx fill = new QuickFix.Fields.LastPx();
if (message.IsSetField(fill))
{
price = message.GetField(fill).getValue();
}
if (OK2Update)
//.........这里部分代码省略.........