以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  文华转金字塔  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=166281)

--  作者:gzxg
--  发布时间:2018/11/2 13:11:10
--  文华转金字塔
input:N1(5,1,600,1),N2(13,1,600,1),N3(34,1,600,1);
VARIABLE: ljhs=0,①=0,ljhs2=0,②=0,ljhs3=0,③=0,ljhsm=0,cycmax=0;
mid:=(o+c)/2;
hsl:=if(capital=0,v/sum(v,100),v/capital);
ljhs:=if(BARPOS=1,hsl,ljhs*(1-hsl)*(n1-1)/n1+hsl);
①:if(BARPOS=1,mid,(mid*hsl+①*ref(ljhs,1)*(1-hsl)*(n1-1)/n1)/ljhs);

ljhs2:=if(BARPOS=1,hsl,ljhs2*(1-hsl)*(n2-1)/n2+hsl);
②:if(BARPOS=1,mid,(mid*hsl+②*ref(ljhs2,1)*(1-hsl)*(n2-1)/n2)/ljhs2);

ljhs3:=if(BARPOS=1,hsl,ljhs3*(1-hsl)*(n3-1)/n3+hsl);
③:if(BARPOS=1,mid,(mid*hsl+③*ref(ljhs3,1)*(1-hsl)*(n3-1)/n3)/ljhs3);

ljhsm:=if(BARPOS=1,hsl,ljhsm*(1-hsl)+hsl);
cycmax:if(BARPOS=1,mid,(mid*hsl+cycmax*ref(ljhsm,1)*(1-hsl))/ljhsm);
--  作者:FireScript
--  发布时间:2018/11/2 13:18:14
--  
 1.只能处理一些语法上问题。
input:N1(5,1,600,1),N2(13,1,600,1),N3(34,1,600,1);
VARIABLE: ljhs:=0,①:=0,ljhs2=0,②:=0,ljhs3=0,③:=0,ljhsm:=0,cycmax:=0;
mid:=(o+c)/2;
hsl:=if(capital=0,v/sum(v,100),v/capital);
ljhs:=if(BARPOS=1,hsl,ljhs*(1-hsl)*(n1-1)/n1+hsl);
①:=if(BARPOS=1,mid,(mid*hsl+①*ref(ljhs,1)*(1-hsl)*(n1-1)/n1)/ljhs);

ljhs2:=if(BARPOS=1,hsl,ljhs2*(1-hsl)*(n2-1)/n2+hsl);
②:=if(BARPOS=1,mid,(mid*hsl+②*ref(ljhs2,1)*(1-hsl)*(n2-1)/n2)/ljhs2);

ljhs3:=if(BARPOS=1,hsl,ljhs3*(1-hsl)*(n3-1)/n3+hsl);
③:=if(BARPOS=1,mid,(mid*hsl+③*ref(ljhs3,1)*(1-hsl)*(n3-1)/n3)/ljhs3);

ljhsm:=if(BARPOS=1,hsl,ljhsm*(1-hsl)+hsl);
cycmax:=if(BARPOS=1,mid,(mid*hsl+cycmax*ref(ljhsm,1)*(1-hsl))/ljhsm);

2.变量定义,不建议使用类似这种③ 标识。



--  作者:gzxg
--  发布时间:2018/11/2 13:26:27
--  
这是文华8上用的,老师能帮我改成金字塔的让我先试试吗?谢谢你了。

改成下面也是不行,刚换金字塔,不懂啊
input:N1(5,1,600,1),N2(13,1,600,1),N3(34,1,600,1);
VARIABLE: ljhs=0,c5=0,ljhs2=0,c13=0,ljhs3=0,c34=0,ljhsm=0,cyc=0;
mid:=(o+c)/2;
hsl:=if(capital=0,v/sum(v,100),v/capital);
ljhs:=if(BARPOS=1,hsl,ljhs*(1-hsl)*(n1-1)/n1+hsl);
c5:if(BARPOS=1,mid,(mid*hsl+c5*ref(ljhs,1)*(1-hsl)*(n1-1)/n1)/ljhs);

ljhs2:=if(BARPOS=1,hsl,ljhs2*(1-hsl)*(n2-1)/n2+hsl);
c13:if(BARPOS=1,mid,(mid*hsl+c13*ref(ljhs2,1)*(1-hsl)*(n2-1)/n2)/ljhs2);

ljhs3:=if(BARPOS=1,hsl,ljhs3*(1-hsl)*(n3-1)/n3+hsl);
c34:if(BARPOS=1,mid,(mid*hsl+c34*ref(ljhs3,1)*(1-hsl)*(n3-1)/n3)/ljhs3);

ljhsm:=if(BARPOS=1,hsl,ljhsm*(1-hsl)+hsl);
cyc:if(BARPOS=1,mid,(mid*hsl+cyc*ref(ljhsm,1)*(1-hsl))/ljhsm);
[此贴子已经被作者于2018/11/2 13:28:20编辑过]

--  作者:FireScript
--  发布时间:2018/11/2 13:40:14
--  
 代码需要修改的不多。能保证正常编译和维持原有的逻辑就行了。2楼的那个已经OK了。如果要有别的修改,你至少要把思路理清楚描述下才行,否则我也没办法给你针对性的修改。

--  作者:gzxg
--  发布时间:2018/11/2 13:51:20
--  
新建公式不能通过,提示重复出现C5,不知是什么原因
--  作者:FireScript
--  发布时间:2018/11/2 13:54:59
--  
你用我给你的2楼的代码啊。我已经帮你处理过了的。
--  作者:gzxg
--  发布时间:2018/11/2 14:34:34
--  
非常感谢老师的回复,标识中的1 2  3 和cycmax 的值是四条均线来的,新建公式后不显示均线,不知哪里出问题。
--  作者:FireScript
--  发布时间:2018/11/2 15:07:14
--  
 input:N1(5,1,600,1),N2(13,1,600,1),N3(34,1,600,1);
VARIABLE:ljhs:=0,b1:=0,ljhs2=0,b2:=0,ljhs3=0,b3:=0,ljhsm:=0,cycmax:=0;

mid:=(o+c)/2;
hsl:if(capital=0,v/sum(v,100),v/capital);
ljhs:=if(BARPOS=1,hsl,ljhs*(1-hsl)*(n1-1)/n1+hsl);
b1:=if(BARPOS=1,mid,(mid*hsl+b1*ref(ljhs,1)*(1-hsl)*(n1-1)/n1)/ljhs);
a1:b1;
ljhs2:=if(BARPOS=1,hsl,ljhs2*(1-hsl)*(n2-1)/n2+hsl);
b2:=if(BARPOS=1,mid,(mid*hsl+b2*ref(ljhs2,1)*(1-hsl)*(n2-1)/n2)/ljhs2);
a2:b2;
ljhs3:=if(BARPOS=1,hsl,ljhs3*(1-hsl)*(n3-1)/n3+hsl);
b3:=if(BARPOS=1,mid,(mid*hsl+b3*ref(ljhs3,1)*(1-hsl)*(n3-1)/n3)/ljhs3);
a3:b3;
ljhsm:=if(BARPOS=1,hsl,ljhsm*(1-hsl)+hsl);
cycmax:=if(BARPOS=1,mid,(mid*hsl+cycmax*ref(ljhsm,1)*(1-hsl))/ljhsm);


1.全局变量输出最好重新定义变量来输出下
2.② 不要用这种符号了。我用其他正常的名称来替换了。

--  作者:gzxg
--  发布时间:2018/11/2 15:46:35
--  
好的,非常感谢老师的回复,谢谢!