private IEnumerable <Task <TradeDto> > ExecuteDownload(IEnumerable <InstrumentResponseDto> instruments,
                                                        MarketDataApi apiInstance,
                                                        TaskScheduler taskScheduler,
                                                        CancellationToken cancellationToken)
 {
     return(instruments.Select(instru => GetLastTradesByInstruments(apiInstance, taskScheduler, instru, cancellationToken)));
 }
Пример #2
0
        static void test_KingstarGold_Main(string[] args)
        {
            ApiManager.QueuePath = @"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\QuantBox_Queue.dll";
            api = ApiManager.CreateApi(@"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\XAPI\KingstarGold\QuantBox_KingstarGold.dll");

            api.Server.BrokerID = "";
            api.Server.Address  = "tcp://124.74.239.38:18961";

            api.User.UserID   = "9843010200773696";
            api.User.Password = "******";

            api.OnConnectionStatus   = OnConnectionStatus;
            api.OnRtnDepthMarketData = OnRtnDepthMarketData;

            api.Connect();

            Console.ReadKey();
            api.Subscribe("IF1411", "");

            Console.ReadKey();

            ApiManager.ReleaseApi(api);

            Console.ReadKey();

            Console.ReadKey();

            //api.Dispose();
            //queue.Dispose();
        }
Пример #3
0
        static void test_CTP_Main(string[] args)
        {
            ApiManager.QueuePath = @"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\QuantBox_Queue.dll";
            api = ApiManager.CreateApi(@"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\XAPI\CTP\QuantBox_CTP_Trade.dll");

            api.Server.BrokerID = "1017";
            api.Server.Address  = "tcp://ctpmn1-front1.citicsf.com:51205";

            api.User.UserID   = "00000015";
            api.User.Password = "******";

            api.OnConnectionStatus   = OnConnectionStatus;
            api.OnRtnDepthMarketData = OnRtnDepthMarketData;

            api.Connect();

            Thread.Sleep(5 * 1000);

            ApiManager.ReleaseApi(api);



            //api.Dispose();
            //queue.Dispose();
        }
Пример #4
0
        public LunoApi(IConfig lunoConfig)
        {
            var lunoApiClient = new LunoApiClient(lunoConfig);

            MarketDataApi = new MarketDataApi(lunoApiClient);
            AccountsApi   = new AccountsApi(lunoApiClient);
            QuotesApi     = new QuotesApi(lunoApiClient);
        }
        public HaasonlineClient(string ip, int port, string privateKey)
        {
            MarketDataApi  = new MarketDataApi($"http://{ip}:{port}", privateKey);
            AccountDataApi = new AccountDataApi($"http://{ip}:{port}", privateKey);
            TradeApi       = new TradeApi($"http://{ip}:{port}", privateKey);

            TradeBotApi  = new TradeBotApi($"http://{ip}:{port}", privateKey);
            CustomBotApi = new CustomBotApi($"http://{ip}:{port}", privateKey);
        }
        public async Task <IEnumerable <InstrumentResponseDto> > GetInstrumentsAsync(InstrumentConfig configuration, CancellationToken cancellationToken)
        {
            var apiInstance = new MarketDataApi(Org.OpenAPITools.Client.Configuration.Default);
            var currency    = configuration.Currency.ToString().ToUpper(); // string | The currency symbol
            var kind        = configuration.Kind.ToString().ToLower();     // string | Instrument kind, if not provided instruments of all kinds are considered (optional)
            var expired     = configuration.Expired;                       // bool? | Set to true to show expired instruments instead of active ones. (optional)  (default to false)
            var result      = await apiInstance.PublicGetInstrumentsGetAsync(currency, kind, expired) as JObject;

            return(result.ToObject <JsonRpcEnvelopeDto <InstrumentResponseDto[]> >().result);
        }
Пример #7
0
        public MdApiWrapper()
        {
            m_Api = new MarketDataApi();

            m_Api.OnConnect    = OnConnect_callback;
            m_Api.OnDisconnect = OnDisconnect_callback;
            m_Api.OnRspError   = OnRspError_callback;

            m_Api.OnRtnDepthMarketData_Tick  = OnRtnDepthMarketData_Tick_callback;
            m_Api.OnRtnDepthMarketData_KLine = OnRtnDepthMarketData_KLine_callback;
            m_Api.OnHistoryTick  = OnHistoryTick_callback;
            m_Api.OnHistoryKLine = OnHistoryKLine_callback;

            m_Api.CTP_RegMD();
        }
        private static async Task <TradeDto> GetLastTradesByInstruments(MarketDataApi apiInstance, TaskScheduler taskScheduler, InstrumentResponseDto instru, CancellationToken cancellationToken)
        {
            // return apiInstance.PublicGetLastTradesByInstrumentGetAsync(instru.Name, null, null, 1, false, null)
            //                                         .ContinueWith(GetLastTrade, cancellationToken, TaskContinuationOptions.OnlyOnRanToCompletion, taskScheduler)
            //                                         .ContinueWith(ReturnNull, cancellationToken, TaskContinuationOptions.OnlyOnFaulted, taskScheduler);
            try
            {
                var dataApi = await apiInstance.PublicGetLastTradesByInstrumentGetAsync(instru.Name, null, null, 1, false, null);

                return(GetLastTrade(dataApi as JObject));
            }
            catch (System.Exception)
            {
                return(null);
            }
        }
Пример #9
0
        public WtpMdApiWrapper()
        {
            m_Api = new MarketDataApi();

            m_Api.OnConnect       = OnFrontConnected_callback;
            m_Api.OnDisconnect    = OnFrontDisconnected_callback;
            m_Api.OnRspUserLogin  = OnRspUserLogin_callback;
            m_Api.OnRspUserLogout = OnRspUserLogout_callback;
            m_Api.OnRspError      = OnRspError_callback;

            m_Api.OnRspQrySymbol    = OnRspQrySymbol_callback;
            m_Api.OnRspQryQuotation = OnRspQryQuotation_callback;
            m_Api.OnRtnQuotation    = OnRtnQuotation_callback;

            m_Api.WTP_RegMD();
        }
Пример #10
0
        static void test_Linux_Main(string[] args)
        {
            //Console.WriteLine (Path.GetTempPath());
            //return;
            Queue queue = new Queue(@"libQuantBox_Queue.so");
            //Queue queue2 = new Queue(@"libQuantBox_Queue.so");
            MarketDataApi api = new MarketDataApi(@"/home/hetao/works/QuantBox_X/QuantBox.XAPI/bin/libQuantBox_CTP_Quote.so", queue);

            //TraderApi api2 = new TraderApi(@"C:\Program Files\SmartQuant Ltd\OpenQuant 2014\TAPI\CTP\QuantBox.C2CTP.Trade.dll", queue2);

            api.Server.BrokerID = "1017";
            api.Server.Address  = "tcp://ctpmn1-front1.citicsf.com:51213";

            api.User.UserID   = "00000015";
            api.User.Password = "******";

            api.OnConnectionStatus   = OnConnectionStatus;
            api.OnRtnDepthMarketData = OnRtnDepthMarketData;

            /*api2.Server.BrokerID = "1017";
             * api2.Server.Address = "tcp://ctpmn1-front1.citicsf.com:51205";
             * api2.Server.ResumeType = ResumeType.Restart;
             *
             * api2.User.UserID = "00000015";
             * api2.User.Password = "******";
             *
             * api2.OnConnectionStatus = OnConnectionStatus2;
             * api2.OnRspQryInstrument = OnRspQryInstrument;
             * api2.OnRspQryTradingAccount = OnRspQryTradingAccount;
             * api2.OnRspQrySettlementInfo = OnRspQrySettlementInfo;
             * api2.OnRtnOrder = OnRtnOrder;
             * api2.OnRtnError = OnRtnError;
             * api2.OnRtnTrade = OnRtnTrade;*/

            api.Connect();
            //api2.Connect();

            api.Subscribe("IF1410", "");

            Console.ReadKey();

            Console.ReadKey();

            api.Dispose();
        }
Пример #11
0
        static void test_LTS_Main(string[] args)
        {
            Queue         queue  = new Queue(@"QuantBox_Queue.dll");
            Queue         queue2 = new Queue(@"QuantBox_Queue.dll");
            MarketDataApi api    = new MarketDataApi("QuantBox_LTS_Quote.dll", queue);
            TraderApi     api2   = new TraderApi("QuantBox_C2LTS_Trade.dll", queue2);

            api.Server.BrokerID = "2010";
            api.Server.Address  = "tcp://211.144.195.163:44513";

            api.User.UserID   = "00000015";
            api.User.Password = "******";

            api.OnConnectionStatus   = OnConnectionStatus;
            api.OnRtnDepthMarketData = OnRtnDepthMarketData;

            api2.Server.BrokerID = "2010";
            api2.Server.Address  = "tcp://211.144.195.163:44505";

            api2.User.UserID   = "0020090001134";
            api2.User.Password = "******";

            api2.OnConnectionStatus     = OnConnectionStatus2;
            api2.OnRspQryInstrument     = OnRspQryInstrument;
            api2.OnRspQryTradingAccount = OnRspQryTradingAccount;
            api2.OnRspQrySettlementInfo = OnRspQrySettlementInfo;
            api2.OnRtnOrder             = OnRtnOrder;
            api2.OnRtnError             = OnRtnError;
            api2.OnRtnTrade             = OnRtnTrade;

            api.Connect();
            api2.Connect();

            Console.ReadKey();

            api2.ReqQryInstrument("", "");

            Console.ReadKey();

            api.Dispose();
            api2.Dispose();
            //queue.Dispose();
        }
        public async Task <bool> TestCreditials()
        {
            var res = await MarketDataApi.GetEnabledPriceSources();

            return(res.ErrorCode == EnumErrorCode.Success);
        }
Пример #13
0
 public void Init()
 {
     instance = new MarketDataApi();
 }
Пример #14
0
 private void Init(MsgQueue msgQueue)
 {
     m_pMsgQueue = msgQueue;
     m_Api       = new MarketDataApi(m_pMsgQueue);
 }
Пример #15
0
 public DownloadMarketDataJobDetailBuilder SetMarketDataApi(MarketDataApi marketDataApi)
 {
     jobDataMap["marketDataApi"] = marketDataApi;
     return(this);
 }