您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

VBA解释器的一个 BUG [金字塔]

  • 咨询内容:  Function IsTradingTime(sMarket, iTime)
        If sMarket="ZJ" then
            IsTradingTime= iTime>91500+5 and iTime<113000-5 or iTime>130000+5 and iTime<151500-5
        Elseif sMarket="DQ" or sMarket="ZQ" then
            IsTradingTime= iTime>90000+5 and iTime<101500-5 or iTime>103000+5 and iTime<113000-5 or iTime>133000+5 and iTime<150000-5
        Elseif sMarket="SQ" then
            IsTradingTime= iTime>90000+5 and iTime<101500-5 or iTime>103000+5 and iTime<113000-5 or iTime>133000+5 and iTime<1410000-5 or iTime>142000+5 and iTime<150000-5
        Else
            IsTradingTime= 0
        End if
    End Function

    调用语句
        ddd=IsTradingTime("SQ", 151530)
        Application.MsgOut(ddd)

    返回值-1,预期值为0

     

  • 金字塔客服:

    在VBA中,的true跟false不是我们在C++中的 1和0,true在VBA中的值就是 -1 的,你的代码返回返回 -1说明你的代码存在逻辑错误。

    建议你在IsTradingTime函数中多使用Application.MsgOut调试看看每个步骤及返回值查找问题

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容