您好,
我设置了2个图层,上面图层是加权指数,下面图层是连续合约,想通过读取加权合约作为开仓信号,然后,成交是连续合约价格成交。
代码如下:
If(MarketPosition!=-1 AND data0.CLOSE[1]<data0.MA_5[1])
{
SellShort(BuyLots,data1.OPEN);
}
}
如上代码:条件是加权信号,成交的时候按照 data1 连续合约价格成交, 其中,对比过历史回测, 用data1.OPEN和加权data0.OPEN的交易次数是一样的,只是成交价格不一样。 这个是没有问题的,达到了预期目的。
问题如下:我在SellShort前面也加入data1,交易次数,比上面代码多了2倍多,信号完全混乱了。
我想了解,实现如上功能,SellShort前面不需要加入data1吗? 只是括号内OPEN前面加入data1就可以了吗?SellShort(BuyLots,data1.OPEN)
If(MarketPosition!=-1 AND data0.CLOSE[1]<data0.MA_5[1])
{
data1.SellShort(BuyLots,data1.OPEN);
}
}
感谢!
您好,
marketposition加入前缀后,回测结果没有变化,但是SellShort加入前缀后,就乱了,交易次数增加2倍多,而且也不是自己想要的买卖位置。请给一个明确指示,是不是SellShort可以不加前缀。非常感谢!
If( data0.MarketPosition!=-1 AND data0.CLOSE[1]<data0.MA_5[1])
{
SellShort(BuyLots,data1.OPEN);
}
.......
你不是说你sellshort前缀加了data1,然后信号出错了吗?
那为什么你这里发的是没有前缀的sellshort?
您好,
这里面发的不带前缀的,SellShort(BuyLots,data1.OPEN); 回测就没有问题。 但是,加入前缀后,回测就是乱的。 所以,我想知道,到底要不要加前缀。
麻烦您了!
感谢!
对啊,我问的就是既然你sellshort加了data1的前缀,那为什么marketposition不加data1的前缀呢?加个data0前缀跟没加有什么区别呢?
sellshort加了前缀,那你的marketposition呢?