如何获得最新成交价?

1.雷达屏或图形分析

在雷达屏中或图形分析中,可以使用 last 关键字获得该只股票代码最新的成交价格。

2.交易APP中

在交易APP中,可以使用组件QuoteProvider或PriceSeriesProvider获得最新的成交价格。 QuoteProvider是用来获得盘口买一卖一价的组件;PriceSeriesProvider 将Bar类型设置为 ticks,则可以获得最新的ticks的收盘价。 注意:QuoteProvider和PriceSeriesProvider 也可以用于指标和策略中获得最新价,但不推荐。

示例1:使用QuotesProvider获得最新价

using guosen;
using tsdata.common;
using tsdata.marketdata;


vars:QuotesProvider QP(null);
method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args ) 
begin
    QP = new QuotesProvider;
    QP.Load = false;
    QP.Symbol = "000001.SZ";//设置股票代码
    QP.fields += "bid,ask,description,Last";//属性可增可减,不区分大小写,但需用逗号分隔开来
    QP.Updated += QP_Updated; //为QuotesProvider绑定更新事件
    QP.Load = true;         
end;

Method void QP_Updated(elsystem.Object sender,tsdata.marketdata.QuoteUpdatedEventArgs args)
Begin
    if(QP.State=DataState.loaded)then
    Begin
        Print("Description: "+QP.Quote["description"].StringValue + //代码名称
             " Last:" + QP.Quote["Last"].DoubleValue.ToString() +   //最新价
             " Bid:" +QP.Quote["Bid"].DoubleValue.ToString()+       //Bid
             " Ask:" +QP.Quote["Ask"].DoubleValue.ToString()+       //Ask
             "");
    End;
End;

示例2:使用PriceSeriesProvider获得最新价

using guosen;
using tsdata.common;
using tsdata.marketdata;
using elsystem;

vars:PriceSeriesProvider PSP(null);
method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args ) 
begin
    PSP = new PriceSeriesProvider;
    PSP.Load = False;
    PSP.Symbol = "000001.SZ";
    PSP.Interval.IntervalType = tsdata.marketdata.DataIntervalType.ticks;//周期设置为逐笔以获得最新成交价
    PSP.Interval.IntervalSpan = 1;  //也即每1笔线
    PSP.Range.Type = tsdata.marketdata.DataRangeType.Bars;//设置PSP载入为条数
    PSP.Range.Bars = 10 ; //设置载入10条bar
    PSP.IncludeVolumeInfo = false; //不加载成交量信息
    PSP.IncludeTicksInfo = false;  //不加载Ticks信息
    PSP.UseNaturalHours = false;
    PSP.Realtime = TRUE; //设置为实时更新  
    PSP.Updated += PSP_Updated; //绑定更新事件,当PSP更新或收到行情推送时刷新
    PSP.StateChanged += PSP_StateChanged; //绑定更新事件,当PSP更新或收到行情推送时刷新
    PSP.Load = TRUE;
end;

Method void PSP_Updated(elsystem.Object sender,tsdata.marketdata.PriceSeriesUpdatedEventArgs args)
Begin
    print(PSP.State.ToString());
    if(PSP.State=DataState.loaded)then
    Begin  
        Print(DateTime.Now.toString()+
             " Symbol: "+PSP.Symbol+                                //代码
             " Time:" + PSP.Time[1].ToString()  +                   //最新价的交易所时间
             " Last:" + PSP.Close[0].ToString() +                   //最新价
             "");
    End;
End;

Method void PSP_StateChanged(elsystem.Object sender,tsdata.common.StateChangedEventArgs args)
Begin
    print("StateChanged! " + PSP.State.ToString());
End;
Copyright © 1998-2018 国信证券股份有限公司 版权所有发布时间: 2018-05-14 14:58:15

results matching ""

    No results matching ""