コード例 #1
0
 /// <summary>
 /// Start the SpreadDetailSubscription.
 /// </summary>
 private void startSpreadDetailSubscription()
 {
     m_autospreaderManager      = m_TTAPI.Session.TTAPI.AutospreaderManager;
     m_spreadDetailSubscription = new SpreadDetailSubscription(m_TTAPI.Session, Dispatcher.Current);
     m_spreadDetailSubscription.SpreadDetailsAdded   += new EventHandler <SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.SpreadDetailsUpdated += new EventHandler <SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.SpreadDetailsDeleted += new EventHandler <SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.Start();
 }
コード例 #2
0
        void DeleteSpread(Instrument instrument)
        {
            // delete
            ASReturnCodes rtnCode;

            Console.WriteLine("Delete the SPREAD");
            SpreadDetails spread = instrument.GetSpreadDetails();

            // Delete the spread from TT system.
            //  Parameter spreadReq: SpreadDetails object representing the spread to delete
            //  Return rtnCode: ASReturnCodes enum indicating the status of the request
            rtnCode = AutospreaderManager.DeleteSpreadDetails(spread);
            System.Diagnostics.Debug.Assert(rtnCode == ASReturnCodes.Success);
        }
コード例 #3
0
 /// <summary>
 /// Notifies us when initialization is complete (and whether it was successful)
 /// </summary>
 /// <param name="api">TTAPI object to use (Universal Login mode)</param>
 /// <param name="ex">Exception that occurred during initialization (if any)</param>
 public void ttApiInitComplete(UniversalLoginTTAPI api, Exception ex)
 {
     if (ex == null)
     {
         UniversalApiInstance = api;
         UniversalApiInstance.AuthenticationStatusUpdate += new EventHandler <AuthenticationStatusUpdateEventArgs>(apiInstance_AuthenticationStatusUpdate);
         UniversalApiInstance.Authenticate(ttUsername, ttPassword);
         apiSession          = UniversalApiInstance.Session;
         autospreaderManager = UniversalApiInstance.AutospreaderManager;
     }
     else
     {
         initSuccess = false;
         initMessage = "API Initialization Failed: " + ex.Message;
     }
 }
コード例 #4
0
 /// <summary>
 /// Notifies us when initialization is complete (and whether it was successful)
 /// </summary>
 /// <param name="api">API object to use (XTrader mode)</param>
 /// <param name="ex">Exception that occurred (if any)</param>
 public void ttApiXTModeInitComplete(XTraderModeTTAPI api, Exception ex)
 {
     if (ex == null)
     {
         XTraderApiInstance = api;
         XTraderApiInstance.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(apiInstance_ConnectionStatusUpdate);
         XTraderApiInstance.ConnectToXTrader();
         apiSession          = XTraderApiInstance.Session;
         autospreaderManager = XTraderApiInstance.AutospreaderManager;
     }
     else
     {
         initSuccess = false;
         initMessage = "API Initialization Failed: " + ex.Message;
     }
 }
コード例 #5
0
        Instrument CreateSpread()
        {
            string aseName = "ASE.Test." + DateTime.Now.ToString("yyyyMMddhhmmss");

            Console.WriteLine("Create a new SPREAD " + aseName);
            var spreadReq = new SpreadDetails(aseName)
            {
                Color        = Color.GreenYellow,
                PricingModel = PricingModel.NetChange
            };

            // first leg
            var inst1 = FindInstrument(m_product, m_alias1);
            var leg1  = new SpreadLegDetails(inst1, 5, 8.5M)
            {
                ActiveQuoting    = true,
                IsLeanIndicative = false,
                MinLeanQty       = "ThisLeg.DisclosedRemainingQuantity"
            };

            spreadReq.AppendLeg(leg1);

            // second leg
            var inst2 = FindInstrument(m_product, m_alias2);
            var leg2  = new SpreadLegDetails(inst2, -1, -2)
            {
                ActiveQuoting    = true,
                IsLeanIndicative = true,
                MinLeanQty       = "ThisLeg.DisclosedRemainingQuantity"
            };

            spreadReq.AppendLeg(leg2);

            // Add a spread to the spread manager and Save the ASE instrument in TT system.
            //  Parameter spreadReq: SpreadDetails object representing the spread to add
            //  Parameter rtnCode: ASReturnCodes enum indicating the status of the request
            ASReturnCodes rtnCode;
            Instrument    newInst = AutospreaderManager.AddSpreadDetails(spreadReq, out rtnCode);

            System.Diagnostics.Debug.Assert(rtnCode == ASReturnCodes.Success);
            Console.WriteLine($"   New ASE instrument is created {newInst.InstrumentDetails.Name}: {newInst.InstrumentDetails.Id}/{newInst.InstrumentDetails.Version}");
            return(newInst);
        }
コード例 #6
0
        Instrument UpdateSpread(Instrument instrument)
        {
            // update
            ASReturnCodes rtnCode;

            Console.WriteLine("Update the new created SPREAD");
            SpreadDetails spreadReq = instrument.GetSpreadDetails();

            spreadReq.UserDefinedDenominator = 20;
            spreadReq.UserDefinedNumerator   = 1;
            var legChange = spreadReq.GetLeg(1);

            legChange.PriceMultiplier = -3;
            spreadReq.Updateleg(1, legChange);

            // Update the spread to the spread manager and Save the ASE instrument in TT system.
            //  Parameter spreadReq: SpreadDetails object representing the spread to update
            //  Parameter rtnCode: ASReturnCodes enum indicating the status of the request
            var updatedInst = AutospreaderManager.UpdateSpreadDetails(spreadReq, out rtnCode);

            System.Diagnostics.Debug.Assert(rtnCode == ASReturnCodes.Success);

            return(updatedInst);
        }
コード例 #7
0
 /// <summary>
 /// Start the SpreadDetailSubscription.
 /// </summary>
 private void startSpreadDetailSubscription()
 {
     m_autospreaderManager = m_session.TTAPI.AutospreaderManager;
     m_spreadDetailSubscription = new SpreadDetailSubscription(m_session, m_dispatcher);
     m_spreadDetailSubscription.SpreadDetailsAdded += new EventHandler<SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.SpreadDetailsUpdated += new EventHandler<SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.SpreadDetailsDeleted += new EventHandler<SpreadDetailsEventArgs>(spreadDetailsChanged);
     m_spreadDetailSubscription.Start();
 }