如何获取当前仓位中的所有证券代码?

使用PositionsProvider可以获得当前账户下的所有持仓信息,当然也包括持仓的证券代码等。其获取过程如下所示:

示例1:使用PositionsProvider查询资金账户的仓位信息

using guosen;
using tsdata.marketdata;
using tsdata.common;
using elsystem;
vars:
PositionsProvider PP(null),
IntrabarPersist int count(0);

method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args ) 
begin
    PP = new PositionsProvider;
    PP.Realtime = True;
    PP.Load = TRUE;
    pp.StateChanged += pp_StateChanged;
end;

Method void pp_StateChanged(Object sender,StateChangedEventArgs args)
vars:int loop;
Begin
    if(PP.State = DataState.loaded)then
    Begin
        For loop = 0 to PP.Count-1
        Begin
            print(PosToString(PP[loop]));
        End;
    End;
End;

Method string ifff(Object obj,string aa,string bb)
Begin
    if(obj = null)then
    Begin
        Return aa;
    End
    Else
    Begin
        Return bb;
    End;
End;

Method string PosToString(Position po)
vars:string str;
Begin
    str = DateTime.Now.ToString();
    str = str + " , 资金账号:" +  po.AccountID.ToString();
    str = str + " , 均价:" +  numtostr(po.AveragePrice ,2) ;
    str = str + " , 合约到期时间:" +  po.ContractExpirationDate.ToString() ;
    str = str + " , 融券到期时间:" +  numtostr(po.MarginExpirationDate ,2) ;
    str = str + " , 市值:" +  numtostr(po.MarketValue ,2) ;
    str = str + " , 浮动盈亏:" +  numtostr(po.OpenPL ,2) ;
    str = str + " , 初始成本:" +  numtostr(po.OriginalCost ,2) ;
    str = str + " , 盈亏百分比:" +  numtostr(po.PercentPL ,2) ;
    str = str + " , 平均浮动盈亏:" +  numtostr(po.PLPerQuantity ,2) ;
    str = str + " , 持仓ID:" +  po.PositionID;
    str = str + " , 代码:" +  po.Symbol;
    str = str + " , 代码类型:" +  po.SymbolType.ToString();
    str = str + " , 总成本:" +  numtostr(po.TotalCost,2);
    str = str + " , 持仓类型:" +  po.Type.ToString();
    str = str + " , 数量:" +  numtostr(po.Quantity ,2) ;
    str = str + " , 可用数量:" +  numtostr(po.QuantityAvailable ,2) ;
    Return str;
End;


//打印语句输出栏结果示例:
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:26.25 , 合约到期时间: , 融券到期时间:242518856.00 , 市值:164475.00 , 浮动盈亏:-4843.95 , 初始成本:26.25 , 盈亏百分比:-2.86 , 平均浮动盈亏:-0.75 , 持仓ID:SL410038122059000002.SZ , 代码:000002.SZ , 代码类型:stock , 总成本:169318.95 , 持仓类型:longposition , 数量:6450.00 , 可用数量:0.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:0.00 , 合约到期时间: , 融券到期时间:242518808.00 , 市值:7305.00 , 浮动盈亏:7305.00 , 初始成本:0.00 , 盈亏百分比:0.00 , 平均浮动盈亏:14.61 , 持仓ID:SL410038122059600004.SH , 代码:600004.SH , 代码类型:stock , 总成本:0.00 , 持仓类型:longposition , 数量:500.00 , 可用数量:500.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:5.45 , 合约到期时间: , 融券到期时间:242518856.00 , 市值:85183.00 , 浮动盈亏:3130.40 , 初始成本:5.45 , 盈亏百分比:3.82 , 平均浮动盈亏:0.21 , 持仓ID:SL410038122059600023.SH , 代码:600023.SH , 代码类型:stock , 总成本:82052.60 , 持仓类型:longposition , 数量:15050.00 , 可用数量:15050.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:14.32 , 合约到期时间: , 融券到期时间:242518808.00 , 市值:3390.00 , 浮动盈亏:-3768.00 , 初始成本:14.32 , 盈亏百分比:-52.64 , 平均浮动盈亏:-7.54 , 持仓ID:SL410038122059600050.SH , 代码:600050.SH , 代码类型:stock , 总成本:7158.00 , 持仓类型:longposition , 数量:500.00 , 可用数量:500.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:6.73 , 合约到期时间: , 融券到期时间:242518856.00 , 市值:32130.00 , 浮动盈亏:1845.00 , 初始成本:6.73 , 盈亏百分比:6.09 , 平均浮动盈亏:0.41 , 持仓ID:SL410038122059601985.SH , 代码:601985.SH , 代码类型:stock , 总成本:30285.00 , 持仓类型:longposition , 数量:4500.00 , 可用数量:4500.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:3.29 , 合约到期时间: , 融券到期时间:242518808.00 , 市值:77220.00 , 浮动盈亏:4730.00 , 初始成本:3.29 , 盈亏百分比:6.53 , 平均浮动盈亏:0.21 , 持仓ID:SL410038122059601988.SH , 代码:601988.SH , 代码类型:stock , 总成本:72490.00 , 持仓类型:longposition , 数量:22000.00 , 可用数量:22000.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:7.43 , 合约到期时间: , 融券到期时间:242518856.00 , 市值:40535.00 , 浮动盈亏:-330.00 , 初始成本:7.43 , 盈亏百分比:-0.81 , 平均浮动盈亏:-0.06 , 持仓ID:SL410038122059601989.SH , 代码:601989.SH , 代码类型:stock , 总成本:40865.00 , 持仓类型:longposition , 数量:5500.00 , 可用数量:5500.00
//2016/12/5 16:33:39 , 资金账号:410038122059 , 均价:0.00 , 合约到期时间: , 融券到期时间:242518808.00 , 市值:16320.00 , 浮动盈亏:16320.00 , 初始成本:0.00 , 盈亏百分比:0.00 , 平均浮动盈亏:32.64 , 持仓ID:SL410038122059603589.SH , 代码:603589.SH , 代码类型:stock , 总成本:0.00 , 持仓类型:longposition , 数量:500.00 , 可用数量:500.00
Copyright © 1998-2018 国信证券股份有限公司 版权所有发布时间: 2018-05-14 14:58:15

results matching ""

    No results matching ""