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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教老师

   

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


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

主题:请教老师

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


加好友 发短信 笨笨猪
等级:标准版用户 帖子:118 积分:0 威望:0 精华:0 注册:2016/7/14 10:03:18
请教老师  发帖心情 Post By:2019/3/27 16:38:53    Post IP:121.63.233.192[只看该作者]

VARIABLE:HH:=0;LL:=0;
IF NOT(H<=HH&&L>=LL) THEN
BEGIN
HH:=H;
LL:=L;
END
SL:=IF(H<=HV(H,0)&&L>=LV(L,0),MIN(NEWHBARS(H,1),NEWLBARS(L,1)),IF(H>HV(H,0)&&L>=LV(L,0),NEWLBARS(L,1),IF(H<=HV(H,0)&&L<LV(L,0),NEWHBARS(H,1),NULL)));
A:=HH<>REF(HH,1)||LL<>REF(LL,1);
P:=BACKSET(REFX(SL,1)>1,REFX(SL,1)-1);
H1:=IF(A,HH,NULL);
L1:=IF(A,LL,NULL);
H2:=IF(P,NULL,H1);
L2:=IF(P,NULL,L1);
G1:=ISNULL(H2)=0&&H<REF(H,SUMBARS(ISNULL(H2)=0,2)-1)&&REF(H,SUMBARS(ISNULL(H2)=0,2)-1)>REF(H,SUMBARS(ISNULL(H2)=0,3)-1);

其中HV和ISNULL,在系统函数中如何表达呢?


俺就是有点太笨了
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

 hv和hhv等效。
isnull你这里直接用not替换下也能达到相同的效果。


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


加好友 发短信 笨笨猪
等级:标准版用户 帖子:118 积分:0 威望:0 精华:0 注册:2016/7/14 10:03:18
  发帖心情 Post By:2019/3/27 21:47:58    Post IP:121.63.233.192[只看该作者]

试过,没用



俺就是有点太笨了
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

 VARIABLE:HH:=0;LL:=0;
IF NOT(H<=HH&&L>=LL) THEN
BEGIN
HH:=H;
LL:=L;
END

SL:=IF(H<=HHV(H,0)&&L>=LlV(L,0),MIN(NEWHBARS(H,1),NEWLBARS(L,1)),IF(H>HHV(H,0)&&L>=LLV(L,0),NEWLBARS(L,1),IF(H<=HHV(H,0)&&L<LLV(L,0),NEWHBARS(H,1),DRAWNULL)));
A:=HH<>REF(HH,1) or LL<>REF(LL,1);
P:=BACKSET(REFX(SL,1)>1,REFX(SL,1)-1);
H1:=IF(A,HH,DRAWNULL);
L1:=IF(A,LL,DRAWNULL);
H2:=IF(P,DRAWNULL,H1);
L2:=IF(P,DRAWNULL,L1);
G1:=not(H2)=1&&H<REF(H,SUMBARS(not(H2)=1,2)-1)&&REF(H,SUMBARS(not(H2)=1,2)-1)>REF(H,SUMBARS(not(H2)=1,3)-1);


只能将其中部分函数和表达近似的转换下,但是总体这段代码在金字塔上使用还是有冲突的地方的。比如里面的未来函数只能在序列下稳定使用,但是序列下if语句的判断又和逐K不一样。另外null在金字塔有其他特殊含义,一般用DRAWNULL替换,但是这个函数也很少用。


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


加好友 发短信 笨笨猪
等级:标准版用户 帖子:118 积分:0 威望:0 精华:0 注册:2016/7/14 10:03:18
  发帖心情 Post By:2019/3/28 9:07:29    Post IP:121.63.233.192[只看该作者]

HV是不包括当前K线的,HHV则不是


俺就是有点太笨了
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

 是的,金字塔的HHV是包括当前K的。如果你要不包括当前K可以这样做:
ref(hhv(h,0),1)

另外我不知道你这里的参数0代表的含义和金字塔是否一致。金字塔这里hhv,llv第二个参数如果是0 则表示从图表上第一个K开始统计。


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


加好友 发短信 笨笨猪
等级:标准版用户 帖子:118 积分:0 威望:0 精华:0 注册:2016/7/14 10:03:18
  发帖心情 Post By:2019/3/28 10:23:41    Post IP:121.63.233.192[只看该作者]

好的,谢谢老师,下一个是
ISNULL 判断空值
用法:ISNULL(N);如果N为空值,函数返回1;如果N为非空值,函数返回0。
例:MA5:IFELSE(ISNULL(MA(C,5))=1,C,MA(C,5));//定义五周期均线,K线数量不足五根时,返回当根K线的收盘价


俺就是有点太笨了
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

 没有判断空值的函数。
但是可以用not ,假设N是空值的话.完整的处理方式是下面这样的:

not(N+0=N) 就相当于ISNULL(N)=1


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

要给变量赋null值的话,前面回复里面说过用DRAWNULL代替下。


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


加好友 发短信 笨笨猪
等级:标准版用户 帖子:118 积分:0 威望:0 精华:0 注册:2016/7/14 10:03:18
  发帖心情 Post By:2019/3/28 10:57:03    Post IP:121.63.233.192[只看该作者]

G1:=ISNULL(H2)=0&&H<REF(H,SUMBARS(ISNULL(H2)=0,2)-1)&&REF(H,SUMBARS(ISNULL(H2)=0,2)-1)>REF(H,SUMBARS(ISNULL(H2)=0,3)-1);
这句给修改一下老师



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


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

 ISNULL:not(H2+0=H2);
G1:=(ISNULL=0)&&H<REF(H,SUMBARS(ISNULL=0,2)-1)&&REF(H,SUMBARS(ISNULL=0,2)-1)>REF(H,SUMBARS(ISNULL=0,3)-1);


命数如织,当如磐石。
 回到顶部