主做15分钟RB突破形,一直用的MARKETR ,市价发觉滑点比较威猛(虽说一定成交)
想改成这样如何,限价交易每次多交易1个点,这样似乎也就是对手价成交了
buy(holding<0,0,LIMITR,CLOSE+1)
可。。似乎可以直接用 thisclose 符号对手价成交,那么这个限价交易还有啥优势没?
还是有点不一样(以股指期货说明),
buy(holding=0,1,limitr,c+1);是在最新价的基础上加1个点发单,比如当时的最新价是2355,那么下单价就是2356;
buy(holding=0,1,limitr,thisclos)是以对手加发单,比如当时卖出价是2355.2,那么下单价就是2355.2;
在图表交易是一般不这样写,如果每次交易都加一个点,可能asset曲线就变成亏损的了,搞一段时间所剩的资金就不够开仓的。这样就会带来问题。
一般在图表交易时为了防范风险,尽可能不要使用市价单,我曾看到过一笔235手的单子一下子砸下来,一下子下去好几个点。我是这样来下单的。
hd:=if(islastbar,3,0.4);//如果是最后一根k线hd=3,否则hd=0.4.这两个数你都可以调整。0.4是考虑的滑点,这样asset曲线就和实际基本一致。3是发单加的点数。
if cond1 then
begin
sellshort(holding<0,0,limitr,c+hd);
buy(holding=0,1,limitr,c+hd);
end
if cond2 then
begin
sell(holding>0,0,limitr,c-hd);
buyshort(holding=0,1,limitr,c-hd);
end
每个人的做法都不一样,这些仅供你参考。
qwer123朋友真是热心人!
您说的“hd:=if(islastbar,3,0.4);//如果是最后一根k线hd=3,否则hd=0.4.这两个数你都可以调整。0.4是考虑的滑点,这样asset曲线就和实际基本一致。3是发单加的点数。”
这句请教一下,islastbar是最后一根K线的意思,写入代码中是不是可理解为触发条件出现发单信号时以最新价加3个滑点的成本下单.
以您上述所举的例子,比如当时的最新价是2355,开多就是以2358点发单,开空就是2352点发单,那么这在实际成交时的实际成本不会高于0.4个滑点吗?如果当时卖出价是2355.2点话,假如下单速度足够快,那么抢到的单子价格是不是就是2355.2,而不是2358呢?
如果代码写成下面这样,实际交易时会与您的这个代码产生什么样的区别呢?
if cond1 thenbegin sellshort(holding<0,0,limitr,c+2*mindiff); buy(holding=0,1,limitr,c+2*mindiff); end
if cond2 then begin sell(holding>0,0,limitr,c-2*mindiff); buyshort(holding=0,1,limitr,c-2*mindiff); end |
以下是引用木鱼石传说在2013/8/20 23:34:04的发言:
qwer123朋友真是热心人!
您说的“hd:=if(islastbar,3,0.4);//如果是最后一根k线hd=3,否则hd=0.4.这两个数你都可以调整。0.4是考虑的滑点,这样asset曲线就和实际基本一致。3是发单加的点数。”
这句请教一下,islastbar是最后一根K线的意思,写入代码中是不是可理解为触发条件出现发单信号时以最新价加3个滑点的成本下单.
以您上述所举的例子,比如当时的最新价是2355,开多就是以2358点发单,开空就是2352点发单,那么这在实际成交时的实际成本不会高于0.4个滑点吗?如果当时卖出价是2355.2点话,假如下单速度足够快,那么抢到的单子价格是不是就是2355.2,而不是2358呢?
以2338的价格发单,是为了快速成交,如果你速度快,可能是2355.2成交。如果但当时有一个卖单的价格在2355,你就可能以2355的价格成交。如果你成交的瞬间卖出价格到了2355.6,你们你的成交价就是2355.6.触发价发单为了降低滑点,发单的速度必须快。当然还可以使用其他方法来降低滑点。
以下是引用木鱼石传说在2013/8/20 23:37:58的发言:
如果代码写成下面这样,实际交易时会与您的这个代码产生什么样的区别呢?
if cond1 thenbegin sellshort(holding<0,0,limitr,c+2*mindiff); buy(holding=0,1,limitr,c+2*mindiff); end
if cond2 then begin sell(holding>0,0,limitr,c-2*mindiff); buyshort(holding=0,1,limitr,c-2*mindiff); end
这样写,行情稍微激烈一点你可能成交不了,这个由你的策略决定的。也有人可以把3,改为-0.2,在一定时间内不成交立即撤单再追单,怎么写是要从整个策略去考虑。下单的方法是你整个策略的重要一环。 |
不必客气,这样考虑是留下了一篇大文章,就是“3”的问题。我们实时交易是可以选3,也可以选5,也可以选-0.4。也可以用程序根据交易之前1-5秒的行情进行动态赋值。这样在震荡时,我可以用-0.4,能够以比较低的价格来开多仓,如果是激烈行情时我可以用10,快速成交,防止过大的滑点。我思考了很长时间,并且进行了实际操作,效果一般。如果你什么好的想法可以交流。
为什么要考虑这个问题?主要是减少滑点,降低交易成本。对小散来说发展方向是就是快速交易,这样交易次数必然大幅度提升。这个滑点问题就非常突出了。
我按照qwer123朋友的加大成本发单改写了代码,模拟盘跑一下,发现滑点很大,大多的模拟成交单滑点远远超过0.4点!实盘会不会像模拟盘那么大吧?
模拟盘是看不出滑点的,如果是触发价发单0.4是非常好的结果了。