以文本方式查看主题

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

--  作者:c100010589
--  发布时间:2016/7/27 8:52:36
--  未来函数
第一段:
input:length1(10,5,60,5);
input: n(9,1,60), p(2,1,60), Q(30,1,60);
Direction:=CLOSE - REF( CLOSE , N ) ;
XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ;
Volatility1:=SUM( XX , N ) ;
ER:=ABS( Direction / Volatility1 ) ;
FastC:= 2 / ( p + 1 ) ;
SlowC:= 2 / ( q + 1 ) ;
SSC:=ER * ( FastC - SlowC ) + SlowC ;
Constant :SSC * SSC , Linethick0 ;
YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
CC:CLOSE , Linethick0 ;
for m=N + 2 to DATACOUNT DO
DD[m]:=DD[m - 1] + Constant[m] * ( CC[m] - DD[m - 1] );
AMA2:DD;
T1:=DD>REF(DD,1);
T3:=NOT(T1) AND abs(DD-ref(DD,1))/DD*10000<N;
T2:=NOT(T1 OR T3);
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBAR AND T1,DD,\'持\\n股\'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBAR AND T2,DD,\'持\\n币\'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBAR AND T3,DD,\'观\\n望\'),COLORBLUE,SHIFT1;
第二段:
input:length1(10,5,60,5);
input:length2(5,5,60,5);
ama:md(close,length1);
ama1:ema(ama,length2);

老师好,我这是两段程序,单独运行都没有问题,放在一起运行,系统提示说用到了未来函数,是什么情况,请帮助


--  作者:jinzhe
--  发布时间:2016/7/27 9:02:12
--  
把用户的两段代码放一起后,并没有提示有未来
--  作者:c100010589
--  发布时间:2016/7/27 9:09:08
--  
第一段要求序列运行,怎么把它改成逐k线运行?谢谢
--  作者:jinzhe
--  发布时间:2016/7/27 9:19:52
--  

input:length1(10,5,60,5);
input: n(9,1,60), p(2,1,60), Q(30,1,60);
Direction:=CLOSE - REF( CLOSE , N ) ;
XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ;
Volatility1:=SUM( XX , N ) ;
ER:=ABS( Direction / Volatility1 ) ;
FastC:= 2 / ( p + 1 ) ;
SlowC:= 2 / ( q + 1 ) ;
SSC:=ER * ( FastC - SlowC ) + SlowC ;
Constant :SSC * SSC , Linethick0 ;
YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
CC:CLOSE , Linethick0 ;
for m=N + 2 to barpos DO
DD[m]:=DD[m - 1] + Constant[m] * ( CC[m] - DD[m - 1] );
AMA2:DD;
T1:=DD>REF(DD,1);
T3:=NOT(T1) AND abs(DD-ref(DD,1))/DD*10000<N;
T2:=NOT(T1 OR T3);
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBAR AND T1,DD,\'持\\n股\'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBAR AND T2,DD,\'持\\n币\'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBAR AND T3,DD,\'观\\n望\'),COLORBLUE,SHIFT1;

 


--  作者:c100010589
--  发布时间:2016/7/27 9:20:18
--  
YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
CC:CLOSE , Linethick0 ;
for m=N + 2 to DATACOUNT DO
DD[m]:=DD[m - 1] + Constant[m] * ( CC[m] - DD[m - 1] );

这段没有 看懂,能否解释一下?谢谢!

--  作者:jinzhe
--  发布时间:2016/7/27 9:27:25
--  

这段代码,从上倒下,是哪句不明白?


--  作者:c100010589
--  发布时间:2016/7/27 9:39:02
--  
老师,这样更改后,AMA2曲线没有在图上显示,
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBAR AND T1,DD,\'持\\n股\'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBAR AND T2,DD,\'持\\n币\'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBAR AND T3,DD,\'观\\n望\'),COLORBLUE,SHIFT1;
这段语句没有起作用了?

--  作者:c100010589
--  发布时间:2016/7/27 9:41:39
--  
YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;
AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;
BB:=BarsLast( AA>0 ) ;
DD:=REF( C , BB ) ;
CC:CLOSE , Linethick0 ;
for m=N + 2 to DATACOUNT DO
DD[m]:=DD[m - 1] + Constant[m] * ( CC[m] - DD[m - 1] );


这段代码是起什么作用的,能否逐句注释一下,谢谢!

--  作者:c100010589
--  发布时间:2016/7/27 9:46:31
--  
如果是原来的序列运行的代码,是有曲线的,换成逐k线运行代码,曲线不显示
--  作者:jinzhe
--  发布时间:2016/7/27 9:49:19
--  
老师,这样更改后,AMA2曲线没有在图上显示,
PARTLINE(T1,DD),COLORRED,LINETHICK2;
PARTLINE(T2,DD),COLORGREEN,LINETHICK2;
PARTLINE(T3,DD),COLORBLUE,LINETHICK2;
DRAWTEXT(ISLASTBAR AND T1,DD,\'持\\n股\'),COLORRED,SHIFT1;
DRAWTEXT(ISLASTBAR AND T2,DD,\'持\\n币\'),COLORGREEN,SHIFT1;
DRAWTEXT(ISLASTBAR AND T3,DD,\'观\\n望\'),COLORBLUE,SHIFT1

 

 

 

因为你输出下ama2就能看到数值和行情相比太小了,导致了线看不到

文字要显示,你要删掉shift1