策略无法平仓的问题

简单写了一个自动平仓策略,计划手动开仓后打开自动交易平仓。所以策略里面没有开仓信号,只有平仓信号。但实践后发现平仓信号无法触发,想问下哪个地方出现了问题。 Params Numeric FastLength(12); Numeric SlowLength(26); Numeric MACDLength(9); Vars Numeric fast; Numeric slow; Numeric MACDValue; Bool con1; Bool con2; Events OnBar(ArrayRef<Integer> indexs) { Range[DataSourceSize() - 1] { fast = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; slow = XAverage(fast,MACDLength); MACDValue = fast - slow; con1 = CrossOver(fast[1], slow[1]) con2 = CrossUnder(fast[1], slow[1]) If(con1 and marketposition==-1) { buytoCover(0, max(open, close)); //金叉平空 } If(con2 and marketposition== 1) { sell(0, min(open, close)); //死叉平多 } } }

if(A_BuyPosition > 0 && con2 ) {PlotString();//图表做平仓标记A_Sell}大概这个意思

这个简单啊你本来就是手工开仓 涉及到账户自动平仓策略当然用账户函数con1 = CrossOver(fast[1], slow[1])con2 = CrossUnder(fast[1], slow[1])只是触发条件而已

第一 图上如果没有开仓信号,就不可能出现平仓信号。永远是现有开仓,再有平仓。 你手动开的仓如果不在图上同步用buy命令标记出一个信号,那就出现不了平仓信号

回复:可以自动识别开仓价吗?

回复:可以识别账户持仓里的持仓均价。但是你如果仔细思考过就会发现没什么意义