以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 求助个BARSLAST记数的问题 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=162722) |
-- 作者:hj007s -- 发布时间:2018/4/12 14:11:45 -- 求助个BARSLAST记数的问题 我想统计个突破的个数,但是周期不定 我用 A:C>REF(H,5); A1:BARSLAST(A); A1这个地方BARSLAST会统计当A条件触发到现在为止的周期数,而当再次触发的时候A1会重新刷新 那么我的问题是, 我想得到,到目前为止A触发了几次,并且能求第一次和第二次A触发的位置 求个Demo 原本今天有好几个问题的,结果我自己解决了, 这个是今天暂时没法解决的, 辛苦老师了
|
-- 作者:hj007s -- 发布时间:2018/4/12 14:16:24 -- 我自己加了个 JS:=A1=1; n:=0; //全局变量 IF JS=1 THEN BEGIN n:=n+1; END JS1:n; 然后结果没用呀
|
-- 作者:FireScript -- 发布时间:2018/4/12 14:17:45 -- 1.count 函数可以统计触发了多少次A 2.barslast(count(a,0)==1)//同理换成2就是第二次 |
-- 作者:hj007s -- 发布时间:2018/4/12 14:18:50 -- JS:=A1=0; 也不行……求助………………
|
-- 作者:FireScript -- 发布时间:2018/4/12 14:20:54 -- 3楼回了啊。你试下。 |
-- 作者:hj007s -- 发布时间:2018/4/12 14:26:09 -- 不行,亲,你调试试试 你得到的是当COUNT(A,0)=1; 当A条件成立时,从第一个有效值开始,统计COUNT=1时的BARSLAST,那么第二个A成立的时候,BARSLAST就会得到第一个A成立时到第二个的周期数 我的意思是,从开盘到现在,A触发了几次。。并且求他们的位置……
[此贴子已经被作者于2018/4/12 14:26:23编辑过]
|
-- 作者:FireScript -- 发布时间:2018/4/12 14:56:42 -- a:c>o; am:count(a,TODAYBAR);//触发次数 as:0;//第一次触发历时的值赋在as上 asq:=BARSLAST(am=1);//am这里可以设置是第几次 if am<>0 then begin as:=asq; end 给个测试样例给你。先用我的这个你测试下,我本地试了可以的。 |
-- 作者:hj007s -- 发布时间:2018/4/12 15:24:26 -- 我懂什么问题了,老师你做个测试看 我是这样写的 a:c>o; am:count(a,TODAYBAR);//触发次数 IF am=1 THEN BEGIN 开仓1次:BUY(1,1,MARKET,C); DRAWTEXT(1,L,\'开仓1次\'); END 结果,,,当统计的AM=1时,到AM=2区间的K线全部都是BUY…………………… 已跪 COUNT的问题已解决,可以正确表述条件触发时到现在为止的次数 辛苦老师!!! 今天就最后这个问题 那我只在COUNT=1和COUNT=2这样的那根K线上开仓 如何去表达??? 我用 a:c>o; am:count(a,TODAYBAR);//触发次数 asq:=BARSLAST(am=1); IF asq=0 THEN 这样的表达也不对…… 巨尴尬
|
-- 作者:hj007s -- 发布时间:2018/4/12 15:28:31 -- 我明白了,我日了狗了,我的逻辑有问题 COUNT只是统计次数 而如果要触发条件的话 还是需要BARSLAST(条件) 我懂怎么写了~~~ 日了日了~~~ 辛苦老师了,唉, 一入量化深似海,从此头发是路人
|
-- 作者:FireScript -- 发布时间:2018/4/12 15:35:51 -- 如果你是要在a触发的前2个K下单 其实不就是限制下单次数了么。 VARIABLE:ct:=0; IF ct<=1 and a THEN BEGIN 开仓1次:BUY(1,1,MARKET,C); ct:=ct+1; END if time=CLOSETIME(0) then ct:=0; |