以下代码运行在CU2209合约上,我想输出持仓数,一直是0,账户上实际是有2手多单cu2209.
Vars
    Global Position MY;
Events
    OnPosition(PositionRef pos)
    {
        MY = POS;
    }
    OnBar(ArrayRef<Integer> indexs)
    {
        IF(CLOSE <> 0)        
        Print("SY:" + TEXT(MY.longCurrentVolume));
    }   
onposition只有在持仓变动的情况下才会驱动运行。换句话说,如果启动程序后,你没有进行开仓或平仓操作,onposition是不会运行的。
这种情况下要获取position数据,可以用getposition的函数
建议先把各个事件域了解清楚了再写代码,这样一知半解盲人摸象的写是不行的
明白了。边写边摸索