以文本方式查看主题

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

--  作者:wenarm
--  发布时间:2017/11/30 8:39:41
--  


if ma5>ma10 then begin
 time2:=0;
 TIME1:=TIME1+1;
end
if ma5<ma10 then begin
 time1:=0;
 TIME2:=TIME2+1; 
end

aa:time1;
bb:time2;


--  作者:maxuser2004
--  发布时间:2017/12/4 10:15:59
--  
谢谢,但是这样写,为何还是TIME2不显示,TIME1把TIME2的时间仍然包含在内?

time1:BARSLAST(cross(diff,dea)),NOAXIS,NODRAW;
time2:BARSLAST(cross(dea,diff)),NOAXIS,nodraw;
if diff>dea then begin
time2:=0;
time1:=time1+1;
end
if diff<dea then begin
time1:=0;
time2:=time2+1;
end
aa:time1;
bb:time2;

--  作者:FireScript
--  发布时间:2017/12/4 10:36:06
--  

diff<dea这个条件是否触发了?


--  作者:maxuser2004
--  发布时间:2017/12/5 11:44:00
--  
正常触发了啊,还是没有TIME2数据
--  作者:maxuser2004
--  发布时间:2017/12/5 17:43:07
--  
金叉的时候需要重置死叉的统计为0, 谢谢您
--  作者:wenarm
--  发布时间:2017/12/6 1:32:50
--  
直接用2楼的代码。不要再加下面的话了
time1:BARSLAST(cross(MA5,MA10));
time2:BARSLAST(cross(MA10,MA5));

--  作者:maxuser2004
--  发布时间:2017/12/7 9:55:09
--  
谢谢,2楼的代码没有问题,我拷贝到金字塔里调试完全OK。但关键目的不是什么计数不计数,而是能对TIME1精准控制,即TIME2开始时,TIME1停止计数;TIME1开始时,TIME2停止计数。TIME1只计算显示DIFF穿DEA的时间,到TIME2阶段停止计数。我的代码按照2楼的思路来写,为何还是TIME2不显示,TIME1把TIME2的时间仍然包含在内?
 

time1:BARSLAST(cross(diff,dea)),NOAXIS,NODRAW;
time2:BARSLAST(cross(dea,diff)),NOAXIS,nodraw;
if diff>dea then begin
time2:=0;
time1:=time1+1;
end
if diff<dea then begin
time1:=0;
time2:=time2+1;
end
aa:time1;
bb:time2;


--  作者:FireScript
--  发布时间:2017/12/7 10:07:18
--  

ma5:ma(c,5);//ma5和ma10 回头你自己替换成diff和dea。这里拿均线做个范例。
ma10:ma(c,10);

VARIABLE:time1:=0,time2:=0;

if ma5>ma10 then begin
 time2:=0;
 TIME1:=TIME1+1;
end

if ma5<ma10 then begin
 time1:=0;
 TIME2:=TIME2+1;
end

aa:time1;
bb:time2;


--  作者:maxuser2004
--  发布时间:2017/12/7 11:08:20
--  
大神能否直接用我自己写的代码回测下?我就是拿这个代码换成DIFF和DEA,然后还是无法显示出来TIME2的值。