• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# O2GSession类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中O2GSession的典型用法代码示例。如果您正苦于以下问题:C# O2GSession类的具体用法?C# O2GSession怎么用?C# O2GSession使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



O2GSession类属于命名空间,在下文中一共展示了O2GSession类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CreateELSRequest

 /// <summary>
 /// Create entry order with attached stop and limit orders request
 /// </summary>
 private static O2GRequest CreateELSRequest(O2GSession session, string sOfferID, string sAccountID, int iAmount, double dRate, double dRateLimit, double dRateStop, string sBuySell, string sOrderType)
 {
     O2GRequest request = null;
     O2GRequestFactory requestFactory = session.getRequestFactory();
     if (requestFactory == null)
     {
         throw new Exception("Cannot create request factory");
     }
     O2GValueMap valuemap = requestFactory.createValueMap();
     valuemap.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);
     valuemap.setString(O2GRequestParamsEnum.OrderType, sOrderType);
     valuemap.setString(O2GRequestParamsEnum.AccountID, sAccountID);
     valuemap.setString(O2GRequestParamsEnum.OfferID, sOfferID);
     valuemap.setString(O2GRequestParamsEnum.BuySell, sBuySell);
     valuemap.setInt(O2GRequestParamsEnum.Amount, iAmount);
     valuemap.setDouble(O2GRequestParamsEnum.Rate, dRate);
     valuemap.setDouble(O2GRequestParamsEnum.RateLimit, dRateLimit);
     valuemap.setDouble(O2GRequestParamsEnum.RateStop, dRateStop);
     valuemap.setString(O2GRequestParamsEnum.CustomID, "EntryOrderWithStopLimit");
     request = requestFactory.createOrderRequest(valuemap);
     if (request == null)
     {
         Console.WriteLine(requestFactory.getLastError());
     }
     return request;
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:29,代码来源:Program.cs


示例2: ResponseListener

 /// <summary>
 /// ctor
 /// </summary>
 /// <param name="session"></param>
 public ResponseListener(O2GSession session)
 {
     mRequestID = string.Empty;
     mResponse = null;
     mSyncResponseEvent = new EventWaitHandle(false, EventResetMode.AutoReset);
     mSession = session;
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:11,代码来源:ResponseListener.cs


示例3: IsOrderExists

 /// <summary>
 /// Check if order exists
 /// </summary>
 /// <param name="session"></param>
 /// <param name="sAccountID"></param>
 /// <param name="sOrderID"></param>
 /// <param name="responseListener"></param>
 /// <returns></returns>
 private static bool IsOrderExists(O2GSession session, string sAccountID, string sOrderID, ResponseListener responseListener)
 {
     bool bHasOrder = false;
     O2GRequestFactory requestFactory = session.getRequestFactory();
     if (requestFactory == null)
     {
         throw new Exception("Cannot create request factory");
     }
     O2GRequest request = requestFactory.createRefreshTableRequestByAccount(O2GTableType.Orders, sAccountID);
     if (request == null)
     {
         throw new Exception("Cannot create request");
     }
     responseListener.SetRequestID(request.RequestID);
     session.sendRequest(request);
     if (!responseListener.WaitEvents())
     {
         throw new Exception("Response waiting timeout expired");
     }
     O2GResponse response = responseListener.GetResponse();
     O2GResponseReaderFactory responseReaderFactory = session.getResponseReaderFactory();
     O2GOrdersTableResponseReader responseReader = responseReaderFactory.createOrdersTableReader(response);
     for (int i = 0; i < responseReader.Count; i++)
     {
         O2GOrderRow orderRow = responseReader.getRow(i);
         if (sOrderID.Equals(orderRow.OrderID))
         {
             bHasOrder = true;
             break;
         }
     }
     return bHasOrder;
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:41,代码来源:Program.cs


示例4: GetReports

        /// <summary>
        /// Get reports for all accounts
        /// </summary>
        /// <param name="session"></param>
        public static void GetReports(O2GSession session)
        {
            O2GLoginRules loginRules = session.getLoginRules();
            if (loginRules == null)
            {
                throw new Exception("Cannot get login rules");
            }
            O2GResponseReaderFactory responseFactory = session.getResponseReaderFactory();
            O2GResponse accountsResponse = loginRules.getTableRefreshResponse(O2GTableType.Accounts);
            O2GAccountsTableResponseReader accountsReader = responseFactory.createAccountsTableReader(accountsResponse);
            System.Net.WebClient webClient = new System.Net.WebClient();
            for (int i = 0; i < accountsReader.Count; i++)
            {
                O2GAccountRow account = accountsReader.getRow(i);
                string url = session.getReportURL(account, DateTime.Now.AddMonths(-1), DateTime.Now, "html", null, null, 0);

                Console.WriteLine("AccountID={0}; Balance={1}; UsedMargin={2}; Report URL={3}",
                        account.AccountID, account.Balance, account.UsedMargin, url);

                string content = webClient.DownloadString(url);
                string filename = account.AccountID + ".html";
                System.IO.File.WriteAllText(filename, content);
                Console.WriteLine("Report is saved to {0}", filename);
            }
        }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:29,代码来源:Program.cs


示例5: CreateEntryOrderRequest

        /// <summary>
        /// Create entry order request
        /// </summary>
        private static O2GRequest CreateEntryOrderRequest(O2GSession session, string sOfferID, string sAccountID, int iAmount, double dRate, string sBuySell, string sOrderType, string sExpireDate)
        {
            O2GRequest request = null;
            O2GRequestFactory requestFactory = session.getRequestFactory();
            if (requestFactory == null)
            {
                throw new Exception("Cannot create request factory");
            }
            O2GValueMap valuemap = requestFactory.createValueMap();
            valuemap.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);
            valuemap.setString(O2GRequestParamsEnum.OrderType, sOrderType);
            valuemap.setString(O2GRequestParamsEnum.AccountID, sAccountID);
            valuemap.setString(O2GRequestParamsEnum.OfferID, sOfferID);
            valuemap.setString(O2GRequestParamsEnum.BuySell, sBuySell);
            valuemap.setInt(O2GRequestParamsEnum.Amount, iAmount);
            valuemap.setDouble(O2GRequestParamsEnum.Rate, dRate);
            valuemap.setString(O2GRequestParamsEnum.CustomID, "EntryOrder");

            if (!string.IsNullOrEmpty(sExpireDate))
            {
                valuemap.setString(O2GRequestParamsEnum.TimeInForce, Constants.TIF.GTD);
                valuemap.setString(O2GRequestParamsEnum.ExpireDateTime, sExpireDate); // UTCTimestamp format: "yyyyMMdd-HH:mm:ss.SSS" (milliseconds are optional)
            }

            request = requestFactory.createOrderRequest(valuemap);
            if (request == null)
            {
                Console.WriteLine(requestFactory.getLastError());
            }
            return request;
        }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:34,代码来源:Program.cs


示例6: AddOrderIntoGroupRequest

        /// <summary>
        /// Create request for adding existing order into existing contingency group
        /// </summary>
        private static O2GRequest AddOrderIntoGroupRequest(O2GSession session, string sAccountID, string sContingencyID, string sOrderID, int iContingencyType)
        {
            O2GRequest request = null;
            O2GRequestFactory requestFactory = session.getRequestFactory();
            if (requestFactory == null)
            {
                throw new Exception("Cannot create request factory");
            }
            O2GValueMap valuemapMain = requestFactory.createValueMap();
            valuemapMain.setString(O2GRequestParamsEnum.Command, Constants.Commands.JoinToExistingContingencyGroup);
            valuemapMain.setInt(O2GRequestParamsEnum.ContingencyGroupType, iContingencyType);
            valuemapMain.setString(O2GRequestParamsEnum.ContingencyID, sContingencyID);

            O2GValueMap valuemapChild = requestFactory.createValueMap();
            valuemapChild.setString(O2GRequestParamsEnum.OrderID, sOrderID);
            valuemapChild.setString(O2GRequestParamsEnum.AccountID, sAccountID);
            valuemapMain.appendChild(valuemapChild);

            request = requestFactory.createOrderRequest(valuemapMain);
            if (request == null)
            {
                Console.WriteLine(requestFactory.getLastError());
            }
            return request;
        }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:28,代码来源:Program.cs


示例7: Connection

 public Connection(O2GSession session, LoginParams loginParams, SampleParams sampleParams, bool bIsFirstAccount)
 {
     mSession = session;
     mLoginParams = loginParams;
     mSampleParams = sampleParams;
     mIsFirstAccount = bIsFirstAccount;
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:7,代码来源:Connection.cs


示例8: PrintOffers

 /// <summary>
 /// Store offers data from response and print it
 /// </summary>
 /// <param name="session"></param>
 /// <param name="response"></param>
 /// <param name="sInstrument"></param>
 public void PrintOffers(O2GSession session, O2GResponse response, string sInstrument)
 {
     O2GResponseReaderFactory readerFactory = session.getResponseReaderFactory();
     if (readerFactory == null)
     {
         throw new Exception("Cannot create response reader factory");
     }
     O2GOffersTableResponseReader responseReader = readerFactory.createOffersTableReader(response);
     for (int i = 0; i < responseReader.Count; i++)
     {
         O2GOfferRow offerRow = responseReader.getRow(i);
         Offer offer;
         if (mOffers.FindOffer(offerRow.OfferID, out offer))
         {
             if (offerRow.isTimeValid && offerRow.isBidValid && offerRow.isAskValid)
             {
                 offer.Date = offerRow.Time;
                 offer.Bid = offerRow.Bid;
                 offer.Ask = offerRow.Ask;
             }
         }
         else
         {
             offer = new Offer(offerRow.OfferID, offerRow.Instrument,
                              offerRow.Digits, offerRow.PointSize, offerRow.Time,
                              offerRow.Bid, offerRow.Ask);
             mOffers.AddOffer(offer);
         }
         if (string.IsNullOrEmpty(sInstrument) || offerRow.Instrument.Equals(sInstrument))
         {
             Console.WriteLine("{0}, {1}, Bid={2}, Ask={3}", offer.OfferID, offer.Instrument, offer.Bid, offer.Ask);
         }
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:40,代码来源:ResponseListener.cs


示例9: SessionStatusListener

 /// <summary>
 /// ctor
 /// </summary>
 /// <param name="session"></param>
 public SessionStatusListener(O2GSession session, string sSessionID, string sPin)
 {
     mSession = session;
     mSessionID = sSessionID;
     mPin = sPin;
     Reset();
     mSyncSessionEvent = new EventWaitHandle(false, EventResetMode.AutoReset);
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:12,代码来源:SessionStatusListener.cs


示例10: GetHistoryPrices

 /// <summary>
 /// Request historical prices for the specified timeframe of the specified period
 /// </summary>
 /// <param name="session"></param>
 /// <param name="sInstrument"></param>
 /// <param name="sTimeframe"></param>
 /// <param name="dtFrom"></param>
 /// <param name="dtTo"></param>
 /// <param name="responseListener"></param>
 public static void GetHistoryPrices(O2GSession session, string sInstrument, string sTimeframe, DateTime dtFrom, DateTime dtTo, ResponseListener responseListener)
 {
     O2GRequestFactory factory = session.getRequestFactory();
     O2GTimeframe timeframe = factory.Timeframes[sTimeframe];
     if (timeframe == null)
     {
         throw new Exception(string.Format("Timeframe '{0}' is incorrect!", sTimeframe));
     }
     O2GRequest request = factory.createMarketDataSnapshotRequestInstrument(sInstrument, timeframe, 300);
     DateTime dtFirst = dtTo;
     do // cause there is limit for returned candles amount
     {
         factory.fillMarketDataSnapshotRequestTime(request, dtFrom, dtFirst, false);
         responseListener.SetRequestID(request.RequestID);
         session.sendRequest(request);
         if (!responseListener.WaitEvents())
         {
             throw new Exception("Response waiting timeout expired");
         }
         // shift "to" bound to oldest datetime of returned data
         O2GResponse response = responseListener.GetResponse();
         if (response != null && response.Type == O2GResponseType.MarketDataSnapshot)
         {
             O2GResponseReaderFactory readerFactory = session.getResponseReaderFactory();
             if (readerFactory != null)
             {
                 O2GMarketDataSnapshotResponseReader reader = readerFactory.createMarketDataSnapshotReader(response);
                 if (reader.Count > 0)
                 {
                     if (DateTime.Compare(dtFirst, reader.getDate(0)) != 0)
                     {
                         dtFirst = reader.getDate(0); // earliest datetime of returned data
                     }
                     else
                     {
                         break;
                     }
                 }
                 else
                 {
                     Console.WriteLine("0 rows received");
                     break;
                 }
             }
             PrintPrices(session, response);
         }
         else
         {
             break;
         }
     } while (dtFirst > dtFrom);
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:61,代码来源:Program.cs


示例11: FindOrder

 /// <summary>
 /// Find order by id and print it
 /// </summary>
 /// <param name="session"></param>
 /// <param name="sAccountID"></param>
 /// <param name="sOrderID"></param>
 /// <param name="responseListener"></param>
 private static void FindOrder(O2GSession session, string sAccountID, string sOrderID, ResponseListener responseListener)
 {
     O2GRequestFactory requestFactory = session.getRequestFactory();
     if (requestFactory == null)
     {
         throw new Exception("Cannot create request factory");
     }
     O2GRequest request = requestFactory.createRefreshTableRequestByAccount(O2GTableType.Orders, sAccountID);
     if (request != null)
     {
         responseListener.SetRequestID(request.RequestID);
         session.sendRequest(request);
         if (!responseListener.WaitEvents())
         {
             throw new Exception("Response waiting timeout expired");
         }
         O2GResponse orderResponse = responseListener.GetResponse();
         if (orderResponse != null)
         {
             if (orderResponse.Type == O2GResponseType.GetOrders)
             {
                 O2GResponseReaderFactory responseReaderFactory = session.getResponseReaderFactory();
                 bool bFound = false;
                 O2GOrdersTableResponseReader responseReader = responseReaderFactory.createOrdersTableReader(orderResponse);
                 for (int i = 0; i < responseReader.Count; i++)
                 {
                     O2GOrderRow orderRow = responseReader.getRow(i);
                     if (sOrderID.Equals(orderRow.OrderID))
                     {
                         Console.WriteLine("OrderID={0}; AccountID={1}; Type={2}; Status={3}; OfferID={4}; Amount={5}; BuySell={6}; Rate={7}",
                                 orderRow.OrderID, orderRow.AccountID, orderRow.Type, orderRow.Status, orderRow.OfferID,
                                 orderRow.Amount, orderRow.BuySell, orderRow.Rate);
                         bFound = true;
                         break;
                     }
                 }
                 if (!bFound)
                 {
                     Console.WriteLine("OrderID={0} is not found!", sOrderID);
                 }
             }
         }
     }
     else
     {
         Console.WriteLine("Cannot create request");
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:55,代码来源:Program.cs


示例12: PrintAccounts

 /// <summary>
 /// Print accounts table
 /// </summary>
 /// <param name="session"></param>
 private static void PrintAccounts(O2GSession session)
 {
     O2GResponseReaderFactory readerFactory = session.getResponseReaderFactory();
     if (readerFactory == null)
     {
         throw new Exception("Cannot create response reader factory");
     }
     O2GLoginRules loginRules = session.getLoginRules();
     O2GResponse response = loginRules.getTableRefreshResponse(O2GTableType.Accounts);
     O2GAccountsTableResponseReader accountsResponseReader = readerFactory.createAccountsTableReader(response);
     for (int i = 0; i < accountsResponseReader.Count; i++)
     {
         O2GAccountRow accountRow = accountsResponseReader.getRow(i);
         Console.WriteLine("AccountID: {0}, Balance: {1}, Used margin: {2}", accountRow.AccountID, accountRow.Balance, accountRow.UsedMargin);
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:20,代码来源:Program.cs


示例13: CreateTrueMarketOrderRequest

 /// <summary>
 /// Create true market order request
 /// </summary>
 private static O2GRequest CreateTrueMarketOrderRequest(O2GSession session, string sOfferID, string sAccountID, int iAmount, string sBuySell)
 {
     O2GRequest request = null;
     O2GRequestFactory requestFactory = session.getRequestFactory();
     if (requestFactory == null)
     {
         throw new Exception("Cannot create request factory");
     }
     O2GValueMap valuemap = requestFactory.createValueMap();
     valuemap.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);
     valuemap.setString(O2GRequestParamsEnum.OrderType, Constants.Orders.TrueMarketOpen);
     valuemap.setString(O2GRequestParamsEnum.AccountID, sAccountID);
     valuemap.setString(O2GRequestParamsEnum.OfferID, sOfferID);
     valuemap.setString(O2GRequestParamsEnum.BuySell, sBuySell);
     valuemap.setInt(O2GRequestParamsEnum.Amount, iAmount);
     valuemap.setString(O2GRequestParamsEnum.CustomID, "TrueMarketOrder");
     request = requestFactory.createOrderRequest(valuemap);
     return request;
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:22,代码来源:Program.cs


示例14: GetAccount

 /// <summary>
 /// Find valid account by ID or get the first valid account
 /// </summary>
 /// <param name="session"></param>
 /// <returns>account</returns>
 private static O2GAccountRow GetAccount(O2GSession session, string sAccountID)
 {
     O2GAccountRow account = null;
     bool bHasAccount = false;
     O2GResponseReaderFactory readerFactory = session.getResponseReaderFactory();
     if (readerFactory == null)
     {
         throw new Exception("Cannot create response reader factory");
     }
     O2GLoginRules loginRules = session.getLoginRules();
     O2GResponse response = loginRules.getTableRefreshResponse(O2GTableType.Accounts);
     O2GAccountsTableResponseReader accountsResponseReader = readerFactory.createAccountsTableReader(response);
     for (int i = 0; i < accountsResponseReader.Count; i++)
     {
         account = accountsResponseReader.getRow(i);
         string sAccountKind = account.AccountKind;
         if (account.MaintenanceType.Equals("0"))  // netting account
         {
             if (sAccountKind.Equals("32") || sAccountKind.Equals("36"))
             {
                 if (account.MarginCallFlag.Equals("N"))
                 {
                     if (string.IsNullOrEmpty(sAccountID) || sAccountID.Equals(account.AccountID))
                     {
                         bHasAccount = true;
                         break;
                     }
                 }
             }
         }
     }
     if (!bHasAccount)
     {
         return null;
     }
     else
     {
         return account;
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:45,代码来源:Program.cs


示例15: CreateOCORequest

        /// <summary>
        /// Create OCO request
        /// </summary>
        private static O2GRequest CreateOCORequest(O2GSession session, string sOfferID, string sAccountID, int iAmount, double dRateUp, double dRateDown)
        {
            O2GRequest request = null;
            O2GRequestFactory requestFactory = session.getRequestFactory();
            if (requestFactory == null)
            {
                throw new Exception("Cannot create request factory");
            }
            O2GValueMap valuemapMain = requestFactory.createValueMap();
            valuemapMain.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOCO);

            // ValueMap for upswing
            O2GValueMap valuemapUp = requestFactory.createValueMap();
            valuemapUp.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);
            valuemapUp.setString(O2GRequestParamsEnum.OrderType, Constants.Orders.StopEntry);
            valuemapUp.setString(O2GRequestParamsEnum.AccountID, sAccountID);
            valuemapUp.setString(O2GRequestParamsEnum.OfferID, sOfferID);
            valuemapUp.setString(O2GRequestParamsEnum.BuySell, Constants.Buy);
            valuemapUp.setInt(O2GRequestParamsEnum.Amount, iAmount);
            valuemapUp.setDouble(O2GRequestParamsEnum.Rate, dRateUp);
            valuemapMain.appendChild(valuemapUp);

            // ValueMap for downswing
            O2GValueMap valuemapDown = requestFactory.createValueMap();
            valuemapDown.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);
            valuemapDown.setString(O2GRequestParamsEnum.OrderType, Constants.Orders.StopEntry);
            valuemapDown.setString(O2GRequestParamsEnum.AccountID, sAccountID);
            valuemapDown.setString(O2GRequestParamsEnum.OfferID, sOfferID);
            valuemapDown.setString(O2GRequestParamsEnum.BuySell, Constants.Sell);
            valuemapDown.setInt(O2GRequestParamsEnum.Amount, iAmount);
            valuemapDown.setDouble(O2GRequestParamsEnum.Rate, dRateDown);
            valuemapMain.appendChild(valuemapDown);

            request = requestFactory.createOrderRequest(valuemapMain);
            if (request == null)
            {
                Console.WriteLine(requestFactory.getLastError());
            }
            return request;
        }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:43,代码来源:Program.cs


示例16: PrintPrices

 /// <summary>
 /// Print history data from response
 /// </summary>
 /// <param name="session"></param>
 /// <param name="response"></param>
 public static void PrintPrices(O2GSession session, O2GResponse response)
 {
     Console.WriteLine("Request with RequestID={0} is completed:", response.RequestID);
     O2GResponseReaderFactory factory = session.getResponseReaderFactory();
     if (factory != null)
     {
         O2GMarketDataSnapshotResponseReader reader = factory.createMarketDataSnapshotReader(response);
         for (int ii = reader.Count - 1; ii >= 0; ii--)
         {
             if (reader.isBar)
             {
                 Console.WriteLine("DateTime={0}, BidOpen={1}, BidHigh={2}, BidLow={3}, BidClose={4}, AskOpen={5}, AskHigh={6}, AskLow={7}, AskClose={8}, Volume={9}",
                         reader.getDate(ii), reader.getBidOpen(ii), reader.getBidHigh(ii), reader.getBidLow(ii), reader.getBidClose(ii),
                         reader.getAskOpen(ii), reader.getAskHigh(ii), reader.getAskLow(ii), reader.getAskClose(ii), reader.getVolume(ii));
             }
             else
             {
                 Console.WriteLine("DateTime={0}, Bid={1}, Ask={2}", reader.getDate(ii), reader.getBidClose(ii), reader.getAskClose(ii));
             }
         }
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:27,代码来源:Program.cs


示例17: CheckPermissions

 /// <summary>
 /// Show permissions for the particular instrument
 /// </summary>
 public static void CheckPermissions(O2GSession session, string sInstrument)
 {
     O2GLoginRules loginRules = session.getLoginRules();
     O2GPermissionChecker permissionChecker = loginRules.getPermissionChecker();
     Console.WriteLine("canCreateMarketOpenOrder = {0}", permissionChecker.canCreateMarketOpenOrder(sInstrument));
     Console.WriteLine("canChangeMarketOpenOrder = {0}", permissionChecker.canChangeMarketOpenOrder(sInstrument));
     Console.WriteLine("canDeleteMarketOpenOrder = {0}", permissionChecker.canDeleteMarketOpenOrder(sInstrument));
     Console.WriteLine("canCreateMarketCloseOrder = {0}", permissionChecker.canCreateMarketCloseOrder(sInstrument));
     Console.WriteLine("canChangeMarketCloseOrder = {0}", permissionChecker.canChangeMarketCloseOrder(sInstrument));
     Console.WriteLine("canDeleteMarketCloseOrder = {0}", permissionChecker.canDeleteMarketCloseOrder(sInstrument));
     Console.WriteLine("canCreateEntryOrder = {0}", permissionChecker.canCreateEntryOrder(sInstrument));
     Console.WriteLine("canChangeEntryOrder = {0}", permissionChecker.canChangeEntryOrder(sInstrument));
     Console.WriteLine("canDeleteEntryOrder = {0}", permissionChecker.canDeleteEntryOrder(sInstrument));
     Console.WriteLine("canCreateStopLimitOrder = {0}", permissionChecker.canCreateStopLimitOrder(sInstrument));
     Console.WriteLine("canChangeStopLimitOrder = {0}", permissionChecker.canChangeStopLimitOrder(sInstrument));
     Console.WriteLine("canDeleteStopLimitOrder = {0}", permissionChecker.canDeleteStopLimitOrder(sInstrument));
     Console.WriteLine("canRequestQuote = {0}", permissionChecker.canRequestQuote(sInstrument));
     Console.WriteLine("canAcceptQuote = {0}", permissionChecker.canAcceptQuote(sInstrument));
     Console.WriteLine("canDeleteQuote = {0}", permissionChecker.canDeleteQuote(sInstrument));
     Console.WriteLine("canJoinToNewContingencyGroup = {0}", permissionChecker.canJoinToNewContingencyGroup(sInstrument));
     Console.WriteLine("canJoinToExistingContingencyGroup = {0}", permissionChecker.canJoinToExistingContingencyGroup(sInstrument));
     Console.WriteLine("canRemoveFromContingencyGroup = {0}", permissionChecker.canRemoveFromContingencyGroup(sInstrument));
     Console.WriteLine("canChangeOfferSubscription = {0}", permissionChecker.canChangeOfferSubscription(sInstrument));
     Console.WriteLine("canCreateNetCloseOrder = {0}", permissionChecker.canCreateNetCloseOrder(sInstrument));
     Console.WriteLine("canChangeNetCloseOrder = {0}", permissionChecker.canChangeNetCloseOrder(sInstrument));
     Console.WriteLine("canDeleteNetCloseOrder = {0}", permissionChecker.canDeleteNetCloseOrder(sInstrument));
     Console.WriteLine("canCreateNetStopLimitOrder = {0}", permissionChecker.canCreateNetStopLimitOrder(sInstrument));
     Console.WriteLine("canChangeNetStopLimitOrder = {0}", permissionChecker.canChangeNetStopLimitOrder(sInstrument));
     Console.WriteLine("canDeleteNetStopLimitOrder = {0}", permissionChecker.canDeleteNetStopLimitOrder(sInstrument));
     Console.WriteLine("canUseDynamicTrailingForStop = {0}", permissionChecker.canUseDynamicTrailingForStop());
     Console.WriteLine("canUseDynamicTrailingForLimit = {0}", permissionChecker.canUseDynamicTrailingForLimit());
     Console.WriteLine("canUseDynamicTrailingForEntryStop = {0}", permissionChecker.canUseDynamicTrailingForEntryStop());
     Console.WriteLine("canUseDynamicTrailingForEntryLimit = {0}", permissionChecker.canUseDynamicTrailingForEntryLimit());
     Console.WriteLine("canUseFluctuateTrailingForStop = {0}", permissionChecker.canUseFluctuateTrailingForStop());
     Console.WriteLine("canUseFluctuateTrailingForLimit = {0}", permissionChecker.canUseFluctuateTrailingForLimit());
     Console.WriteLine("canUseFluctuateTrailingForEntryStop = {0}", permissionChecker.canUseFluctuateTrailingForEntryStop());
     Console.WriteLine("canUseFluctuateTrailingForEntryLimit = {0}", permissionChecker.canUseFluctuateTrailingForEntryLimit());
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:41,代码来源:Program.cs


示例18: CreateCloseMarketOrderRequest

        /// <summary>
        /// Create close market order request
        /// </summary>
        private static O2GRequest CreateCloseMarketOrderRequest(O2GSession session, string sInstrument, O2GTradeRow tradeRow)
        {
            O2GRequest request = null;
            O2GRequestFactory requestFactory = session.getRequestFactory();
            if (requestFactory == null)
            {
                throw new Exception("Cannot create request factory");
            }

            O2GLoginRules loginRules = session.getLoginRules();
            O2GPermissionChecker permissionChecker = loginRules.getPermissionChecker();

            O2GValueMap valuemap = requestFactory.createValueMap();
            valuemap.setString(O2GRequestParamsEnum.Command, Constants.Commands.CreateOrder);

            if (permissionChecker.canCreateMarketCloseOrder(sInstrument) != O2GPermissionStatus.PermissionEnabled)
            {
                valuemap.setString(O2GRequestParamsEnum.OrderType, Constants.Orders.TrueMarketOpen); // in USA you need to use "OM" to close a position.
            }
            else
            {
                valuemap.setString(O2GRequestParamsEnum.OrderType, Constants.Orders.TrueMarketClose);
                valuemap.setString(O2GRequestParamsEnum.TradeID, tradeRow.TradeID);
            }

            valuemap.setString(O2GRequestParamsEnum.AccountID, tradeRow.AccountID);
            valuemap.setString(O2GRequestParamsEnum.OfferID, tradeRow.OfferID);
            valuemap.setString(O2GRequestParamsEnum.BuySell, tradeRow.BuySell.Equals(Constants.Buy) ? Constants.Sell : Constants.Buy);
            valuemap.setInt(O2GRequestParamsEnum.Amount, tradeRow.Amount);
            valuemap.setString(O2GRequestParamsEnum.CustomID, "CloseMarketOrder");
            request = requestFactory.createOrderRequest(valuemap);
            if (request == null)
            {
                Console.WriteLine(requestFactory.getLastError());
            }
            return request;
        }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:40,代码来源:Program.cs


示例19: ELSResponseListener

 public ELSResponseListener(O2GSession session, Display display)
 {
     this.mSession = session;
     this.display = display;
     manualEvent = new ManualResetEvent(false);
 }
开发者ID:pipseq,项目名称:csFxModel,代码行数:6,代码来源:ELSTrade.cs


示例20: PrintOrders

 /// <summary>
 /// Print orders table for account
 /// </summary>
 /// <param name="session"></param>
 /// <param name="sAccountID"></param>
 /// <param name="responseListener"></param>
 private static void PrintOrders(O2GSession session, string sAccountID, ResponseListener responseListener)
 {
     O2GRequestFactory requestFactory = session.getRequestFactory();
     if (requestFactory == null)
     {
         throw new Exception("Cannot create request factory");
     }
     O2GRequest request = requestFactory.createRefreshTableRequestByAccount(O2GTableType.Orders, sAccountID);
     if (request != null)
     {
         Console.WriteLine("Orders table for account {0}", sAccountID);
         responseListener.SetRequestID(request.RequestID);
         session.sendRequest(request);
         if (!responseListener.WaitEvents())
         {
             throw new Exception("Response waiting timeout expired");
         }
         O2GResponse response = responseListener.GetResponse();
         if (response != null)
         {
             O2GResponseReaderFactory responseReaderFactory = session.getResponseReaderFactory();
             O2GOrdersTableResponseReader responseReader = responseReaderFactory.createOrdersTableReader(response);
             for (int i = 0; i < responseReader.Count; i++)
             {
                 O2GOrderRow orderRow = responseReader.getRow(i);
                 Console.WriteLine("OrderID: {0}, Status: {1}, Amount: {2}", orderRow.OrderID, orderRow.Status, orderRow.Amount);
             }
         }
         else
         {
             throw new Exception("Cannot get response");
         }
     }
     else
     {
         throw new Exception("Cannot create request");
     }
 }
开发者ID:fxcmapidavid,项目名称:Forex-Connect,代码行数:44,代码来源:Program.cs



注:本文中的O2GSession类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# OAuth2Authenticator类代码示例发布时间:2022-05-24
下一篇:
C# Numerics.Complex32类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap