以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请高手改编一下,我在金字塔中显示无定义  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=169671)

--  作者:asw321
--  发布时间:2019/5/3 14:49:28
--  请高手改编一下,我在金字塔中显示无定义
刚看到一个指标感觉思路很不错,想在金字塔中使用一下,可是编译无法通过。
请高手给指点一下,多谢了。

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
--  发布时间:2019/5/5 9:23:02
--  
 里面涉及到的指标调用需要修改下。
例如:
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
--  发布时间:2019/5/7 10:30:43
--  
多谢版主指导。
我把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
--  发布时间:2019/5/7 10:41:47
--  

E1:=A1<>

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

E3:=B1<>

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

E5:=D1<>

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