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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请高手改编一下,我在金字塔中显示无定义

   

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


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

主题:请高手改编一下,我在金字塔中显示无定义

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


加好友 发短信
等级:新手上路 帖子:5 积分:0 威望:0 精华:0 注册:2019/4/26 23:42:17
请高手改编一下,我在金字塔中显示无定义  发帖心情 Post By:2019/5/3 14:49:28    Post IP:111.112.131.16[只看该作者]

刚看到一个指标感觉思路很不错,想在金字塔中使用一下,可是编译无法通过。
请高手给指点一下,多谢了。

A1:=SLOPE(MA(C,60),5);{60日均线之5日斜率}

A2:=SLOPE(MACD.DEA,5);{MACD黄线之5日斜率}

B1:=BARSLAST(CROSS(A2,0));{最近1次MACD黄线线拐头向上到现在之周期数}

B2:=BARSLAST(CROSS(0,A2));{最近1次MACD黄线线拐头向下到现在之周期数}

B3:=B2+REF(B1,B2);{最近第2次MACD黄线线拐头向上到现在之周期数}

B4:=B3+REF(B2,B3);{最近第2次MACD黄线线拐头向下到现在之周期数}

B5:=B4+REF(B1,B4);{最近第3次MACD黄线线拐头向上到现在之周期数}

B6:=B5+REF(B2,B5);{最近第3次MACD黄线线拐头向下到现在之周期数}

C1:=REF(MACD.DEA,B1);{最近1次MACD黄线线拐头向上时之DEA值}

C3:=REF(MACD.DEA,B3);{最近第2次MACD黄线线拐头向上时之DEA值}

C5:=REF(MACD.DEA,B5);{最近第3次MACD黄线线拐头向上时之DEA值}

D1:=REF(C,B1);{最近1次MACD黄线线拐头向上时之收盘价}

D3:=REF(C,B3);{最近第2次MACD黄线线拐头向上时之收盘价}

D5:=REF(C,B5);{最近第3次MACD黄线线拐头向上时之收盘价}

D6:=LLV(C,B2);{最近1次MACD黄线线拐头向下到现在之最低收盘价}

D7:=LLV(C,B6);{最近3次MACD黄线线拐头向下到现在之最低收盘价}

E1:=A1<>

E2:=MACD.MACD>0;{当前MACD是红柱,白线高于黄线}

E3:=B1<>

E4:=C1>C3 AND C3>C5;{MACD黄线的低点逐波提高}

E5:=D1<>

E6:=D6=D7;{最近1、3次MACD黄线线拐头向下到现在之最低收盘价相同}

E1 AND E2 AND E3 AND E4 AND E5 AND E6;{选股条件罗列};


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


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

 里面涉及到的指标调用需要修改下。
例如:
A2:=SLOPE(MACD.DEA,5);{MACD黄线之5日斜率}

不知道你这里有没有跨周期,没有跨周期得话参考下面这个函数说明里提到的引用方式:

例如:
"INDIE.VAR"(P1,P2) 引用INDI指标的VAR输出,计算参数为P1,P2。若没有指定公式线,系统将取最后一行公式输出
数据类型有TICK、MIN1、MIN3、MIN5、MIN10、MIN15、MIN30、MIN60、DAY、WEEK、MONTH、YEAR、MULTIDAY、MULTIMIN、MULTISEC、MULTIHOUR、QUARTER、SEMIYEAR、SOLARTERM
"MACD#WEEK"(26,10,5) 引用周线数据的MACD指标最后一行公式输出
"MACD"表示该指标的最后—行公式输出并且使用公式的默认参数。
"000001$CLOSE" 引用品种000001的收盘价
"SZ000001$CLOSE#WEEK" 引用SZ市场的品种000001周线收盘价
"VOL##DAY"引用日线数据的前一周期的VOL指标
引用数据时,需要实现确认被引用品种周期数据齐全,再首次使用或者在不确定时,请手工进行数据补充工作
"DLLNAME@FNCNAME"(P1,P2) 引用DLLNAME.DLL的FNCNAME函数,计算参数为P1,P2
用户函数模式:#用户函数.指标线(参数)#
例如:#test01.B1(20,45)#,表示调用test01指标的B1输出线,参数为20和45,使用用户函数模式比扩周期引用更加节省内存,提高运行效率.


如果有跨周期:
参考stkind函数的使用


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


加好友 发短信
等级:新手上路 帖子:5 积分:0 威望:0 精华:0 注册:2019/4/26 23:42:17
  发帖心情 Post By:2019/5/7 10:30:43    Post IP:111.112.158.64[只看该作者]

多谢版主指导。
我把C1:=REF(MACD.DEA,B1);{最近1次MACD黄线线拐头向上时之DEA值}

C3:=REF(MACD.DEA,B3);{最近第2次MACD黄线线拐头向上时之DEA值}

C5:=REF(MACD.DEA,B5);{最近第3次MACD黄线线拐头向上时之DEA值}

改为

C1:=REF(DEA,B1);{最近1次MACD黄线线拐头向上时之DEA值}

C3:=REF(DEA,B3);{最近第2次MACD黄线线拐头向上时之DEA值}

C5:=REF(DEA,B5);{最近第3次MACD黄线线拐头向上时之DEA值}

这样可以通过了。

但是在

E1:=A1<>

E2:=MACD>0;{当前MACD是红柱,白线高于黄线}

E3:=B1<>

E4:=C1>C3 AND C3>C5;{MACD黄线的低点逐波提高}

E5:=D1<>

E6:=D6=D7;{最近1、3次MACD黄线线拐头向下到现在之最低收盘价相同}

E1 AND E2 AND E3 AND E4 AND E5 AND E6;{选股条件罗列};


这几行中又显示未定义变量 E2


同理,E3,E4等均显示未定义变量,麻烦版主给指导一下,多谢!



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


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

E1:=A1<>

E2:=MACD>0;{当前MACD是红柱,白线高于黄线}

E3:=B1<>

E4:=C1>C3 AND C3>C5;{MACD黄线的低点逐波提高}

E5:=D1<>

运算符缺失右半边部分变量。每句话必须用“;”分隔。



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