设为首页收藏本站

 找回密码
 注册
查看: 3859|回复: 2
打印 上一主题 下一主题

关于平仓判断成交后再开仓的反手指令,金字塔的解决方案和TB的不作为比较! [复制链接]

Rank: 1

精华
0
UID
110946
积分
32
帖子
5
主题
2
阅读权限
10
注册时间
2012-6-13
最后登录
2013-3-9
跳转到指定楼层
1#
发表于 2012-12-3 12:24:55 |只看该作者 |倒序浏览
日内满仓交易时,平仓反手的实现方法   Post By:2011-7-13 22:43:44 [只看该作者]

日内满仓交易时,平仓反手的时候,有个问题要特别注意,就是在平仓单未成交前如果发出开仓委托单会出现保证金不足的情况造成无法自动开仓

这个问题是众所周知的



1,一般的处理方法是在每个下单指令的最后面加一个顺序下单控制符,如下:

hi:=ref(hhv(h,20),1);
lo:=ref(llv(l,20),1);
entertime:=time<=144500;
exittime:=time>=145700;
buycond:=c>hi;
sellcond:=c<lo;
if holding>0 and (sellcond or exittime) then sell(1,1,market),orderqueue;
if holding<0 and (buycond or exittime) then sellshort(1,1,market),orderqueue;
if holding=0 and entertime and buycond then buy(1,1,market),orderqueue;
if holding=0 and entertime and sellcond then buyshort(1,1,market),orderqueue;



这种方法基本上可以解决问题。orderqueue顺序下单的意思是委托单按先后顺序排队等待,依次处理

但也有不足的地方,就是在平仓单未及时成交时,依然会出现保证金不足的错误。如 A(平多)、B(开空),A未及时成交自动撤单后追单

自动追单的委托就排在后面了,也就是下单顺序就为 B、A 。B发送时就会提示错误,因为保证金并未释放。



2,现提出另一处理方法

问题的关键,就是要等平仓单完全成交后再发开仓单,这样才能避免出现保证金不足的情况

反手模型有个特点,就是平仓单成交后,仓位为0,而后台的tholding2这个函数就是表示实际持仓

于是:

hi:=ref(hhv(h,20),1);
lo:=ref(llv(l,20),1);
entertime:=time<=144500;
exittime:=time>=145700;
buycond:=ref(c>hi,1);
sellcond:=ref(c<lo,1);
abb:=not(islastbar) or (islastbar and tholding2=0);//这里要这样处理,否则tholding2会影响前面得信号
if holding>0 and (sellcond or exittime) then sell(1,1,market);
if holding<0 and (buycond or exittime) then sellshort(1,1,market);
if holding=0 and entertime and buycond and abb then buy(1,1,market);
if holding=0 and entertime and sellcond and abb then buyshort(1,1,market);

程序执行过程:1,平仓单发出后,不发开仓单,因为tholding2不为0.如果平仓单没及时成交,自动撤单后追单直至成交

                    2,平仓单成交后,tholding2=0,此时开仓指令条件成立,发出开仓单。不会出现保证金不足的情况

                    3,注意,用的是tholding2,而非tholding,tholding会受未成交委托单影响。

以上适用的条件 :1,需要平仓委托在信号成立的K线内成交,才能发出开仓委托。模型基本符合这个条件

                        2,固定时间间隔或者高频。如果是K线走完模式,还需稍作修改为固定时间间隔模式


注:这么重要的功能,TB到现在也没有一个成功的事例来给初级投资者一个模板,来帮助我们这些初级学者来实现这种重要的功能,不知道TB整天都在干什么?

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2012-12-3 12:32:34 |只看该作者
TB公式里指南里有现成的平仓延迟5个TICK反手的模板。
请查阅

使用道具 举报

Rank: 2

精华
0
UID
251800
积分
61
帖子
49
主题
7
阅读权限
30
注册时间
2017-5-29
最后登录
2017-11-6
3#
发表于 2017-8-16 23:09:32 |只看该作者
小米 发表于 2012-12-3 12:32
TB公式里指南里有现成的平仓延迟5个TICK反手的模板。
请查阅

能够在多些模板让 用户 学习 以便更快进入状态  少放错误吗! 比如开仓指令后 要多少个tick等待成交回报后 根据成交回报如果未成交就撤单 撤单又要等待回报状态后再进行再次开仓 这是否要进行个循环 确保成交,  再复杂点就是部分成交的情况! 感觉就是模板案例太少了  都要靠自己琢磨  琢磨倒没关系 关键正确性和可靠性有时心里没底  TB公司难道就不能辛苦下方便更多客户吗  毕竟让大家都辛苦一遍效率太低而且不利于你们软件推广

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-20 02:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部