E:REFDATE(c,DATE,100000);
引用自 1900 年以来指定日期的数据.
用法: REFDATE(X,DATE[,TIME]),引用 DATE 日期 TIME (可省略)的 X 值.
例如:REFDATE(CLOSE,1011208)表示 2001 年 12 月 08 日的收盘价;
REFDATE(CLOSE,1011208, 133030)表示 2001 年 12 月 08 日 13:30:30 的收盘价
TIME参数可省略使用,省略时间一般用在日线及其以上周期使用,对于日线以下周期则一般需要带时间参数。
注意:对于逐K线运行模式,X值不可以引用到未来数据,但是序列模式则无此限。
所属函数组:引用函数
谢谢了
我可能没说清楚,我是想在1分钟周期主图上划每天早上10点的收盘价,是每天变化的,不是取某一天的一个值。谢谢
INPUT:NMIN(45,10,60,10); //设置参数时
VARIABLE:FLAG_D=0,FLAG_K=0; //控制多单和空单
VARIABLE:STOP_P=0; //用于变动止损
CYC:=BARSLAST(DATE>REF(DATE,1))+1; //统计日内K线数
HH:VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最高价}
LL:VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最低价}
variable:hl=0;
A:=c<=ll;
if a then
begin
buy(holding=0,1,market);
sell(holding>0,0,limit,c);//开仓后限价挂单平仓
end
b:=c>=hh;
if b then
begin
buyshort(holding=0,1,market);
sellshort(holding<0,0,limit,c); //限价挂单平仓
end
//并且获利超过进场价位20个点以上时,从获利最高下来50%时,止赢;3点15分如果还有仓位则全部现价平仓(要保证成交)。
if OPENPROFIT/mindiff>20 then hl:=1;
if hl=1 and OPENPROFIT/mindiff<10 then //盈利20 点后回落到10 点 止盈
begin
sell(holding>0,0,market);
sellshort(holding<0,0,market);
hl:=0;
end
if time>151400 then //15点14 分市价平仓
begin
sell(holding>0,0,market);
sellshort(holding<0,0,market);
end
if a then
begin
buy(holding=0,1,market);
sell(holding>0,0,limit,c);//开仓后限价挂单平仓
end
b:=c>=hh;
if b then
begin
buyshort(holding=0,1,market);
sellshort(holding<0,0,limit,c); //限价挂单平仓
end
开多了又平多,开空了又平空????
想在1分钟周期主图上划每天早上10点的收盘价,是每天变化的--- c10:VALUEWHEN(TIME=100000,close);
开盘45分钟时间不是这么写的---TIME<=91500+NMIN*100 红色值结果为96000,是个无意义的值
如果是想开盘45分钟最高价,不妨直接用HH:VALUEWHEN(TIME<=100000,HHV(H,CYC)); ,以避免出现上面的错误