遇到一个关于ab编程的小问题。以今天收盘价买入,明天开盘价抛出,明天再以收盘价买入,后天开盘价抛出,如此连续交易。对一个portfolio按照例如收盘最小只选取一个部位进行交易。查看交易明细发现,当不同股票轮流上榜时,会出现今日收盘买入,今日开盘抛出的现象,概率约为10%-20%。附上自编公式,请指正。 Buy= C>0; BuyPrice=C; Sell=Ref(Buy,-1) ; SellPrice=Open; PositionScore=-C; 反复看手册还是没有找到解决方案
可能是资金不够? 回测多个股票同时持有,要设positionSize,以免在单一股票上满仓, 例子上将资金按预设的最大仓位平分,如可持有最多仓位是10,本金为¥60000,则每个部位平均分配¥60000/10=¥6000, SetOption("InitialEquity", 60000 ); SetOption("AllowSameBarExit",True); SetTradeDelays(0,0,0,0); pos = Optimize("Allow How Many Pos ", 12, 1, 20, 1 ); SetOption("MaxOpenPositions", pos); PositionSize = -100/pos; PositionScore = 100 - RSI(); Buy= C>O; BuyPrice=C; Sell=Ref(Buy,-1); SellPrice=Open; PlotShapes( Buy*shapeSmallCircle, colorGreen, 0, BuyPrice,0 ); PlotShapes( Sell*shapeSmallCircle, colorRed, 0, SellPrice,0 );