如何调取指定时间段的最高价(最低价)?
1.雷达屏或图形分析
使用Highest(Lowest ) 函数可以获得指定Bar数内的最高价(最低价)。
此外,如果是一些规则的周期,如日、周、月、年,可以使用HighD, HighW, HighM, HighY(LowD, LowW, LowM, LowY)引用指定区间的最高价(最低价)。此外开盘价与收盘价与之类似。
2.交易App中
使用PriceSeriesProvider获取特定区间的最高价(HOLC亦同)。
如,若是想获得之前五日最高价,通过设定PriceSeriesProvider的Bar类型为5日K线,PriceSeriesProvider的结束日期设置为前交易日,那么PriceSeriesProvider.High[0]即为所求。
示例1:使用PriceSeriesProvider获得五日最高价
//引用命名空间
using tsdata.marketdata;
using elsystem;
//变量声明
vars:tsdata.marketdata.PriceSeriesProvider PSP(null);
//引用命名空间
method void AnalysisTechnique_Initialized( elsystem.Object sender, elsystem.InitializedEventArgs args )
Begin
PSP = new PriceSeriesProvider;
PSP.Load = False; //修改属性之前关闭数据连接
PSP.RealTime = True; //设置为True以接收行情数据,设置为False为获取历史数据
PSP.TimeZone = tsdata.common.TimeZone.Local;
PSP.Symbol = "002413.SZ"; //设置代码.
PSP.Interval.ChartType = tsdata.marketdata.DataChartType.Bars; //设置图形为K线图.
PSP.Interval.IntervalType = tsdata.marketdata.DataIntervalType.Daily; //设置周期类型为日线.
PSP.Interval.IntervalSpan = 5; //设置周期为5日线.
PSP.Range.Type = tsdata.marketdata.DataRangeType.Bars; //按照Bars数目设置区间.
PSP.Range.Bars = 1; //设置数据区间的Bars数目共计1.
PSP.IncludeVolumeInfo = False; //设置为True 则包含Volume信息.
PSP.IncludeTicksInfo = False; //设置为True 则包含Ticks信息.
PSP.UseNaturalHours = False; //设置为True 则尝试使用自然时间.
PSP.StateChanged += PSP_StateChanged ; // 为PSP绑定状态变化事件PSP_StateChanged.
PSP.Load = True; //打开数据连接,只是打开动作,不堵塞进程,异步载入数据
End;
//PSP状态变化事件
method void PSP_StateChanged(elsystem.Object sender,tsdata.common.StateChangedEventArgs args)
Begin
print("PSP.State: "+PSP.State.ToString() );
if(PSP.State = tsdata.common.DataState.Loaded) then //如果加载状态为已加载(Loaded)
Begin
//Sample code:
print("PSP loaded.",PSP.High[0]);
End;
End;
//打印语句输出栏结果示例:HighLimit: 100900 LowLimit:100900