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

实盘的几个疑问 - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: 本帖最后由 cai2050 于 2011-7-16 19:20 编辑

    1、止损的问题
    用 setstoploss 盘中一般能实现需要止损的功能,但仍然有些小问题,比如如图所示,最后收盘的一个 BAR 止损未触发,止损额度为150
    交易开拓者(超强版) - [棉花日内1201空头-CF1201 15分钟线].jpg (37.29 KB, 下载次数: 0) 2011-7-15 22:13:50 上传

     

  • TB技术人员: 第二个问题是,假如 我用15分钟线做交易,最后收盘平仓的公式语句应该如何写
    If(Time>=0.1459)
      { BuyToCover(lots,Open);        
        }
    这句话是否可以,总感觉这语句是用在1分钟图上的,不知理解的对否?
    另外看了V4的公式语句,
    Begin
    ...
    If(Date[-1]!=InvalidInteger && Date!=Date[-1])
    { Sell(0,Close); BuyToCover(0,Close); }
    Else If(Date==CurrentDate && Time==0.1455 && CurrentTime>=0.1459)
    { Sell(0,Open); BuyToCover(0,Open); }
    ...
    End

    上例子是针对5分钟的,如果针对15分钟,改成Else If(Date==CurrentDate && Time==0.1445 && CurrentTime>=0.1459)
    在测试中发现我在14:45开的单子,会立马在14:45平仓,信号是这么显示的,我想实盘中会按照信号发出指令。

     

  • TB客服: 本帖最后由 cai2050 于 2011-7-16 20:56 编辑

    整了一日,埃,终于搞明白了第一个问题,setstoploss 看来是不稳定,有时盘中就发指令,有时要当前BAR走完才发,这也是近期俺实盘经常碰到的问题,v4 里头这个语句删除了,不知这样的理解对否?

    盼有朋友对俺第二个问题的解答!

     

  • 网友回复: 本帖最后由 cai2050 于 2011-7-17 00:19 编辑

    通过在本坛子的学习,对原有公式作了一定改动,编译通过后,但在主图上未有信号显示,察看原因,在建仓价格和数量上均用到A函数。大家帮看看,这样写能否在实际交易中实现公式发出的交易指令,盼各位朋友指点阿

    If(preMP == 0)
            {
                    If(Con2)
                    {
                            If(BarStatus == 2)
    {
      oneMargin = Q_Last*ContractUnit()*BigPointValue()*MarginRatio();

            TotalEquity=A_FreeMargin;

             lots == IntPart((TotalEquity*EntryRatio)/oneMargin);

             myEntryprice=Q_AskPrice;

             sellshort(lots,myEntryprice,true);

        }Else

        {        

             oneMargin = nextopen*ContractUnit()*BigPointValue()*MarginRatio();

            TotalEquity = CurrentCapital()+ Abs(CurrentContracts())*oneMargin;

             lots == IntPart((TotalEquity*EntryRatio)/oneMargin);

             myEntryPrice = nextopen;
                
             SellShort(lots,myEntryprice,true);  
          }


                    }
                                   
            }Else If(preMP == -1) // long
            {
                    If (Con1 )// 平仓
                         {
                            If(BarStatus == 2)
      {
         BuyToCover(lots,Q_bidPrice,true);
      }else
        {
        BuyToCover(lots,NextOpen,true);
         }
                       }Else
                    {        if(high>(myentryprice+stoplossset*minpoint))
               {  myexitprice=myentryprice+stoplossset*minpoint;
                 if(open>myexitprice)
                {myexitprice=open;}
                buytocover(0,myexitprice);
                       }          
                                      
                            }          
                           }

     

  • 网友回复: 埃,惭愧,上面的公式都是东拼西凑的

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

相关文章

    没有相关内容