以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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=174899)
|
-- 作者:cccsee
-- 发布时间:2020/3/11 9:55:26
-- 请大神帮忙看看如何修改啊
这是通达信的公式,但是复制到金字塔就不行,还请各位帮忙怎么修改。万分感谢。 G:=MA(C,5); D:=MA(C,10); HH:=REF(H,5)=HHV(H,11); LL:=REF(L,5)=LLV(L,11); 涨幅:(C/LLV(L,130)-1)*100,NODRAW; FG01:=BACKSET(HH,6)>BACKSET(HH,5) ; FD01:=BACKSET(LL,6)>BACKSET(LL,5) ; FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01, IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0)); FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01, IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0)); FG0:=FG02 AND H=HHV(H,BARSLAST(FD02)); FD0:=FD02 AND L=LLV(L,BARSLAST(FG02)); GP:=IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN; DP:=IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN; GQ:=L>REF(H,1) AND DAY!=REF(DAY,1); DQ:=H<REF(L,1) AND DAY!=REF(DAY,1); GQL:=REF(L,BARSLAST(GQ)); DQH:=REF(H,BARSLAST(DQ)); FGH:=REF(H,BARSLAST(FG0)); FGL:=REF(L,BARSLAST(FG0)); FGH1:=REF(H,BARSLAST(FG0)+1); FGL1:=REF(L,BARSLAST(FG0)+1); FGH2:=REF(H,BARSLAST(FG0)+2); FGL2:=REF(L,BARSLAST(FG0)+2); FDH:=REF(H,BARSLAST(FD0)); FDL:=REF(L,BARSLAST(FD0)); FDH1:=REF(H,BARSLAST(FD0)+1); FDL1:=REF(L,BARSLAST(FD0)+1); FDH2:=REF(H,BARSLAST(FD0)+2); FDL2:=REF(L,BARSLAST(FD0)+2); FGZH:=IF(FGL<=FGL1,FGH2,FGH1); FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1)); FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1)); FDZL:=IF(FDH>=FDH1,FDL2,FDL1); FG1:=FGH>FDZH AND FG0; FD1:=FDL<FGZL AND FD0; FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL; FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH; BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1)); BHG:=COUNT(BH0,BARSLAST(FD0)); BHD:=COUNT(BH0,BARSLAST(FG0)); BGQ:=COUNT(GQ,BARSLAST(FD0)); BDQ:=COUNT(DQ,BARSLAST(FG0)); BK0:=IF(BHG>0,BHG+2+1,IF(BHD,BHD+2+1,3)); BK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0)); G1X:=(FG AND BARSLAST(FD)>BK); D1X:=(FD AND BARSLAST(FG)>BK); G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X)) OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X))); D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X)) OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X))); G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1))),; D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1))); G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1); D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1); G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2)); D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2)); GPB:=IF(G1X,H,DRAWNULL),CIRCLEDOT,COLORYELLOW; DPB:=IF(D1X,L,DRAWNULL),CIRCLEDOT,COLORYELLOW; {画线} NN:=G3; UU:=D3; L1:DRAWLINE(UU,L,NN, H,0),COLORYELLOW,DOTLINE; L2:DRAWLINE(NN,H,UU, L,0),COLORWHITE,DOTLINE; DRAWNUMBER(L1=L2 AND NN,H,H),COLORYELLOW,DRAWABOVE; DRAWNUMBER(L1=L2 AND UU,L,L),COLORGREEN; T1:=BARSLAST(UU)-BARSLAST(NN); DRAWNUMBER(L1=L2 AND T1>1 AND NN,L,T1),COLORYELLOW; T2:=BARSLAST(UU)-BARSLAST(NN); DRAWNUMBER(L1=L2 AND T2<1 AND UU,L,T2),COLORWHITE,DRAWABOVE; MA15:MA(CLOSE,M1),COLORFF00FF; MA60:MA(CLOSE,M2),COLORGREEN; MA240:MA(CLOSE,M3),COLORYELLOW;
|
-- 作者:FireScript
-- 发布时间:2020/3/11 10:17:13
--
提供下通达信DRAWNUMBER 函数的函数说明。我本地打不开通达信,没办法查函数说明。
|
-- 作者:FireScript
-- 发布时间:2020/3/11 10:48:57
--
G:=MA(C,5); D:=MA(C,10); HH:=REF(H,5)=HHV(H,11); LL:=REF(L,5)=LLV(L,11); 涨幅:(C/LLV(L,130)-1)*100,NODRAW; FG01:=BACKSET(HH,6)>BACKSET(HH,5) ; FD01:=BACKSET(LL,6)>BACKSET(LL,5) ; FG02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND G>D,FG01, IF(BARSLAST(FD01)>BARSLAST(FG01),FG01,0)); FD02:=IF(BARSLAST(FG01)=BARSLAST(FD01) AND D>G,FD01, IF(BARSLAST(FG01)>BARSLAST(FD01),FD01,0)); FG0:=FG02 AND H=HHV(H,BARSLAST(FD02)); FD0:=FD02 AND L=LLV(L,BARSLAST(FG02)); GP:=IF(FG0,H,DRAWNULL),CIRCLEDOT,COLORCYAN; DP:=IF(FD0,L,DRAWNULL),CIRCLEDOT,COLORCYAN; GQ:=L>REF(H,1) AND DAY!=REF(DAY,1); DQ:=H<REF(L,1) AND DAY!=REF(DAY,1); GQL:=REF(L,BARSLAST(GQ)); DQH:=REF(H,BARSLAST(DQ)); FGH:=REF(H,BARSLAST(FG0)); FGL:=REF(L,BARSLAST(FG0)); FGH1:=REF(H,BARSLAST(FG0)+1); FGL1:=REF(L,BARSLAST(FG0)+1); FGH2:=REF(H,BARSLAST(FG0)+2); FGL2:=REF(L,BARSLAST(FG0)+2); FDH:=REF(H,BARSLAST(FD0)); FDL:=REF(L,BARSLAST(FD0)); FDH1:=REF(H,BARSLAST(FD0)+1); FDL1:=REF(L,BARSLAST(FD0)+1); FDH2:=REF(H,BARSLAST(FD0)+2); FDL2:=REF(L,BARSLAST(FD0)+2); FGZH:=IF(FGL<=FGL1,FGH2,FGH1); FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1)); FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1)); FDZL:=IF(FDH>=FDH1,FDL2,FDL1); FG1:=FGH>FDZH AND FG0; FD1:=FDL<FGZL AND FD0; FG:=FG1 AND FGH>FDH AND FGL>FDL AND FGL1>FDL; FD:=FD1 AND FDL<FGL AND FDH<FGH AND FDH1<FGH; BH0:=(H<=REF(H,1) AND L>=REF(L,1)) OR (H>=REF(H,1) AND L<=REF(L,1)); BHG:=COUNT(BH0,BARSLAST(FD0)); BHD:=COUNT(BH0,BARSLAST(FG0)); BGQ:=COUNT(GQ,BARSLAST(FD0)); BDQ:=COUNT(DQ,BARSLAST(FG0)); BK0:=IF(BHG>0,BHG+2+1,IF(BHD,BHD+2+1,3)); BK:=IF(BGQ,BK0-BGQ,IF(BDQ,BK0-BDQ,BK0)); G1X:=(FG AND BARSLAST(FD)>BK); D1X:=(FD AND BARSLAST(FG)>BK); G1:=(FG0 AND REF(H,BARSLAST(FG0))>=REF(H,BARSLAST(G1X)) AND BARSLAST(D1X)>BARSLAST(G1X)) OR (FG1 AND COUNT(GQ,BARSLAST(FD1))>0 AND REF(H,BARSLAST(FG1))>REF(H,BARSLAST(G1X))); D1:=(FD0 AND REF(L,BARSLAST(FD0))<=REF(L,BARSLAST(D1X)) AND BARSLAST(G1X)>BARSLAST(D1X)) OR (FD1 AND COUNT(DQ,BARSLAST(FG1))>0 AND REF(L,BARSLAST(FD1))<REF(H,BARSLAST(D1X))); G1H:=IF(BARSLAST(D1)>BARSLAST(G1),REF(H,BARSLAST(G1)),REF(H,BARSLAST(D1))),; D1L:=IF(BARSLAST(G1)>BARSLAST(D1),REF(L,BARSLAST(D1)),REF(L,BARSLAST(G1))); G2:=G1 AND H=HHV(G1H,BARSLAST(D1)+1) AND H>REF(H,1) AND BARSLAST(D1)>BARSLAST(G1); D2:=D1 AND L=LLV(D1L,BARSLAST(G1)+1) AND L<REF(L,1) AND BARSLAST(G1)>BARSLAST(D1); G3:=G2 OR (FG0 AND REF(H,BARSLAST(FG0))>REF(H,BARSLAST(G2)) AND BARSLAST(D2)>BARSLAST(G2)); D3:=D2 OR (FD0 AND REF(L,BARSLAST(FD0))<REF(L,BARSLAST(D2)) AND BARSLAST(G2)>BARSLAST(D2)); GPB:=IF(G1X,H,DRAWNULL),CIRCLEDOT,COLORYELLOW; DPB:=IF(D1X,L,DRAWNULL),CIRCLEDOT,COLORYELLOW; {画线} NN:=G3; UU:=D3; L1:DRAWLINE(UU,L,NN, H,0),COLORYELLOW,DOTLINE; L2:DRAWLINE(NN,H,UU, L,0),COLORWHITE,DOTLINE; DRAWNUMBER(L1=L2 AND NN,H,H,7),COLORYELLOW; DRAWNUMBER(L1=L2 AND UU,L,L,7),COLORGREEN;
T1:=BARSLAST(UU)-BARSLAST(NN); DRAWNUMBER(L1=L2 AND T1>1 AND NN,L,T1,7),COLORYELLOW; T2:=BARSLAST(UU)-BARSLAST(NN); DRAWNUMBER(L1=L2 AND T2<1 AND UU,L,T2,7),COLORWHITE,DRAWABOVE; MA15:MA(CLOSE,M1),COLORFF00FF; MA60:MA(CLOSE,M2),COLORGREEN; MA240:MA(CLOSE,M3),COLORYELLOW;
剩下的就需要你自己定义下M1,M2,M3这三个参数的数值就行了。
[此贴子已经被作者于2020/3/11 10:49:19编辑过]
|
-- 作者:cccsee
-- 发布时间:2020/3/11 10:55:47
--
你好 我试了下 任然不能在图上画出线段
此主题相关图片如下:公式解释.png

此主题相关图片如下:tdx效果图.png

|
-- 作者:FireScript
-- 发布时间:2020/3/11 11:01:22
--
 此主题相关图片如下:temp.png  这个线吗?你拉伸下图表扩充下数据看下。 此外就是: 1.改下公式属性 2.完善下参数定义。
 此主题相关图片如下:temp.png 
|
-- 作者:cccsee
-- 发布时间:2020/3/11 11:17:58
--
我勾选了序列计算,也给M123赋值了,可出来的效果是这样,拉伸图后也没有变化
此主题相关图片如下:1234.png

|
-- 作者:vakoth
-- 发布时间:2020/3/11 13:18:42
--
DRAWNUMBER(COND,PRICE,NUMBER),当COND条件满足时,在PRICE位置书写数字NUMBER.
|
-- 作者:FireScript
-- 发布时间:2020/3/11 13:29:47
--
软件不一样,代码实现效果有很多区别。你这个代码比较多,又是其他软件的。没办法只能慢慢尝试排查下了。
|
-- 作者:vakoth
-- 发布时间:2020/3/11 13:39:24
--
测试了一下,问题出现在L1=L2 上
[此贴子已经被作者于2020/3/11 13:40:56编辑过]
|
-- 作者:vakoth
-- 发布时间:2020/3/11 13:54:11
--
L1=L2 AND 删除
|