以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  如何得到第一次开仓至今的时间  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=166323)

--  作者:c100010231
--  发布时间:2018/11/5 15:46:03
--  如何得到第一次开仓至今的时间
各位老师好,请问:
如果我在开仓后有加仓情形,我想得到第一次开仓距今的时间,请问如何得到?图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2018/11/5 15:49:52
--  
 BARSSINCE(开多条件 or 开空条件)
开多或者开空条件必须是完整条件。

--  作者:c100010231
--  发布时间:2018/11/5 16:06:52
--  
假如我在程序里有两条开多条件,分别为KD1:..........;KD2:........;然后,我的总的开多条件设为:KD:=KD1 OR KD2;
当两条开多条件无论哪一条符合时,程序开了多仓。然后,我还有另外一条KD3语句,在已有多仓的基础上,此条也符合,于是程序继续开了多仓。
我现在想得到的是第一次开仓至今的历时,显然用ENTERBARS不能实现。
用您所说的这个函数BARSSINCE(kda)时,得到的却是可见图表周期里第一次符合KDA距今的值,(这期间程序可能已经开平无数次了都。)

--  作者:FireScript
--  发布时间:2018/11/5 16:12:15
--  
“得到的却是可见图表周期里第一次符合KDA距今的值,(这期间程序可能已经开平无数次了都。)” 这个没太明白。
如果你要获取第一次开仓到现在的位置,那中间自然很可能已经开平多次了啊。还是说你要获取的是最近一次?


--  作者:c100010231
--  发布时间:2018/11/5 16:26:59
--  
谢谢。我已经解决了。贡献给大家吧。
VARIABLE:t:=0;
IF KDA THEN BEGIN
BUY(1,1,THISCLOSE);
T:=0;
END
T:=T+1;
IF KD3 THEN BEGIN
BUY()1,1,THISCLOSE);
END


--  作者:c100010231
--  发布时间:2018/11/5 16:28:31
--  
这样,无论期间这个KD3如何折腾,T都不变。
只要符合KDA时,T就开始从零计数。图片点击可在新窗口打开查看