现在策略是1秒固定轮询的,但止损时滑点比较厉害,所以想换个方法试试,止损代码如下:
if holding>0 and l<zs and t1 then begin
sell(1,手数,limitr,min(o,zs))
这样应该是限价成交吧?想请教下如果我想改成市价成交的话应该如果写?谢谢~
直接把交易控制符limitr改成market即可。
if holding>0 and l<zs and t1 then begin
sell(1,手数,market)
[此贴子已经被作者于2013/9/9 16:55:46编辑过]
谢谢,但这样好像跟原来的有点不一样吧?原来的是到了那个价位马上止损的,你这样写只能在k线 open的位置止损吧?limitr zs这个价格怎么实现呢
您好,这个是根据您市价止损的要求改的。
在什么位置止损,取决与您止损条件和止损价无关。看看相关的学习资料,自己对PEL语言做下了解把
谢谢~那我想请教下,我把原来的limitr open改为了market,然后交易条件去掉了ref,提前了一个周期,看图表的交易的点位应该是一摸一样的,但不明白为什么每个策略都和原来的盈利回撤数额有差别,想问下是什么地方出错了?
回测时 LIMIITR OPEN 是限本周期开盘价报单
MARKET 测试时以次周期开盘价报单
开仓价格有差异,当然导致盈利回测不一致
以下是引用lichenghu在2013/9/10 8:59:01的发言:
回测时 LIMIITR OPEN 是限本周期开盘价报单
MARKET 测试时以次周期开盘价报单
开仓价格有差异,当然导致盈利回测不一致
所以我从K线走完模式折腾到轮询遇到就是如此。
轮询如果实现前面K线走完模式,条件是REF到前1个。 那么刚好实现了K线走完模式,但成交价格就从市价下一周期改成了thisclose 而本来是当前K线开盘价才对,因此如何变成当前的K线的开盘价呢?
但因为我交易条件,一个是con,一个是ref(con,1),这样应该是一样的吧?我看图表的标志也是一样的,但回测的数据确有不少差距,实在搞不明白
以下是引用netfox在2013/9/10 9:04:00的发言:
所以我从K线走完模式折腾到轮询遇到就是如此。
轮询如果实现前面K线走完模式,条件是REF到前1个。 那么刚好实现了K线走完模式,但成交价格就从市价下一周期改成了thisclose 而本来是当前K线开盘价才对,因此如何变成当前的K线的开盘价呢?
固定轮询,当根K线直接用LIMITR,OPNE
就是当根K线的开盘价
把2个之间测试的成交明细看下,对照下开仓价格和位置,您改变了开仓条件会有影响的