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); } }
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); } }
public void OnReply_GetAccList(FTAPI_Conn client, uint nSerialNo, TrdGetAccList.Response rsp) { handleTrdOnReply(nSerialNo, ProtoID.TrdGetAccList, rsp); }
public GetAccListEventArgs(FTAPI_Conn client, int nSerialNo, TrdGetAccList.Response result) { Client = client; SerialNo = nSerialNo; Result = result; }