全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
请问老师,我的委托映射出什么问题了吗?
well989 分享到
2022-01-11 08:59

OnInit()
    {
        layers[0]=SubscribeBar("pp888.DCE", "30m",  20211101.0930);
        layers[1]=SubscribeBar("MA888.CZCE", "30m",  20211101.0930);
        //与数据源有关
        Range[0:DataCount-1]
        {
          SetOrderMap2MainSymbol();    //设置委托映射到主力

我的这个由连续映射到主力的策略,能够成功交易,但是下面的不行,

OnInit()
    {
        layers[0]=SubscribeBar("pp2205.DCE", "30m",  20211101.0930);
        layers[1]=SubscribeBar("MA2208.CZCE", "30m",  20211101.0930);
        //与数据源有关
        Range[0:DataCount-1]
        {
          //SetOrderMap2MainSymbol();    //设置委托映射到主力

改成具体合约的时候,屏蔽委托映射代码,可是结果只发送第一个pp2205的交易单子,一直没见第二个pp2208的,请问老师,问题出在哪呢?
            

kyover

没看懂你这个在写什么 注释掉set以后 所有图层都不会映射交易 

2022-01-11 09:02
well989

我后面紧接着是开仓的代码

 //开仓1
If(k1==0 and jiacha<bz-db1)
{data0.buy(lots1,data0.open);
data1.SellShort(lots1,data1.open);Commentary("开仓1");lowestjc=bz-db1;
lotsj=lots1;k1=1;Return;
  }

如果前面订阅的是指数或者连续,那么后面开仓的代码就能成功按要求发单,可是如果订阅的是具体合约,那后面就只有data0的发单,data1的没见发单,什么原因呢?

2022-01-11 09:17
alang2005
@well989

你这个开单条件默认是data0发出的吧?那data1就是没信号了

2022-01-11 12:03
well989

我注释掉就是不想映射,因为我之前订阅的是具体合约,可是,信号出现之后,只发送data0的单子,data1的单子一直不见发出

 

2022-01-11 09:20
well989

@alang2005,那怎么样才能实现data0和data1都发送单子呢?

 

2022-01-11 14:45
alang2005
@well989

我也不知道,我是新手

2022-01-11 15:07
well989

还有,我发现本来data0和data1应该是只发送1手的,但是最总却成交了2手data0图层商品的单子,难道默认都由data0来发出了,搞不懂

2022-01-11 14:49
您未登录,请先 登录注册 后发表评论
顶部