现象:
1.将buy(1,1,thisclose),buyshort(1,1,thisclose),sell(1,1,thisclose),sellshort(1,1,thisclose)中的 thisclose改为market时,交易次数将改变(变小)。
2.将buy(1,1,thisclose),buyshort(1,1,thisclose),sell(1,1,thisclose),sellshort(1,1,thisclose)中的 thisclose改为market时,交易位置发生变化(向后推)。
这样对于用实际仓位进行控制和操作的没有什么影响,而对于用虚拟仓位进行控制和操作的就会产生问题。
我现在是用limitr,c+-5来替代market。希望金字塔好好跟踪一下这个问题。
thisclose只能用于历史测试,用这个参数的时候会在假设在当根K线的收盘价位置下单并成交(实际下单时是不可能的,实际下单时相当于market),
market在历史测试时和真正下单时,都是在下一根K线的开始位置下单的。
你把这个现象提供给你们的测试工程师就行了,他们回编制测试方法去测试这个问题的,我们两个说的不是一回事(我考虑的是实际交易和图表上显示的是否统一的问题)。
还请用户thisclose改为market,仔细看看在下单位置上的不同之处!
兄弟啊,说了半天我们还是没有说到一起。举例来说,10分钟周期满足了条件,在9:24:58秒发出一个单子,这时候不管是用limitr,c+5,还是用market,都会成交,假如是买入1手开仓,那么实际这根k线结束就是1手多仓。那么图表显示的就不一定是了。用limitr,c+5,这个显示的就和实际的一样。而在程序中使用了market,图表上大部分是一致的,但我现在发现了两种情况下,这根k线显示的是没有仓位,这显然不是设计的原来思想。我也知道是什么引起的这个问题,也知道怎么去解决,只是为了使金字塔更加完美才给你们提出来,你们测试一下出现的这个问题是不是你们的原设计思想,是,在说明里说清楚,不是,修改过来就行了。
以下是引用董小球在2012-3-12 14:51:46的发言:limitr,是在当前K线成交吧
market是在下一根K线开始成交的吧
可能你没有实盘操作过,在实盘中决定发单的位置和时间是由if a then 中的a决定的,而不是limitr,market,决定的(轮询)。你把这个问题告诉你们的软件工程师,他应该马上反应出造成这个问题的原因。
以下是引用董小球在2012-3-12 13:14:05的发言:
thisclose只能用于历史测试,用这个参数的时候会在假设在当根K线的收盘价位置下单并成交(实际下单时是不可能的,实际下单时相当于market),
market在历史测试时和真正下单时,都是在下一根K线的开始位置下单的。
不知道是我还没理解还是 你没理解我说的
我是告诉你 在实盘情况下 你用limitr 也好 还是用market也好,下单都是下一根K线开始的时候给你触发下单的
也就是说 在实盘状态下 limitr的本周期下单功能失效了,变成跟使用limit或者market一样子了
以下是引用zg611029在2012-3-12 15:03:33的发言:
可能你没有实盘操作过,在实盘中决定发单的位置和时间是由if a then 中的a决定的,而不是limitr,market,决定的(轮询)。你把这个问题告诉你们的软件工程师,他应该马上反应出造成这个问题的原因。
实盘过程中用轮训方式在图表中,信号容易反复消失出现,容易导致真实下单跟信号不一致,慎用
以下是引用董小球在2012-3-12 15:13:10的发言:
不知道是我还没理解还是 你没理解我说的
我是告诉你 在实盘情况下 你用limitr 也好 还是用market也好,下单都是下一根K线开始的时候给你触发下单的
也就是说 在实盘状态下 limitr的本周期下单功能失效了,变成跟使用limit或者market一样子了
你说的是一根k线走完,我说的是用轮询,这根k线满足条件下,必须在这根k线内交易完。所以不管你使用market 还是limitr让他什么时候交易就可以什么时候交易。我说了这么多你还没有明白market的问题出在哪?