欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求助关于通达信改金字塔主图模型

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4052人关注过本帖树形打印复制链接

主题:求助关于通达信改金字塔主图模型

帅哥哟,离线,有人找我吗?
ly0794012132
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/8/15 8:36:56
求助关于通达信改金字塔主图模型  发帖心情 Post By:2019/8/28 10:54:45    Post IP:221.216.252.119[只看该作者]

DIF:=12;
DEA:=26;
MID:=9;
VAR1:=CLOSE-LOW;
VAR2:=HIGH-LOW;
VAR3:=CLOSE-HIGH;
VAR4:=IF(HIGH>LOW,(VAR1/VAR2+VAR3/VAR2)*VOL,0);
HPTP:=SUM(VAR4,10)/10000, COLORSTICK;
TKXL:=(DIF-DEA)*2;
XVYO:=UPNDAY(TKXL,1);                               // 本句可以用TKXL>REF(TKXL,1);代替连涨这里改过了
G:=MA(C,5);D:=MA(C,10);
HH:=REF(H,5)=HHV(H,11);
LL:=REF(L,5)=LLV(L,11);
STICKLINE(V/REF(V,1)>2,OPEN,CLOSE,1,0),COLOR00FFFF;
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));
GQ:=L>REF(H,1) AND DAY!=REF(DAY,1);
DQ:=H<REF(L,1) AND DAY!=REF(DAY,1);
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);
FGZL:=IF(FGH1<FGL,FGL,IF(FGL<=FGL1,FGL2,FGL1));
FDZH:=IF(FDL1>FDH,FDH,IF(FDH>=FDH1,FDH2,FDH1));
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,IF(BHD,BHD+2,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;
趋势向上:DRAWLINE(UU,L,NN,H,0),COLORYELLOW,DOTLINE;
趋势向下:DRAWLINE(NN,H,UU,L,0),COLORWHITE,DOTLINE;
找顶线:DRAWLINE(NN,H,REF(NN,1),REF(H,1),1),COLORGREEN;                                          // 本句好像是没有输出值,改写到,更改 ‘’找顶线:=UU;
找底线:DRAWLINE(UU,L,REF(UU,1),REF(L,1),1),COLORRED;
DRAWNUMBER(UU,L*0.998,L);
DRAWNUMBER(NN,H*1.01,H);
XG:CROSS(C,找顶线) AND 找顶线>0 AND HPTP AND XVYO,NODRAW;
DRAWICON(XG,LOW,1);


其他地方不知道哪里出了问题,原本应当是下面这样,不过我改完之后有几个问题:第一,画线不是始终显示在主图图表上,只有在缩放到某一个大小时能显示出来,一旦K线缩放比例变了,线就消失了,第二个问题,显示出来的线,都是无限延长,并没有消失,也就是N周期前的线也会显示到今天,而不是随着新的线的出现而停止。

下图为正常显示(在通达信里)

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

改写后在金字塔中的样子(放大或者缩小时间可以在某一个比例看到线,一旦缩放,就消失了)

图片点击可在新窗口打开查看此主题相关图片如下:突破找顶.png
图片点击可在新窗口打开查看

 

放大到某一比例后出现了线,但是,线的长度不会随着新的找顶或者找底线出现而中断,而是一直显示到最后一根K线。

图片点击可在新窗口打开查看此主题相关图片如下:突破找顶消失.png
图片点击可在新窗口打开查看

实在是找不到哪里有问题了,希望论坛大佬能够帮忙看下!非常感谢!


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/28 11:31:44    Post IP:180.169.30.6[只看该作者]

 1.缩放的问题 是因为K线图无法把超出范围的地方所绘制的线输出出来了。意思就是满足绘图条件的K必须在K线视野范围内。
2.
延长的问题好像是因为没设置这个延伸的参数:

找顶线:DRAWLINE(NN,H,REF(NN,1),REF(H,1),1),COLORGREEN;                                          // 本句好像是没有输出值,改写到,更改 ‘’找顶线:=UU;
找底线:DRAWLINE(UU,L,REF(UU,1),REF(L,1),1),COLORRED;

参数改成0应该就可以了。你绘制线条的地方不多。但是这2个没有改参数的


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
ly0794012132
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/8/15 8:36:56
回复:(FireScript) 1.缩放的问题 是因为K线图...  发帖心情 Post By:2019/8/28 11:59:23    Post IP:221.216.252.119[只看该作者]

非常感谢回复~但是更该DRAWLINE函数之后,还是有问题,数字能显示出来了,画线也可以显示出来了,不过只能维持往后一个周期的。

 


图片点击可在新窗口打开查看此主题相关图片如下:改进.png
图片点击可在新窗口打开查看

线很短,而且到下一个K线就消失了,没有延长

 


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/28 13:28:44    Post IP:180.169.30.6[只看该作者]

按照这个画线的条件的确是只会维持一个周期。
开始条件是UU
结束条件是REF(UU,1) 那这样就会直接第二个周期就结束了。


通达信里面实现的效果是怎样的?就算延长的话,也肯定有个结束点的吧。我看了它的函数说明,好像也没办法指定延长的周期的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
ly0794012132
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/8/15 8:36:56
回复:(FireScript)按照这个画线的条件的确是只会维...  发帖心情 Post By:2019/8/28 14:58:59    Post IP:123.117.25.237[只看该作者]

我改成延长的了,不过发现中间有些变量输出来的值和通达信不太一样。问题应该出在了中间某个代码上。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/28 16:33:39    Post IP:180.169.30.6[只看该作者]

虽然代码语法上有很多通用的,但是毕竟是不同软件,底层的实现很难保证会有有一样的效果的。所以有些代码看上去一样,实际效果上很难规避差异,这个希望能理解。 具体代码输出值差异只能你那边先定位出来,我们这边没办法把整个代码逻辑都理一遍,等定位到具体代码时候我们这边看下能否进行一些修改以达到接近的效果。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
ly0794012132
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/8/15 8:36:56
回复:(FireScript)虽然代码语法上有很多通用的,但...  发帖心情 Post By:2019/8/28 16:56:58    Post IP:123.117.25.237[只看该作者]

版主你好,我刚才一点一点对了一下所有参数,BHG:=COUNT(BH0,BARSLAST(FD0));这句话往上的所有判断结果都是一样,参数从BHG开始就不一样了,下面是两个软件的截图。

 

金字塔的截图

 


图片点击可在新窗口打开查看此主题相关图片如下:金字塔fd0bh0.png
图片点击可在新窗口打开查看


 

通达信截图

 


图片点击可在新窗口打开查看此主题相关图片如下:通达信fd0bh0.png
图片点击可在新窗口打开查看

从图上来开一点毛病都没有,但是BHG:=COUNT(BH0,BARSLAST(FD0)); 这句话调用了FD0参数,然后调用BH0参数,结果,金字塔的数据出现了异常

如下图

 


图片点击可在新窗口打开查看此主题相关图片如下:对比.png
图片点击可在新窗口打开查看

BHG:=COUNT(BH0,BARSLAST(FD0));

问题出在了这句上面。

麻烦版主帮忙看一下。


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/28 17:15:05    Post IP:180.169.30.6[只看该作者]

 不对啊。我这边对比了下2个软件这个值是一样的啊。
金字塔:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

通达信:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

是不是数据量差异导致的呢?你把数据量都扩大点试下呢。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/28 17:18:06    Post IP:180.169.30.6[只看该作者]

前面几个K我也移动过去看了下,也是一样的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
ly0794012132
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/8/15 8:36:56
回复:(FireScript)虽然代码语法上有很多通用的,但...  发帖心情 Post By:2019/8/28 17:21:22    Post IP:123.117.25.237[只看该作者]

统计满足条件的周期数.
用法:
 COUNT(X,N),统计N周期中满足X条件的周期数,若N<0则从第一个有效值开始.
例如:
 COUNT(CLOSE>OPEN,20)表示统计20周期内收阳的周期数

 

这个是通达信的COUNT函数的解释~


 回到顶部
总数 18 1 2 下一页