开拓者期货期权程序化系统交易论坛

标题: 请问TB如何实现金字塔加仓?? [打印本页]

作者: bmjm1991    时间: 2017-3-6 17:47:35     标题: 请问TB如何实现金字塔加仓??

我的编写思路是用Lots(0)作为头寸参数

第一次开仓用Lots, 第二次改为Lots*0.6,第三次改为Lots*0.3,可是回到图表上发现每次开仓还是一样的头寸,请问大神们如何解决这个问题?
作者: 小米    时间: 2017-3-7 08:45:15

具体代码怎么写的?发一下吧
作者: bmjm1991    时间: 2017-3-7 13:17:09

//建仓

If(MarketPosition <> 1 && BuyEntry)  //满足买入条件建仓
{
        Buy(lots,Open);
}


If (MarketPosition <> -1 && SellEntry)
{
        SellShort(lots,open);
}
        //加仓
        //一级加仓  盈利100跳加仓0.6份
         
        If(MarketPosition==1 && BarsSinceLastEntry>0 && CurrentEntries<2 && Close[1]>=LastEntryPrice+s1*Minpoint )
        {
           Buy(Lots*0.6,open);
           Commentary("一级加仓");
        }
        If(MarketPosition==-1 && BarsSinceLastEntry>0 && CurrentEntries<2 && Close[1]<=LastEntryPrice-s1*Minpoint )
        {
            SellShort(Lots*0.6,open);
            Commentary("一级加仓");
        }

        //二级加仓 一级加仓后再盈利100跳加仓0.3份
       
        If(MarketPosition==1 && BarsSinceLastEntry>0 && CurrentEntries<3 && close[1]>=LastEntryPrice+s1*Minpoint )
        {
           Buy(Lots*0.3,open);
           Commentary("二级加仓");
        }
        If(MarketPosition==-1 && BarsSinceLastEntry>0 && CurrentEntries<3 && close[1]<=LastEntryPrice-s1*Minpoint )
        {
           SellShort(Lots*0.3,open);
           Commentary("二级加仓");
        }
         
作者: 小米    时间: 2017-3-7 13:30:45

bmjm1991 发表于 2017-3-7 13:17
//建仓

If(MarketPosition  1 && BuyEntry)  //满足买入条件建仓

lots是参数?初始值是多少?
看看图表上的的信号显示是多少手,以及在信号K线位置看看注释内容是否不同的加仓级别呢?
作者: bmjm1991    时间: 2017-3-7 13:37:41

lots默认参数是0,也就是系统设定的值,注释显示是加仓,但是没有按照0.6 0.3 的金字塔形加,而是按照等比例加
作者: 小米    时间: 2017-3-7 14:29:01

bmjm1991 发表于 2017-3-7 13:37
lots默认参数是0,也就是系统设定的值,注释显示是加仓,但是没有按照0.6 0.3 的金字塔形加,而是按照等比 ...

你贴的代码里只有“一级加仓”,“二级加仓”这两种注释内容,没有“加仓”这种哟。。那么“加仓”的注释是什么语句下的呢?所有的信号都是一样的注释内容吗?
我知道你的想法是需在实现在lots,以及0.6 、0.3倍的加仓。可现在不是没有实现,所以我们才在排查问题吗?
您需要跟着我们的思路去一步步排查才行呀。。能按我前面提问的内容一个个具体回复一下吗?


作者: bmjm1991    时间: 2017-3-7 14:45:51

感谢您的耐心回复,我的意思是注释完全符合一级加仓和二级加仓,确实是加仓代码发出的信号,系统也确实加仓了,只是每一次都加Lots, 而不是我想要的0.6*lots 和0.3*lots.
按照QQ群的回复我把改进了一下,把lots 改为了原来的三分之一,       首次开仓直接开三次,第一次加仓开两次,第二次加仓开一次,所达到的效果是一样的




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2