您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

请教版主-关于A_BuyPosition使用的疑问,谢谢 [开拓者 TB]

  • 咨询内容: 本帖最后由 tommyzhaozh 于 2017-4-24 14:05 编辑

    版主你好,我的程序目的如下
    隔夜重新打开程序后,我需要使用我账户的持仓信息来重置我的全局变量

    因为这个需求,我使用了A_BuyPosition和A_SellPosition函数,但碰到了下面的问题

    源代码
            //上一天持有多头
            if(A_BuyPosition > 0 )
            {
                    SetGlobalVar(0,A_BuyAvgPrice);
                    SetGlobalVar(1,1);
            }
           
            //上一天持有空头
            if(A_SellPosition > 0)
            {
                    SetGlobalVar(0, A_SellAvgPrice);
                    SetGlobalVar(1,-1);
            }


    结果偏差,我发现放我持有多头的时候,我的全局变量getGlobalVar(1),里面显示的数字反而是-1

    我吧A_BuyPosition和A_SellPosition转成text输出在屏幕上发现理解并没有问题,出书显示我的A_BuyPosition=1,而A_SellPosition=0

    这样我只能理解为我在使用if(A_SellPosition > 0)的时候出现了问题,但我不理解问题的原理

    还请教版主,如何正确的使用,非常感谢你长期以来的帮助~~

     

  • TB技术人员: 当a_sellposition为无效值时,他也是大于0的,也可能使你的条件以及赋值 成立。。
    在使用A函数时,为了避免错误也是为了提高效率。都是需要判断在最后K线以及能取到帐户信息有效值后才进行判断,以及发单 等操作。
    建议在你所示的代码上层增加 barstatus==2 以及a _buyposition!=invalidnumeric等类似的判断

     

  • TB客服:
    小米 发表于 2017-4-24 14:11
    当a_sellposition为无效值时,他也是大于0的,也可能使你的条件以及赋值 成立。。
    在使用A函数时,为了避免 ...

    好的,感谢你~~~~~~~~~~~~~·

 

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

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容