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

请教这样编写有什么问题 [开拓者 TB]

  • 咨询内容: 以下这样编写在模拟中与预想的不一样。原来想要持仓一直保持只有1手,已经有持仓就不能连续开仓,但交易结果是不停开仓。请问哪里出错了,应该怎样更改。另外,请教怎样把K线时间周期设置为每根8.5分钟。谢谢
    Params
      Numeric length(10);
      Numeric lots(1);
    Vars
      NumericSeries MA1;
    Begin
      MA1=XAverage(Close,length);
      If(Close>MA1&&MarketPosition<>1)
    {
      Buy(lots,Close);
    }
      If(Close<MA1&&MarketPosition<>-1)
    {
    SellShort(lots,Close);
    }
    PlotNumeric("MA1",MA1);
    End

     

  • TB技术人员: 另外,我的原意是在收盘价判断突破之后才发出交易委托,但是实际是盘中突破了就开仓了。请老师指点一下错在哪里。谢谢

     

  • TB客服: 以你的公式来看,应该是不可以加仓的。
    不停开仓的表现是什么样的?方便的话截个图看一下信号。

    条件里使用了close来做判断,实时中价格条件满足了就会委托 ,不会待到收盘之后的。
    使用close这样的条件判断。有信号消失的可能性,请注意。。。

    你前面所说的不停开仓的表现,如果信号只一个,而帐户却多次开仓,则应该是与此信号消失有关了。

     

  • 网友回复: 实时行情中,在一根K线走完之前,其Close,High,Low都可能随之改变,所以在条件判断中使用Close可能这一Tick突破了,下一Tick又回到突破价以下
    所以信号消失
    而Marketposition是以图上的表示为准,而不是以你账户里实际的仓位为准,所以当价格再次突破时就会出现同一Bar上反复开仓的结果

    所以要么你用Close[1]进行判断

    或者你干脆用A函数和Q函数。。。。

     

  • 网友回复: 我是新手,请教什么是A函数和Q函数,在哪里可以学习到。谢谢

 

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

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容