longCurrentContracts和shortCurrentContracts

shortCurrentContracts-空头持仓合约数

longCurrentContracts-多头持仓合约数

这两个函数是指获得图表上信号的当前合约数吗?还是账户持仓合约数?我设置了shortCurrentContracts=0(longCurrentContracts=0)为开仓条件和shortCurrentContracts=1(longCurrentContracts=1)为平仓条件模拟交易时候还会有信号闪烁,为什么?

shortCurrentContracts 使用问题
longcurrentContracts与闪烁关联
跨周期问题
想计算出现有的持仓,请问是用这个函数吗?
发单和代码不对应
开仓数限制不生效
和同花顺相比
XAverage和WAverage
手动和程序结合
if条件不满足,但进入了执行语句

图表信号的

条件不是只有currentcontracts一个吧

看看其他条件

或者模型执行结构是不是也可能导致闪烁

我的开平仓条件是这样的,请老师指点

Params

   Numeric length1(5);     // 短期均线周期

   Numeric length2(10);    // 中期均线周期

   Numeric length3(20);    // 长期均线周期


Vars

   Series<Numeric> ma1;    // 短期均线

   Series<Numeric> ma2;    // 中期均线

   Series<Numeric> ma3;    // 长期均线


Events


   //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

   OnBar(ArrayRef<Integer> indexs)

   {

       //多单开仓:当MA10上穿MA20时开多1手单;

       //平仓:如果MA5下穿MA10时平仓。

       //如果保持MA10和MA20金叉时,MA5再次上穿MA10时继续开1手多单,同样当MA5再次下穿MA10时平仓。

       //(注:如果MA10和MA20不满足金叉,MA5和MA10金叉时不开仓)

       ma1 = XAverage(close,length1);//5

       ma2 = XAverage(close,length2);//10

       ma3 = XAverage(close,length3);//20

       PlotNumeric("ma1",ma1);

       PlotNumeric("ma2",ma2);

       PlotNumeric("ma3",ma3);

       If(MarketPosition==0 and ma2[1]<ma3[1] and ma2>ma3)

       {

           buy(1, open);

           Commentary("首次入场");

       }

        If(MarketPosition==0 and ma1[1]<ma2[1] and ma1>ma2 and ma2>ma3)

       {

           Buy(1,open);

           Commentary("再入场");

       }

       If(MarketPosition==1 and ma1[1]>ma2[1] and ma1<ma2)

       {

           sell(1, open);

       }

       

//------------------------------------------------------- ------------------------                

       If(MarketPosition==0 and ma2[1]>ma3[1] and ma2<ma3)

       {

           SellShort(1, open);

           Commentary("首次入场");

       }

        If(MarketPosition==0 and ma1[1]>ma2[1] and ma1<ma2 and ma2<ma3)

       {

           SellShort(1,open);

           Commentary("再入场");

       }

       If(MarketPosition==-1 and ma1[1]<ma2[1] and ma1>ma2)

       {

           BuyToCover(1, open);

       }

   }

用ma当日数据必然是存在闪烁的 ,日内会变动的呀。

close在历史表示收盘价,在实时表示最新数据的

你这还不只是闪烁的问题,还有偷价的问题

嗯,本来想用持仓状态控制开平仓,结果也不行,哎!再研究研究吧

你这ma1和close不是线性相关的吗?close会闪烁那ma1也会啊,这不是很明显嘛