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

日内平仓的问题 - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: Params
    Numeric maLen1(10);
    Numeric maLen2(50);
    Numeric lots(1);

    Vars
    Numeric ma1;
    Numeric ma2;

    Begin
    If(BarStatus==2&& Time==0.090000&&CurrentTime<=0.090003)
    return;
    ma1 = Average(Open,maLen1);
    ma2 = Average(Open,maLen2);
    PlotNumeric("ma1",ma1);
    PlotNumeric("ma2",ma2);
    If(Date!=Date[1] && High==Low)
    Return;
    If(CurrentBar > maLen2)
    {
            If(MarketPosition == 0)
            {
                    If(Open>ma1 and ma1>ma2)
                   {
                            Buy(lots,Open);
                            Return;
                    }
                    If(Open < ma1 and ma1<ma2)
                    {
                            SellShort(lots,Open);
                            Return;
                    }
            }
            If(MarketPosition == 1)
            {
                   If(Open < ma1)
                    {
                            Sell(lots,Open);
                           Return;
                    }
            }
            If(MarketPosition == -1)
            {
                    If(Open > ma1)
                    {
                           BuyToCover(lots,Open);
                        Return;
                    }
            }
    }
    End

    如果我要用在实盘模拟测试里 怎么写平仓条件 能实现日内 完全平仓 不持仓过夜 (5分钟周期)

     

  • TB技术人员: if(time>=0.1455 && marketposition!=0)
    {
            buytocover;
            sell;
    }

    另外,你的If(Date!=Date[1] && High==Low) Return; 这一句可以去掉,不必要的。

     

  • TB客服: 回复 2# 小米


            好的 谢谢老师。
      还想问下 如果是用在测试历史数据的话

    平仓条件是If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))
        {
            Sell(0,Close);        BuyToCover;
        }
    这么写吗

     

  • 网友回复: 回复 3# hhdy1


      2#的写法也是适用于历史测试的。

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

相关文章

    没有相关内容