以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]求金叉到现在的秒数,全局变量使用时错在哪里  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=25155)

--  作者:lcgs005
--  发布时间:2012/9/1 22:10:15
--  [求助]求金叉到现在的秒数,全局变量使用时错在哪里

各位爷,我想求金叉条件到现在的秒数,下面的代码不知错在哪里,求指导

 

a:=cross(diff,dea);
if a then begin

  EXTGBDATASET(t1,TIMETOT0(CURRENTTIME));
end


t2:=TIMETOT0(CURRENTTIME);
秒差:t2-t1;


--  作者:RogarZ
--  发布时间:2012/9/2 10:44:19
--  
不知道你求秒数是什么原因,一般建议使用周期barslast来代替秒数
周期比秒数更好用
barslast(cross(diff,dea))


--  作者:lcgs005
--  发布时间:2012/9/2 11:11:16
--  
以下是引用RogarZ在2012-9-2 10:44:19的发言:
不知道你求秒数是什么原因,一般建议使用周期barslast来代替秒数
周期比秒数更好用
barslast(cross(diff,dea))

我是想返回满足条件后持续的秒数,使用barslast或sumbars时,因为它没有秒周期,所以返回的不是秒数而是当前周期的K线数,

要想返回秒,只能使用全局变量来记住满足条件时的精确时间,然后用现在的时间来减去满足条件时的时间,就是持续时间了,


--  作者:lcgs005
--  发布时间:2012/9/2 14:19:03
--  

想求金叉条件到当前时间持续的秒数,下面的代码中全局变量不知错在哪里,求指导

 a:=cross(diff,dea);
if a then begin

  EXTGBDATASET(t1,TIMETOT0(CURRENTTIME));
end

t2:=TIMETOT0(CURRENTTIME);
持续秒数:t2-t1;


--  作者:RogarZ
--  发布时间:2012/9/2 20:24:13
--  
论坛邮件有回复你 金字塔有秒周期 工具 选项 常规里多秒周期 自己设置
--  作者:lcgs005
--  发布时间:2012/9/2 22:30:48
--  
多秒周期与这个完全不是一回事的,
--  作者:lcgs005
--  发布时间:2012/9/3 11:49:54
--  
想求金叉条件到当前时间持续的秒数,下面的代码中全局变量不知错在哪里,求指导
//
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
jc:=cross(diff,dea);
if jc and islastbar then begin
  EXTGBDATASET(t1,TIMETOT0(CURRENTTIME));
end
t2:=TIMETOT0(CURRENTTIME);
持续秒数:t2-t1;

--  作者:manbutianya
--  发布时间:2012/9/5 21:50:14
--  
不管你限制什么样的条件下,如果全局变量用另一个变化值来设值,该变化值一变化,全局变量同时变化!已经试过多少次,所以全局变量只能是固定数值赋值!
--  作者:manbutianya
--  发布时间:2012/9/5 22:18:24
--  

a:=cross(diff,dea);

t1:=valuewhen(a,TIMETOT0(CURRENTTIME)); 
EXTGBDATASET(t1,b);
t2:=TIMETOT0(CURRENTTIME);
秒差:=t2-t1;

或:

a:=cross(diff,dea);

t1:=valuewhen(a,TIMETOT0(CURRENTTIME)); 
EXTGBDATASET(t1,b);
t2:=TIMETOT0(CURRENTTIME);
秒差:=t2-EXTGBDATA(t1);


--  作者:lcgs005
--  发布时间:2012/9/8 21:51:09
--  
以下是引用manbutianya在2012-9-5 22:18:24的发言:

a:=cross(diff,dea);

t1:=valuewhen(a,TIMETOT0(CURRENTTIME)); 
EXTGBDATASET(t1,b);
t2:=TIMETOT0(CURRENTTIME);
秒差:=t2-t1;

或:

a:=cross(diff,dea);

t1:=valuewhen(a,TIMETOT0(CURRENTTIME)); 
EXTGBDATASET(t1,b);
t2:=TIMETOT0(CURRENTTIME);
秒差:=t2-EXTGBDATA(t1);

提示这里的B未定义,不知是什么原因