欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 怎么后台反手没有效果

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4310人关注过本帖树形打印复制链接

主题:怎么后台反手没有效果

帅哥哟,离线,有人找我吗?
haizxj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
怎么后台反手没有效果  发帖心情 Post By:2018/8/9 22:33:12    Post IP:180.159.240.123[只看该作者]

//条件判断
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
CONDBUY:=CROSS(MA5,MA10);
CONDSELL:=CROSS(MA10,MA5);
 tsellshort(CONDBUY and THOLDING<0,1,mkt);
tbuy(CONDBUY and THOLDING=0,1,mkt);
tsell ( CONDSELL and THOLDING>0,1,mkt);
tbuyshort (CONDSELl and THOLDING=0,1,mkt);

 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/9 22:33:39    Post IP:180.159.240.123[只看该作者]

 只有单向多,空向只有平空

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/8/9 22:42:20    Post IP:61.171.43.182[只看该作者]

1.提供你的下单日志。才能具体定位分析问题
2.你上的方式依旧是图表的逻辑,后台中的tholding等持仓函数都是实价账户实际仓位。所以需要考虑下面存在的情况
这个仓位在开平仓时,因为是和柜台之间进行通信,不会瞬间变化,从而造成策略执行过程中,其仓位限制条件不满足。
而图表中的仓位holding本身就是虚拟的,它也是本地计算的,不需要通信,代码执行过程中自然可以瞬间发生仓位变化。


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/9 23:01:51    Post IP:180.159.240.123[只看该作者]

2018-08-09 22:36:37.687    【后台】 启动后台程式化交易
2018-08-09 22:36:37.687    【后台】RB00 运行结束
2018-08-09 22:36:52.343    【下单】RB10 价4230.000000 量1 买卖1 类型0 开平1 账户623164 Formula 0
2018-08-09 22:36:53.343    【下单】已提交,订单ID :-1996156809
2018-08-09 22:36:53.359    【下单】RB01 价4101.000000 量1 买卖0 类型0 开平1 账户623164 Formula 0
2018-08-09 22:36:53.375    【指令】收到回报指令 ID = -1996156809
2018-08-09 22:36:53.437    【回报】623164 : RB10 - 已报单 1 价格:4230 平 卖
2018-08-09 22:36:53.437    【指令】收到回报指令 ID = -1996156809
2018-08-09 22:36:53.437    【指令】收到Order回报指令 ID = -1996156809 Status = 3
2018-08-09 22:36:53.437    【指令】收到回报指令 ID = -1996156809
2018-08-09 22:36:53.453    【指令】收到成交回报指令 ORDERID = -1996156809
2018-08-09 22:36:53.453    【指令】平仓计量 EBuy:0 ESell:0
2018-08-09 22:36:53.468    【回报】623164 : rb1810 - 已成交 1 价格:4230 平 卖
2018-08-09 22:36:53.468    【回报】623164 : rb1810 - 全部成交 1
2018-08-09 22:36:54.156    【下单】已提交,订单ID :-1996156808
2018-08-09 22:36:54.171    【指令】收到回报指令 ID = -1996156808
2018-08-09 22:36:54.187    【回报】623164 : RB01 - 已报单 1 价格:4101 平 买
2018-08-09 22:36:54.187    【指令】收到回报指令 ID = -1996156808
2018-08-09 22:36:54.187    【指令】收到Order回报指令 ID = -1996156808 Status = 3
2018-08-09 22:36:54.187    【指令】收到回报指令 ID = -1996156808
2018-08-09 22:36:54.218    【指令】收到成交回报指令 ORDERID = -1996156808
2018-08-09 22:36:54.218    【指令】平仓计量 EBuy:0 ESell:0
2018-08-09 22:36:54.218    【回报】623164 : rb1901 - 已成交 1 价格:4101 平 买
2018-08-09 22:36:54.218    【回报】623164 : rb1901 - 全部成交 1
2018-08-09 22:37:11.140    【后台】RB00 运行结束
2018-08-09 22:38:10.140    【后台】RB00 运行结束
2018-08-09 22:39:10.156    【后台】RB00 运行结束
2018-08-09 22:40:10.140    【后台】RB00 运行结束
2018-08-09 22:41:10.140    【后台】RB00 运行结束
2018-08-09 22:42:10.140    【后台】RB00 运行结束
2018-08-09 22:43:10.156    【后台】RB00 运行结束
2018-08-09 22:44:10.156    【后台】RB00 TBuy 第 28 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-09 22:44:10.156    【后台】RB00 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB00
2018-08-09 22:44:10.156    【后台】下单已发送
2018-08-09 22:44:10.156    【后台】RB00 运行结束
2018-08-09 22:44:10.156    【下单】RB10 价0.000000 量1 买卖0 类型1 开平0 账户623164 Formula 1
2018-08-09 22:44:10.156    【下单】已提交,订单ID :-1996156807
2018-08-09 22:44:10.171    【指令】收到回报指令 ID = -1996156807
2018-08-09 22:44:10.218    【回报】623164 : RB10 - 已报单 1 价格:4237 开 买
2018-08-09 22:44:10.218    【指令】收到回报指令 ID = -1996156807
2018-08-09 22:44:10.218    【指令】收到Order回报指令 ID = -1996156807 Status = 3
2018-08-09 22:44:10.218    【指令】收到回报指令 ID = -1996156807
2018-08-09 22:44:10.234    【指令】收到成交回报指令 ORDERID = -1996156807
2018-08-09 22:44:10.234    【回报】623164 : rb1810 - 已成交 1 价格:4234 开 买
2018-08-09 22:44:10.234    【回报】623164 : rb1810 - 全部成交 1
2018-08-09 22:45:10.140    【后台】RB00 运行结束
2018-08-09 22:46:10.156    【后台】RB00 运行结束
2018-08-09 22:47:11.140    【后台】RB00 运行结束
2018-08-09 22:48:10.156    【后台】RB00 运行结束
2018-08-09 22:49:10.156    【后台】RB00 TSell 第 29 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-09 22:49:10.156    【后台】RB00 TSell 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB00
2018-08-09 22:49:10.156    【后台】实际账户持仓 1
2018-08-09 22:49:10.156    【后台】下单已发送
2018-08-09 22:49:10.156    【后台】RB00 运行结束
2018-08-09 22:49:10.156    【下单】RB10 价0.000000 量1 买卖1 类型1 开平1 账户623164 Formula 1
2018-08-09 22:49:10.156    【下单】已提交,订单ID :-1996156806
2018-08-09 22:49:10.187    【指令】收到回报指令 ID = -1996156806
2018-08-09 22:49:10.187    【回报】623164 : RB10 - 已报单 1 价格:4225 平 卖
2018-08-09 22:49:10.203    【指令】收到回报指令 ID = -1996156806
2018-08-09 22:49:10.203    【指令】收到Order回报指令 ID = -1996156806 Status = 3
2018-08-09 22:49:10.203    【指令】收到回报指令 ID = -1996156806
2018-08-09 22:49:10.218    【指令】收到成交回报指令 ORDERID = -1996156806
2018-08-09 22:49:10.218    【指令】平仓计量 EBuy:0 ESell:0
2018-08-09 22:49:10.218    【回报】623164 : rb1810 - 已成交 1 价格:4228 平 卖
2018-08-09 22:49:10.234    【回报】623164 : rb1810 - 全部成交 1
2018-08-09 22:50:10.140    【后台】RB00 运行结束

 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/9 23:05:24    Post IP:180.159.240.123[只看该作者]

如何实现实仓的反手呢?

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26631 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/8/10 9:11:14    Post IP:180.169.30.6[只看该作者]

 22:36 你是手工操作的,后台程序化执行的是从22:44中开始的。

1.在2018-08-09 22:44:10.156   只开多没有平空记录触发记录,应该是你当前仓位为零,或者多空之和是0,即锁仓了

2.2018-08-09 22:49:10.156 平多,为平空,是因为执行完tsell后,紧接着执行tbuyshort时,你的仓位还没返回更新,此时tholidng还不是0,所以,所以该条件不满足。

 

 

2楼的回复的第二点,是让你注意,实际交易中,如果仓位控制,需要考虑到柜台和客户端之间的通信用时。

可以看下常见问题的15节

http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/10 9:16:21    Post IP:180.159.240.123[只看该作者]

 是不是说只能采用REF和固定秒询了才可以实现反手

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/10 9:40:04    Post IP:180.169.30.6[只看该作者]

也可以用ORDERQUEUE

简单说吧。 你看这段代码

if bp > 0 and THOLDING>0 then

begin

tSELL(1,0,MKT),ORDERQUEUE;

tBUYSHORT(1, 1,MKT),ORDERQUEUE;

end

 

if sp > 0 and THOLDING<0 then

begin

tSELLSHORT(1,0,MKT),ORDERQUEUE;

tBUY(1,1,MKT),ORDERQUEUE;

end



ORDERQUEUE 才是关键所在。


简单说明下:

像这样的代码

tSELL(cond,0,MKT);

tBUYSHORT(cond, 1,MKT);


假设第一个tsell触发了,并且下单执行了,代码执行到


tBUYSHORT的时候存在一个问题。我不知道上面那个平仓到底执行结果如何?成交 or 未成交? 不确定。如果开空的操作条件依赖于当前账号的实际持仓情况,那可能这个开空就触发不了,但是实际之前的平多可能只是成交慢而已,按照正常思路还是应该开空的,但是没办法,我没有及时获取成交情况,因此这里无法触发开空操作。


加了ORDERQUEUE 就可以避免这种情况了。具体请参照这个函数的函数说明。



[此贴子已经被作者于2018/8/10 9:47:48编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/10 10:53:39    Post IP:180.159.240.123[只看该作者]

bp > 0 and THOLDING>0 then

begin

tSELL(1,0,MKT),ORDERQUEUE;

tBUYSHORT(1, 1,MKT),ORDERQUEUE;

end

 

if sp > 0 and THOLDING<0 then

begin

tSELLSHORT(1,0,MKT),ORDERQUEUE;

tBUY(1,1,MKT),ORDERQUEUE;

end


这里有个问题就是初始仓位是0,不会开平仓呀

[此贴子已经被作者于2018/8/10 10:53:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
haizxj
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1781 积分:0 威望:0 精华:0 注册:2013/6/11 20:05:24
  发帖心情 Post By:2018/8/10 10:58:18    Post IP:180.159.240.123[只看该作者]

 2018-08-10 10:55:37.640    【后台】 启动后台程式化交易
2018-08-10 10:56:02.046    【后台】TA0002 TSellShort 第 15 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-10 10:56:02.046    【后台】TA0002 TSellShort 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:TA0002
2018-08-10 10:56:02.046    【后台】实际账户持仓 0
2018-08-10 10:56:02.046    【后台】TA0002 TBuy 第 16 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-10 10:56:02.046    【后台】TA0002 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:TA0002
2018-08-10 10:56:02.046    【后台】队列下单
2018-08-10 10:56:02.046    【后台】TA0002 运行结束
2018-08-10 10:56:02.093    【队列】当前队列准备处理数据:1条
2018-08-10 10:56:02.093    【队列】发送下单指令
2018-08-10 10:56:02.093    【下单】下单交易失败。
2018-08-10 10:56:02.093    【队列】下单失败了
2018-08-10 10:57:01.046    【后台】TA0002 TSellShort 第 15 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-10 10:57:01.046    【后台】TA0002 TSellShort 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:TA0002
2018-08-10 10:57:01.046    【后台】实际账户持仓 0
2018-08-10 10:57:01.046    【后台】TA0002 TBuy 第 16 行 策略:<MA均线交易指标-后台> 出现信号
2018-08-10 10:57:01.046    【后台】TA0002 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:TA0002
2018-08-10 10:57:01.046    【后台】队列下单
2018-08-10 10:57:01.046    【后台】TA0002 运行结束
2018-08-10 10:57:01.046    【队列】当前队列准备处理数据:1条
2018-08-10 10:57:01.046    【队列】发送下单指令
2018-08-10 10:57:01.062    【下单】下单交易失败。
2018-08-10 10:57:01.062    【队列】下单失败了
----

ma5:ma(c,5);
//CONDBUY:=CROSS(MA5,MA10);
//CONDSELL:=CROSS(MA10,MA5);
condsell:=c>ma5;
CONDbuy:=c<ma5;

if CONDBUY  and tholding <=0 then BEGIN

tsellshort(1,0,mkt),ORDERQUEUE;
tbuy(1,1,mkt),ORDERQUEUE;
end

if CONDSELL and tholding >=0 then BEGIN
 tsell (1,0,mkt),ORDERQUEUE;
  tbuyshort (1,1,mkt),ORDERQUEUE;
 end

在套利交易中并不成交
 

 回到顶部
总数 11 1 2 下一页