请教一下:发现一个问题,交易模型编写过程中,交易条件设置好以后,在最后设置开平仓时,开仓条件放在前面平仓条件放在后面的结果不一样,收益有时候差距很大,请问这是为什么?
为什么要将平仓写在前面,开仓写在后面?
开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
平多:SELL(PD,1,THISCLOSE); //平多信号
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
平多:SELL(PD,1,THISCLOSE); //平多信号
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
两种结果不一样
1,因为图表不支持锁仓,就是有空单的情况下必须平掉空单才能开多单。
例如平仓反手条件满足,代码依据从上往下运行
当先开后平,先执行开仓语句后执行平仓语句。因历史有反方向单,开仓失败。只会平仓
当先平后开,先执行平仓语句后执行开仓,则会直接平仓反手。
如果所写的模式不是多翻空或者空翻多的模式,也就是说空单平仓的时候是没有多开单的,多单平仓的时候也没有空开单。那请问版主,如果将开仓条件放在前面,平仓条件放在后面的话,这样的交易模型能不能用?
如果条件不一样,且在无仓情况下是没有影响的
建议一般都是先平后开,语法上用户要自行注意下