您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

[原创]涨停函数ZTPRICE bug反馈及代替公式 [通达信]

  • 咨询内容: 反馈 涨停函数ZTPRICE 的bug
    ZTPRICE 函数的格式(昨日价格,涨跌幅)

    我自己写了个一个看连板的 主图和副图指标
    方便只管的查看 连板情况

    近期创业板的涨跌幅从10%改成了20%
    涨跌幅使用固定数值肯定不合适 需要引入一个随股票和时间变化的 动态变量

    然后我写了如下代码:
    动态涨幅:=IF(CODELIKE('688') OR (DATE>=1200824 AND CODELIKE('300') ),0.20,0.10);

    经过个人反复测试 是没有问题的
    结果拿到个股实测 天山生物 发现8.24之前的交易日 8.21也是涨停
    但是公式 识别不出来了
    一开始还以为自己公式哪里写错了
    结果经过各种折腾排除一大圈回来 发现是 通达信内置函数ZTPRICE有问题

    我是这样用的
    一板:=C>=ZTPRICE(REF(C,1),动态涨幅) ,COLORWHITE;
    天山生物 8月21日算出来的涨停价格 一直是8.46 这显然是按照20%算出来的
    ZTPRICE(REF(C,1),动态涨幅)
    输出动态涨幅的值 是0.1没毛病

    停邪门的

    无奈从网上搜了个公式 自己实现ZTPRICE函数的功能

    ZTA:=1.1*REF(C,1);
    ZTB:=INTPART(ZTA*1000);
    ZTC:=INTPART(ZTA*100)*10;
    涨停价:IF(ZTB-ZTC>=5,CEILING(ZTB/10)/100,ZTC/1000);

    测试后发现这个公式也有个小bug
    应该对昨日价格 也进行小数点处理
    修正后
    昨日价格:= ROUND(REF(C,1)*100)/100;
    ZTA:=(1+动态涨幅)* 昨日价格,NODRAW;
    ZTB:=INTPART(ZTA*1000),NODRAW;
    ZTC:=INTPART(ZTA*100)*10,NODRAW;
    涨停价:=IF(ZTB-ZTC>=5,CEILING(ZTB/10)/100,ZTC/1000),NODRAW;

    修正后 输出终于正常了


    分享出来希望 研究公式的股友们避坑
    也希望 通达信的工程师们 能修复bug
    祝通达信越做越好 炒股软件我个人最喜欢的还是通达信!



    此主题相关图片如下修正前.png:


    此主题相关图片如下修正后.png:

     

     来源:C X H 9 9 .C O M )

  • 通达信技术部: 没人用 涨停函数么??
    论坛人气不太旺的赶脚

     

  • 通达信客服: ZTPRICE第二个参数不支持变量

     

  • 网友交流: 谢谢版主回复 我个人感觉 是不是当时设置涨停函数 参数的时候 把第二个参数设置为 不能接受变量 是否欠妥 后期还有 机会改变么 还是说用户只能 自己曲线救国 自己写几行代码 代替 涨停函数? 这个函数好像在 红宝书里确实也没有提到 是个隐藏的内置函数么?

     

  • 网友交流:

    参数支持变量的话,一般函数说明里有说明,比如MA,没有说明的一般是不支持的

 

有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!

怎么收费,代编流程等详情请点击阅读!

(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容