以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9289)

--  作者:hj339
--  发布时间:2011/12/8 17:00:53
--  请教
如何用语句在1分钟周期上取得10点这根K线的开盘价,收盘价?
--  作者:26327756l
--  发布时间:2011/12/8 17:07:41
--  

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值不可以引用到未来数据,但是序列模式则无此限。
所属函数组:引用函数

[此贴子已经被作者于2011-12-8 17:07:54编辑过]

--  作者:hj339
--  发布时间:2011/12/9 8:29:05
--  

谢谢了

我可能没说清楚,我是想在1分钟周期主图上划每天早上10点的收盘价,是每天变化的,不是取某一天的一个值。谢谢


--  作者:hj339
--  发布时间:2011/12/9 9:47:08
--  

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

 帮看看哪里不对,加入了开盘45分钟最高价突破开多,开盘45分钟最低价开空,可图上信号是乱的


--  作者:just
--  发布时间:2011/12/9 10:11:08
--  

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

 

开多了又平多,开空了又平空????


--  作者:fly
--  发布时间:2011/12/9 10:15:07
--  

想在1分钟周期主图上划每天早上10点的收盘价,是每天变化的---  c10:VALUEWHEN(TIME=100000,close);

 

开盘45分钟时间不是这么写的---TIME<=91500+NMIN*100  红色值结果为96000,是个无意义的值

如果是想开盘45分钟最高价,不妨直接用HH:VALUEWHEN(TIME<=100000,HHV(H,CYC)); ,以避免出现上面的错误