MACD指标编写 [文华财经]
-
咨询内容:
老师请问:下面的语句对不对? 我想编成以下思路的公式,麻烦老师帮忙。DIF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26);DEA : EMA(DIFF,9);2*(DIFF-DEA),COLORSTICK;
死叉:=CROSS(DEA,DIF);N1:=BARSLAST(死叉);这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗?{最近一次死叉的位置}
H1=N1的位置前五根K根中,取最高价最高的K线值,D1=N1的位置前十个周期内最高的DIF值,
H2=当前K线前五个周期内最高价D2=当前DIF前10个周期内最高值顶背离=H1>H2&&D1<D2&&DIF>0&&CROSS(DEA,DIF) , STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA;
DRAWLINE3=D2和D1之间进行连线 。
DRAWTEXT(顶背离,-0.5,'顶背');
另外:下面的表述是正确的吗?N1+1不是表述N1之后一个周期的吗?N2+N1+2这种表述怎么理解?(接上面的语句)N2:=REF(BARSLAST(死叉),N1+1);{倒数第二次死叉与倒数第一次死叉的区间}N3:=REF(BARSLAST(死叉),N2+N1+2);{倒数第三次死叉与倒数第二次死叉的区间}CL1:=LLV(C,N1+1);{最近一次死叉后,最低收盘价}DIFL1:=LLV(DIF,N1+1); 最近一次死叉后,最低的DIF价来源:程序化99
-
文华技术人员:
修改参考:
DIFF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26);
DEA : EMA(DIFF,9);
2*(DIFF-DEA),COLORSTICK;
死叉:=CROSS(DEA,DIFF);
N1:=BARSLAST(死叉)+1;//这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗?
//{最近一次死叉的位置}
H1:=VALUEWHEN(N1=5,HHV(H,5));// N1的位置前五根K根中,取最高价最高的K线值,
D1:=VALUEWHEN(N1=10,HHV(DIFF,5));// N1的位置前十个周期内最高的DIF值,
H2:=HHV(H,5);//当前K线前五个周期内最高价
D2:=HHV(DIFF,10);//当前DIF前10个周期内最高值
顶背离:=H1>H2&&D1<D2&&DIFF>0&&CROSS(DEA,DIFF) ;
STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA;
DRAWLINE1(D1,H,D2,H,0);
DRAWLINE1(D2,H,D1,H,0);//D2和D1之间进行连线 。
DRAWTEXT(顶背离,-0.5,'顶背');
//{倒数第二次死叉与倒数第一次死叉的区间} N2:=REF(SUMBARS(死叉,2),N1); //{倒数第三次死叉与倒数第二次死叉的区间} N3:=REF(SUMBARS(死叉,3),N2); CL1:=LLV(C,N1); //{最近一次死叉后,最低收盘价} DIFL1:=LLV(DIFF,N1); //最近一次死叉后,最低的DIF价
来源: WWW.CXH99.COM
-
文华客服:
老师,加载后,是一上一下,一白一黄的二条平等线,完全不是MACD的样子,能修改吗?
-
网友回复:
这样看下:
DIFF :(EMA(CLOSE,12)-EMA(CLOSE,26))*100/EMA(CLOSE,26); DEA : EMA(DIFF,9); 2*(DIFF-DEA),COLORSTICK; 死叉:=CROSS(DEA,DIFF); N1:=BARSLAST(死叉)+1;//这个函数提示运算量大,会拖慢系统,有其他可代替的函数吗? //{最近一次死叉的位置} H1:=VALUEWHEN(N1=5,HHV(H,5));// N1的位置前五根K根中,取最高价最高的K线值, D1:=VALUEWHEN(N1=10,HHV(DIFF,5));// N1的位置前十个周期内最高的DIF值, H2:=HHV(H,5);//当前K线前五个周期内最高价 D2:=HHV(DIFF,10);//当前DIF前10个周期内最高值 顶背离:=H1>H2&&D1<D2&&DIFF>0&&CROSS(DEA,DIFF) ; STICKLINE1(顶背离,0,0.2,3,0),COLORMAGENTA; //DRAWLINE1(D1,H,D2,H,0); //DRAWLINE1(D2,H,D1,H,0);//D2和D1之间进行连线 。 DRAWTEXT(顶背离,-0.5,'背';
//{倒数第二次死叉与倒数第一次死叉的区间} N2:=REF(SUMBARS(死叉,2),N1); //{倒数第三次死叉与倒数第二次死叉的区间} N3:=REF(SUMBARS(死叉,3),N2); CL1:=LLV(C,N1); //{最近一次死叉后,最低收盘价} DIFL1:=LLV(DIFF,N1); //最近一次死叉后,最低的DIF价
-
网友回复:
MACD正常显示了,可是,连线不显示
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 或微信:cxhjy888 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容