示例#1
0
 public void OnReply_GetAccList(FTAPI_Conn client, int nSerialNo, TrdGetAccList.Response rsp)
 {
     Console.WriteLine("Recv GetAccList: {0} {1}", nSerialNo, rsp);
     if (rsp.RetType != (int)Common.RetType.RetType_Succeed)
     {
         Console.WriteLine("error code is {0}", rsp.RetMsg);
     }
     else
     {
         this.accID = rsp.S2C.AccListList[1].AccID;
         FTAPI_Trd trd              = client as FTAPI_Trd;
         MD5       md5              = MD5.Create();
         byte[]    encryptionBytes  = md5.ComputeHash(Encoding.UTF8.GetBytes("196910"));
         string    unlockPwdMd5     = BitConverter.ToString(encryptionBytes).Replace("-", "").ToLower();
         TrdUnlockTrade.Request req = TrdUnlockTrade.Request.CreateBuilder().SetC2S(TrdUnlockTrade.C2S.CreateBuilder().SetUnlock(true).SetPwdMD5(unlockPwdMd5)).Build();
         uint serialNo              = trd.UnlockTrade(req);
         Console.WriteLine("Send UnlockTrade: {0}", serialNo);
     }
 }
示例#2
0
        public void TradeHkTest()
        {
            bool ret = InitConnectTrdSync(Config.OpendIP, Config.OpendPort);

            if (!ret)
            {
                Console.Error.WriteLine("Fail to connect opend");
                return;
            }
            else
            {
                Console.WriteLine("trd connected");
            }

            TrdUnlockTrade.Response unlockTradeRsp = UnlockTradeSync(Config.UnlockTradePwdMd5, true);
            if (unlockTradeRsp.RetType != (int)Common.RetType.RetType_Succeed)
            {
                Console.Error.Write("unlockTradeSync err; retType={0} msg={1}\n", unlockTradeRsp.RetType, unlockTradeRsp.RetMsg);
            }
            else
            {
                Console.WriteLine("unlock succeed");
            }

            TrdGetFunds.Response getFundsRsp = GetFundsSync(Config.TrdAcc, TrdCommon.TrdMarket.TrdMarket_HK, TrdCommon.TrdEnv.TrdEnv_Real,
                                                            false, TrdCommon.Currency.Currency_Unknown);
            Console.Write("getFundsSync: {0}\n", getFundsRsp);

            TrdGetAccList.Response getAccListRsp = GetAccListSync(Config.UserID);
            Console.Write("getAccList: {0}\n", getAccListRsp);

            {
                TrdGetPositionList.Response getPositionListRsp = GetPositionListSync(Config.TrdAcc,
                                                                                     TrdCommon.TrdMarket.TrdMarket_HK,
                                                                                     TrdCommon.TrdEnv.TrdEnv_Real, null,
                                                                                     -50.0, 50.0, false);
                Console.Write("getPositionList: {0}\n", getPositionListRsp);
            }

            {
                TrdGetOrderList.Response getOrderListRsp = GetOrderListSync(Config.TrdAcc, TrdCommon.TrdMarket.TrdMarket_HK,
                                                                            TrdCommon.TrdEnv.TrdEnv_Real, false, null,
                                                                            new List <TrdCommon.OrderStatus> {
                    TrdCommon.OrderStatus.OrderStatus_Submitted
                });
                Console.Write("getOrderList: {0}\n", getOrderListRsp);
            }

            {
                TrdCommon.TrdHeader header = TrdCommon.TrdHeader.CreateBuilder()
                                             .SetTrdEnv((int)TrdCommon.TrdEnv.TrdEnv_Real)
                                             .SetAccID(Config.TrdAcc)
                                             .SetTrdMarket((int)TrdCommon.TrdMarket.TrdMarket_HK)
                                             .Build();
                TrdPlaceOrder.C2S c2s = TrdPlaceOrder.C2S.CreateBuilder()
                                        .SetPacketID(trd.NextPacketID())
                                        .SetHeader(header)
                                        .SetTrdSide((int)TrdCommon.TrdSide.TrdSide_Sell)
                                        .SetOrderType((int)TrdCommon.OrderType.OrderType_Normal)
                                        .SetCode("00700")
                                        .SetQty(100)
                                        .SetPrice(700)
                                        .SetAdjustPrice(true)
                                        .SetSecMarket((int)TrdCommon.TrdSecMarket.TrdSecMarket_HK)
                                        .Build();
                TrdPlaceOrder.Response placeOrderRsp = PlaceOrderSync(c2s);
                Console.Write("placeOrder: {0}\n", placeOrderRsp);
            }

            {
                TrdCommon.TrdFilterConditions filterConditions = TrdCommon.TrdFilterConditions.CreateBuilder()
                                                                 .AddCodeList("00700")
                                                                 .Build();
                TrdGetOrderFillList.Response getOrderFillListRsp = GetOrderFillListSync(Config.TrdAcc,
                                                                                        TrdCommon.TrdMarket.TrdMarket_HK,
                                                                                        TrdCommon.TrdEnv.TrdEnv_Real, false, filterConditions);
                Console.Write("getOrderFillList: {0}\n", getOrderFillListRsp);
            }
        }
示例#3
0
 public void OnReply_GetAccList(FTAPI_Conn client, uint nSerialNo, TrdGetAccList.Response rsp)
 {
     handleTrdOnReply(nSerialNo, ProtoID.TrdGetAccList, rsp);
 }
示例#4
0
 public GetAccListEventArgs(FTAPI_Conn client, int nSerialNo, TrdGetAccList.Response result)
 {
     Client   = client;
     SerialNo = nSerialNo;
     Result   = result;
 }