当前位置:→ 股海网公式帮助 → 正文
  • 图表型指标的编写技巧[一己之见]

  • 相关简介:近期发现理想论坛有一些朋友写指标时,对于一些超大型列表类的指标,会出现两个问题:第一是画面不美观排列混乱,第二是输出语句太多,但由于大智慧对输出语句数量有一定的限制,导致指标不能完成;我写了一个简单的指标做范例,希望能帮助初学者快速提高这方面的技巧。 注意:本示例指标数据函数用的是大智慧最新版的云函数,不带云函数的版本不要使用,否则会导致大智慧异常退出。 图中28个数据,全部使用右对齐排列,显示这28个数据只用了四个输出语句。 请软件高手多留意咱这个帖子,如果实在没办法实现,请告之:建议软件

  • 文章来源:股海网作者:股海网发布时间:2013-09-10浏览次数:下载次数:0

近期发现理想论坛有一些朋友写指标时,对于一些超大型列表类的指标,会出现两个问题:第一是画面不美观排列混乱,第二是输出语句太多,但由于大智慧对输出语句数量有一定的限制,导致指标不能完成;我写了一个简单的指标做范例,希望能帮助初学者快速提高这方面的技巧。
       注意:本示例指标数据函数用的是大智慧最新版的云函数,不带云函数的版本不要使用,否则会导致大智慧异常退出。
 

图表型指标的编写技巧[一己之见]

 

 


   图中28个数据,全部使用右对齐排列,显示这28个数据只用了四个输出语句。
 
      请软件高手多留意咱这个帖子,如果实在没办法实现,请告之:建议软件高手开发股票池的自动朗读软件

      以下是指标源码部分及指标中用到的一些技巧说明:
 
{1:设定报告期,后面很多内容都将直接调用这里的字符串数据,这里将报告期期单独列出来是为减少将来修改的工作量,这个非常重要,很多朋友写指标时就不会考虑到这一点}
 BG01:='"报告期=20122Q"';
 BG02:='"报告期=20121Q"';
 BG03:='"报告期=20114Q"';
 BG04:='"报告期=20113Q"';
 
{2:列表,这里设了三个坐标,写的时候会略显麻烦,但对于调试画面的美观度、整洁度有相当大的帮助,下面第四、五行加了两个灰框背景主要是为了提高画面的可阅读性}
 X00:=10;{X轴起始}  Y00:=10;{Y轴起始}  Y01:=15;{行宽}
 DRAWRECTABS(X00+50,Y00-6,X00+375,Y00+Y01*5,RGB(0,0,0)),COLOR999999,LAYER5;
 DRAWRECTABS(X00-5,Y00-6,X00+430,Y00+Y01*1-2,RGB(,0,255)),COLORdddddd,LAYER6;
 DRAWRECTABS(X00-5,Y00+Y01*2-1,X00+430,Y00+Y01*3-1,RGB(60,60,60)),COLOR333333,LAYER6;
 DRAWRECTABS(X00-5,Y00+Y01*4-1,X00+430,Y00+Y01*5-1,RGB(60,60,60)),COLOR333333,LAYER6;
 DRAWRECTABS(X00-5,Y00-6,X00+430,Y00+Y01*5,RGB(0,0,0)),COLORffffff,LAYER4;
 
{3、计算机构持仓比,这里用的大智慧最新7版的云函数,由于前面单独设了报告期,日后就不用修改了,提高了指标编辑效率}
 基金01:=DFIXTREEDOT('基金持股比例',BG01,1)+DFIXTREEDOT('基金管理公*持股比例',BG01,1);
 基金02:=DFIXTREEDOT('基金持股比例',BG02,1)+DFIXTREEDOT('基金管理公*持股比例',BG02,1);
 基金03:=DFIXTREEDOT('基金持股比例',BG03,1)+DFIXTREEDOT('基金管理公*持股比例',BG03,1);
 基金04:=DFIXTREEDOT('基金持股比例',BG04,1)+DFIXTREEDOT('基金管理公*持股比例',BG04,1);
 
社保01:=DFIXTREEDOT('社保基金持股比例',BG01,1)+DFIXTREEDOT('企业年金持股比例',BG01,1);
 社保02:=DFIXTREEDOT('社保基金持股比例',BG02,1)+DFIXTREEDOT('企业年金持股比例',BG02,1);
 社保03:=DFIXTREEDOT('社保基金持股比例',BG03,1)+DFIXTREEDOT('企业年金持股比例',BG03,1);
 社保04:=DFIXTREEDOT('社保基金持股比例',BG04,1)+DFIXTREEDOT('企业年金持股比例',BG04,1);
 
保险01:=DFIXTREEDOT('保险机构持股比例',BG01,1)+DFIXTREEDOT('保险产品持股比例',BG01,1);
 保险02:=DFIXTREEDOT('保险机构持股比例',BG02,1)+DFIXTREEDOT('保险产品持股比例',BG02,1);
 保险03:=DFIXTREEDOT('保险机构持股比例',BG03,1)+DFIXTREEDOT('保险产品持股比例',BG03,1);
 保险04:=DFIXTREEDOT('保险机构持股比例',BG04,1)+DFIXTREEDOT('保险产品持股比例',BG04,1);
 
券商01:=DFIXTREEDOT('券商持股比例',BG01,1)+DFIXTREEDOT('券商集合理财产品持股比例',BG01,1);
 券商02:=DFIXTREEDOT('券商持股比例',BG02,1)+DFIXTREEDOT('券商集合理财产品持股比例',BG02,1);
 券商03:=DFIXTREEDOT('券商持股比例',BG03,1)+DFIXTREEDOT('券商集合理财产品持股比例',BG03,1);
 券商04:=DFIXTREEDOT('券商持股比例',BG04,1)+DFIXTREEDOT('券商集合理财产品持股比例',BG04,1);
 
QFII01:=DFIXTREEDOT('QFII持股比例',BG01,1);
 QFII02:=DFIXTREEDOT('QFII持股比例',BG02,1);
 QFII03:=DFIXTREEDOT('QFII持股比例',BG03,1);
 QFII04:=DFIXTREEDOT('QFII持股比例',BG04,1);
 
私募01:=DFIXTREEDOT('信托计划持股比例',BG01,1)+DFIXTREEDOT('阳光私募持股比例',BG01,1)+DFIXTREEDOT('投资公*持股比例',BG01,1)+DFIXTREEDOT('资产管理计划持股比例',BG01,1);
 私募02:=DFIXTREEDOT('信托计划持股比例',BG02,1)+DFIXTREEDOT('阳光私募持股比例',BG02,1)+DFIXTREEDOT('投资公*持股比例',BG02,1)+DFIXTREEDOT('资产管理计划持股比例',BG02,1);
 私募03:=DFIXTREEDOT('信托计划持股比例',BG03,1)+DFIXTREEDOT('阳光私募持股比例',BG03,1)+DFIXTREEDOT('投资公*持股比例',BG03,1)+DFIXTREEDOT('资产管理计划持股比例',BG03,1);
 私募04:=DFIXTREEDOT('信托计划持股比例',BG04,1)+DFIXTREEDOT('阳光私募持股比例',BG04,1)+DFIXTREEDOT('投资公*持股比例',BG04,1)+DFIXTREEDOT('资产管理计划持股比例',BG04,1);
 
机构01:=DFIXTREEDOT('机构持股比例合计',BG01,1);
 机构02:=DFIXTREEDOT('机构持股比例合计',BG02,1);
 机构03:=DFIXTREEDOT('机构持股比例合计',BG03,1);
 机构04:=DFIXTREEDOT('机构持股比例合计',BG04,1);
 

{4:字符显示区,前面写一个空9可以节省后面过多的字符,通过对数据前面增加空格(STRRIGHT函数)就可以很轻松地对字符进行对齐,而且仅用一个输出语句就将整个季度的数据显示出来,有些朋友每一个数据用一个输出语句,这样是极期浪费的,这种方法一旦数据太多的时候,大智慧就会拒绝再加输出语句}
 空9:='         ';
 DRAWTEXTABS(X00,Y00+Y01*0-2, '<*c=ffffff*>'+'季报周期基金持仓-社保持仓-保险持仓-券商持仓-QFII持仓-私募持仓全部机构'),LAYER0;
 
DRAWTEXTABS(X00,Y00+Y01*1,   '<*c=dddddd*>'+STRMID(BG01,9,4)+'-'+STRMID(BG01,13,1)+'季'
 +STRRIGHT(空9+ifs(基金01=0,'0',NUMTOSTRN(基金01,2)),9)
 +STRRIGHT(空9+ifs(社保01=0,'0',NUMTOSTRN(社保01,2)),9)
 +STRRIGHT(空9+ifs(保险01=0,'0',NUMTOSTRN(保险01,2)),9)
 +STRRIGHT(空9+ifs(券商01=0,'0',NUMTOSTRN(券商01,2)),9)
 +STRRIGHT(空9+ifs(QFII01=0,'0',NUMTOSTRN(QFII01,2)),9)
 +STRRIGHT(空9+ifs(私募01=0,'0',NUMTOSTRN(私募01,2)),9)
 +STRRIGHT(空9+ifs(机构01=0,'0',NUMTOSTRN(机构01,2)),9));
 
DRAWTEXTABS(X00,Y00+Y01*2,   '<*c=dddddd*>'+STRMID(BG02,9,4)+'-'+STRMID(BG02,13,1)+'季'
 +STRRIGHT(空9+ifs(基金02=0,'0',NUMTOSTRN(基金02,2)),9)
 +STRRIGHT(空9+ifs(社保02=0,'0',NUMTOSTRN(社保02,2)),9)
 +STRRIGHT(空9+ifs(保险02=0,'0',NUMTOSTRN(保险02,2)),9)
 +STRRIGHT(空9+ifs(券商02=0,'0',NUMTOSTRN(券商02,2)),9)
 +STRRIGHT(空9+ifs(QFII02=0,'0',NUMTOSTRN(QFII02,2)),9)
 +STRRIGHT(空9+ifs(私募02=0,'0',NUMTOSTRN(私募02,2)),9)
 +STRRIGHT(空9+ifs(机构02=0,'0',NUMTOSTRN(机构02,2)),9));
 
DRAWTEXTABS(X00,Y00+Y01*3,   '<*c=dddddd*>'+STRMID(BG03,9,4)+'-'+STRMID(BG03,13,1)+'季'
 +STRRIGHT(空9+ifs(基金03=0,'0',NUMTOSTRN(基金03,2)),9)
 +STRRIGHT(空9+ifs(社保03=0,'0',NUMTOSTRN(社保03,2)),9)
 +STRRIGHT(空9+ifs(保险03=0,'0',NUMTOSTRN(保险03,2)),9)
 +STRRIGHT(空9+ifs(券商03=0,'0',NUMTOSTRN(券商03,2)),9)
 +STRRIGHT(空9+ifs(QFII03=0,'0',NUMTOSTRN(QFII03,2)),9)
 +STRRIGHT(空9+ifs(私募03=0,'0',NUMTOSTRN(私募03,2)),9)
 +STRRIGHT(空9+ifs(机构03=0,'0',NUMTOSTRN(机构03,2)),9));
 
DRAWTEXTABS(X00,Y00+Y01*4,   '<*c=dddddd*>'+STRMID(BG04,9,4)+'-'+STRMID(BG04,13,1)+'季'
 +STRRIGHT(空9+ifs(基金04=0,'0',NUMTOSTRN(基金04,2)),9)
 +STRRIGHT(空9+ifs(社保04=0,'0',NUMTOSTRN(社保04,2)),9)
 +STRRIGHT(空9+ifs(保险04=0,'0',NUMTOSTRN(保险04,2)),9)
 +STRRIGHT(空9+ifs(券商04=0,'0',NUMTOSTRN(券商04,2)),9)
 +STRRIGHT(空9+ifs(QFII04=0,'0',NUMTOSTRN(QFII04,2)),9)
 +STRRIGHT(空9+ifs(私募04=0,'0',NUMTOSTRN(私募04,2)),9)
 +STRRIGHT(空9+ifs(机构04=0,'0',NUMTOSTRN(机构04,2)),9));
 
{5:数据由于全部取两个小数,会导致数据为0时显示“0.00”,因此第四部分加了一个判断句[ifs(机构03=0,'0',],将数据为0时去掉小数,利于画面的整洁,更便于识别机构持仓的变化趋势}
 
{6:对数据变化比较大的,还可以适量地加一些色彩判断句,便于查阅时能快速抓住重点,例如:ifs(私募01-私募02>=2,'<*c=0000ff*>','<*c=00ff00*>'),由于本指标只是个范例,我就没加这方面的了,朋友们可以根据自己的需要添加}
 
{7:从第4部分我们可以看出,除了1234不一样,其它都一样的,我们在编写的时候就可以先写一段,然后在记事本里替换,这可以快速把4个季度的全写出来。所以规范化的编写指标,除了可以提高画面的美感和可识别性,更可以大大提高我们的效率}
 

藏龙卧虎,以上如有不妥的地方,请指出!
 
注:关于大智慧云函数机构持仓数据的准确性目前不是很高,仅能做个参考!另外云函数值还可以用指标排序,只要能排序就可用于选股,例如公募机构(基金/社保/保险/券商/QFII)持仓很少但私募持仓大幅增加的票利用云函数通过排序就很容易找出来。
 


 

 ☟问题反馈 ☞┄┄┄┄┄┄┄┄┄┄→收藏资源:

图表型指标的编写技巧[一己之见]

  • 下载资源所需积分

    0

  • 当前拥有积分

    0

上传会员: 
股海网
文件大小: 
Bytes
上传时间: 
2013-09-10
下载积分: 
-
免责声明: 
请仔细阅读并同意后才能下载
本附件为用户分享上传,股海网没有对文件进行验证,不能保证下载资源的准确性、安全性和完整性,也不保证下载资源能正常安装和使用,且下载后扣除的积分无法退还,除非您充分理解并完全接受本声明,否则您无权下载。
本站对提供下载的软件、指标、资料等不拥有任何权利,其版权归该下载资源的合法拥有者所有。本附件仅供学习和研究使用,不得用于商业或者非法用途,如有侵犯您的版权, 请参看 《股海网侵权处理流程》《股海网免责声明条款》
点击下载无反应时,更换主流浏览器重新登录操作,如360浏览器、Edge浏览器、谷歌浏览器,个别浏览器有不兼容现象。
勾选以下表示您已经阅读并同意以上声明才能下载本文件,扣除积分无法退还!
我已阅读所有条款规定, 请点我同意 所有条款内容!我自愿下载!
提示:如下载失败,请点关闭刷新此页面或提交问题反馈给管理员→
关闭

关于我们 - 联系我们 - 隐私政策 - 免责声明 - 下载帮助 - 广告合作 - SiteMap - TOP
增值电信业务经营ICP许可证:湘B2-20210269 湘ICP备09016573号-10 湘公网安备43108102000040号
Copyright © 2021 铭网科技,All Rights Reserved.