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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 这是一个BUG吗?

   

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


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

主题:这是一个BUG吗?

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


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2017/5/16 13:33:57
这是一个BUG吗?  发帖心情 Post By:2017/5/16 13:37:07    Post IP:183.11.68.75[只看该作者]

INPUT:(P,10,5,30,2),(M,30,10,100,2);

MA10:=MA(CLOSE,P);
MA30:=MA(CLOSE,M);

JCH:=CROSS(MA10,MA30);
SCH:=CROSS(MA30,MA10);

{第一次金叉位置}
JCH1_P:BARSLAST(JCH)+1,NODRAW;
SCH1_P:BARSLAST(SCH)+1,NODRAW;

{第二次金叉位置}
JCH2_P:REF(BARSLAST
(JCH),JCH1_P)+JCH1_P+1,NODRAW;
SCH2_P:REF(BARSLAST(SCH),SCH1_P)+SCH1_P+1,NODRAW;

{最近二次金叉的高点价格}
JCH1_D:REF(HHV(H,JCH1_P-SCH1_P+5),SCH1_P),NODRAW;
JCH2_D:REF(HHV(H,JCH2_P-SCH2_P+5),SCH2_P),NODRAW;

{最近二次死叉的低点价格}
SCH1_D:LLV(L,SCH1_P+5),NODRAW;
SCDEV2_P:=CONST(SCH2_P-JCH1_P+5),NODRAW;
SCH2_D:REF(LLV(L,SCDEV2_P),JCH1_P),NODRAW;
{
当前如果是死叉情况,JCH1_D,JCH2_D,SCH2_D均不能正确计算出来。
}


请大神帮忙 看看,是不是存在这个问题,如果是,这个问题要怎么解决呢?


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/16 13:58:43    Post IP:180.169.30.6[只看该作者]

你的代码想表达什么意思?
[此贴子已经被作者于2017/5/16 13:58:51编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
jcyluck
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2017/5/16 13:33:57
  发帖心情 Post By:2017/5/16 14:12:14    Post IP:183.11.68.75[只看该作者]

求最近两次金叉的高点和最近两次死叉的低点。


 回到顶部
美女呀,离线,留言给我吧!
pyd
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 14:58:45    Post IP:180.169.30.6[只看该作者]

ma1:ma(c,10);
ma2:ma(c,20);
jc:cross(ma1,ma2);
sc:cross(ma2,ma1);
n:barslast(jc);
m:barslast(sc);
hn:ref(hhv(h,n),n+1);//最近两次金叉的高点
hm:ref(hhv(h,m),m+1);//最近两次死叉的低点

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


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2017/5/16 13:33:57
  发帖心情 Post By:2017/5/16 15:17:32    Post IP:183.11.68.75[只看该作者]

谢谢!
但结果明显不对:


hn:ref(hhv(h,n),n+1);//最近两次金叉的高点

这里两个N所处位置的变量大多数时候是不相同。
应该是 hn:ref(hhv(h,前二死叉周期-n),n+1);才对。
所以必须要计算出前面第二次死叉的位置。
麻烦版主再实盘试试。。。

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


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2017/5/16 13:33:57
  发帖心情 Post By:2017/5/16 15:38:29    Post IP:183.11.68.75[只看该作者]

对不起,看来是我错了。实盘验证的结果是对的。
那么,请版主解释一下

hm:ref(hhv(h,m1),m1+1);//最近两次死叉的低点

这个,假如M1为3,把这个代码中的M1替换为数字3,结果又是错误的,为什么?请版主解释一下。
另外,如果求第三次和第四次金叉的高点,要怎么求?



 回到顶部
美女呀,离线,留言给我吧!
pyd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/5/16 15:49:47    Post IP:180.169.30.6[只看该作者]

barslast求出的结果是一个变化的值,不能用具体值替换,

如果是第n次金叉请用函数sumbars,用请看函数说明 结合自己图上验证

[此贴子已经被作者于2017/5/16 15:50:12编辑过]

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


加好友 发短信
等级:新手上路 帖子:35 积分:0 威望:0 精华:0 注册:2017/5/16 13:33:57
  发帖心情 Post By:2017/5/16 19:58:34    Post IP:183.11.68.75[只看该作者]

按照版主的代码,计算的值也不总是正确的,版主可以将周期一直向前滑动,就会发现问题。

另外,版主的解释有些差强人意,
n:barslast(jc); 求出n的值是3,
但在
hn:ref(hhv(h,n),n+1);
中,将n用3来替代:
hn:ref(hhv(h,3),3+1);
计算的结果却是不同的。
hn:ref(hhv(h,3),3+1); 这段代码中,只涉及到ref和hhv这两个函数,与barslast应该没什么关系啊。
求版主举例详解,谢谢!!!


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/5/17 9:17:33    Post IP:180.169.30.6[只看该作者]

barslast返回的是一个序列值,你直接只用一个定值代替。那么在非定位的点,barslast的值并不是在时3了

 



编程无捷径,技巧靠积累。
 回到顶部