天软金融分析.NET函数大全 > 数据仓库函数 > 取行情数据序列函数

NDay    

简述

提取或计算当前日期往前N个历史交易日数据,提取或计算的数据与当前的股票代码、周期、时间等有关。Field0,Field1,…FieldM是要提取数据的字段名,而相应的表达式由Expression0,Expression1,Expression2…ExpressionM给出。这些字段内容往往是开、收、高、低价、成交量等行情相关的数据。参数个数不固定,按照用户需要提取的数据确定。固定第一个参数为交易日天数(即周期个数),其后跟随的参数为两个一组,分别为提取的数据列名,对应的函数。比如第二个参数是第三个参数(表达式)的列名,第四个参数是第五个参数的列名,依此类推。
该函数提取或计算的过程相当于:
Table[0][Field0] := ref(Expression0 , N-1);
Table[0][Field1] := ref(Expression1 , N-1);
……
Table[0][FieldM] :=ref(ExpressionM,N-1);
Table[1][Field0] := ref(Expression0 , N-2);
Table[1][Field1] := ref(Expression1 , N-2);
……
Table[1][FieldM] := ref(ExpressionM,N-2);
……
……
Table[N-1][Field0] := ref(Expression0,0);
……
Table[N-1][FieldM] := ref(ExpressionM,0);
相似函数见Nday2,NDay3
定义
NDay(N: Integer;Field0: String;Expression0: TExpression;[Field1: String;Expression1: TExpression;][…][FieldM: String;ExpressionM: TExpression]):TableArray;
参数
名称类型说明
Ninteger整数,交易日天数。与周期相关,例如做日线的时候代表N个交易日数据,分钟线代表N个交易分钟数据
Field0Stringstring 字段名
Expression0TExpression表达式,跟Field0相对应
Field1Stringstring字段名
Expression1TExpression表达式,跟Field1相对应
FieldMStringstring字段名
ExpressionMTExpression表达式,跟FieldM相对应
  • 范例

    //返回万科A历史2天的收盘价
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(),inttodate(20140115));
    Table:=NDay( 2, 'close' , Close() );
    {默认当前周期为日线,设置当前时间为2014年1月15日,当前股票的昨天的收盘价格为7.23,今天的当前价格为7.17,则返回的结果相当于
    Table:= Array (('close': 7.23),('close': 7.17));
    也就是说X相当于
    Table[0]['close']:=7.23;
    Table[1]['close']:=7.17;
    }

    //取得万科截止20110909前30个交易日的若干行情信息;
    setsysparam(pn_stock(),'SZ000002');
    setsysparam(pn_date(), inttodate(20110909));
    return nday(30,'时间',datetimetostr(sp_time()),
             '收盘价',close(),
             '当日高价',high(),
             '30日均线',ma(close(),30));


    结果(部分):
    参考
    NDay2 NDay3 
相关
FAQ/知识库链接