欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求助个BARSLAST记数的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2719人关注过本帖树形打印复制链接

主题:求助个BARSLAST记数的问题

帅哥哟,离线,有人找我吗?
hj007s
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
求助个BARSLAST记数的问题  发帖心情 Post By:2018/4/12 14:11:45    Post IP:121.8.107.170[只看该作者]

我想统计个突破的个数,但是周期不定

我用

A:C>REF(H,5);
A1:BARSLAST(A);

  

A1这个地方BARSLAST会统计当A条件触发到现在为止的周期数,而当再次触发的时候A1会重新刷新
那么我的问题是,
我想得到,到目前为止A触发了几次,并且能求第一次和第二次A触发的位置
求个Demo

原本今天有好几个问题的,结果我自己解决了,
这个是今天暂时没法解决的,

辛苦老师了

 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/12 14:16:24    Post IP:121.8.107.170[只看该作者]

我自己加了个
JS:=A1=1;
n:=0;  //全局变量
IF JS=1 THEN
  BEGIN
    n:=n+1;
  END

JS1:n;

然后结果没用呀

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/12 14:17:45    Post IP:180.169.30.6[只看该作者]

 1.count 函数可以统计触发了多少次A
2.barslast(count(a,0)==1)//同理换成2就是第二次


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/12 14:18:50    Post IP:121.8.107.170[只看该作者]

JS:=A1=0;

也不行……求助………………

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/12 14:20:54    Post IP:180.169.30.6[只看该作者]

 3楼回了啊。你试下。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/12 14:26:09    Post IP:121.8.107.170[只看该作者]

不行,亲,你调试试试

你得到的是当COUNT(A,0)=1;  当A条件成立时,从第一个有效值开始,统计COUNT=1时的BARSLAST,那么第二个A成立的时候,BARSLAST就会得到第一个A成立时到第二个的周期数

我的意思是,从开盘到现在,A触发了几次。。并且求他们的位置……
[此贴子已经被作者于2018/4/12 14:26:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/12 14:56:42    Post IP:180.169.30.6[只看该作者]

a:c>o;
am:count(a,TODAYBAR);//触发次数

as:0;//第一次触发历时的值赋在as上
asq:=BARSLAST(am=1);//am这里可以设置是第几次
if am<>0 then
begin
as:=asq;
end


给个测试样例给你。先用我的这个你测试下,我本地试了可以的。



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/12 15:24:26    Post IP:121.8.107.170[只看该作者]

我懂什么问题了,老师你做个测试看

我是这样写的

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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/12 15:28:31    Post IP:121.8.107.170[只看该作者]

我明白了,我日了狗了,我的逻辑有问题

COUNT只是统计次数
而如果要触发条件的话
还是需要BARSLAST(条件)

我懂怎么写了~~~

日了日了~~~

辛苦老师了,唉,
一入量化深似海,从此头发是路人

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/12 15:35:51    Post IP:180.169.30.6[只看该作者]

 如果你是要在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;


命数如织,当如磐石。
 回到顶部
总数 11 1 2 下一页