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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]为什么偶尔会有两次重复平仓

   

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


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

主题:[求助]为什么偶尔会有两次重复平仓

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2017/11/14 10:13:33
[求助]为什么偶尔会有两次重复平仓  发帖心情 Post By:2017/12/5 16:31:02    Post IP:120.36.114.201[只看该作者]

大家有碰到这种偶尔会两次平仓的不,确认只触发了一次开仓?

我是采用固定间隔时间刷新的方式


代码方面 大概如下:
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171205162723.png
图片点击可在新窗口打开查看

VARIABLE : buying    := 0;

......

IF buying =  5 AND in_buying_kline=0 THEN
BEGIN
LOSS := IFELSE((buy_price-HIGH)>max_loss,1,0);
IF LOSS=1 THEN
BEGIN
buying :=0;
SELL(1,1,MARKET);
DRAWTEXT(1,CLOSE,'止损'),colorred;
END;
END;

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


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

你帖下交易日志。日志里面会记录的很详细的。


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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2017/11/14 10:13:33
  发帖心情 Post By:2017/12/5 16:42:08    Post IP:120.36.114.201[只看该作者]

2017-12-05 13:00:10.640    2017.12.05 13:00:10【图表】框架:duo_ce_lue 触发下单 SELL 品种 GC02 下单K线 2017.12.05 06:03:00 公式:黄金.逐笔.分时线.刷多一.1116 窗格ID:Window9 代码行:297
2017-12-05 13:00:10.656    【图表】模型下单 1
2017-12-05 13:00:10.656    【图表】下单系数调整后 手数:1
2017-12-05 13:00:10.656    【图表】实际持仓 2
2017-12-05 13:00:10.656    【图表】直接下单
2017-12-05 13:00:10.656    【图表】GC02 运行完毕
2017-12-05 13:00:10.656    【下单】GC02 价0.000000 量1 买卖1 类型1 开平1 账户70004210 Formula 1
2017-12-05 13:00:10.656    【下单】已提交,订单ID :176
2017-12-05 13:00:10.687    【指令】收到回报指令 ID = 176
2017-12-05 13:00:10.687    【回报】70004210 : GC02 - 已报单 1 价格:0.0 平 卖
2017-12-05 13:00:10.875    【指令】收到成交回报指令 ORDERID = 176
2017-12-05 13:00:10.875    【指令】平仓计量 EBuy:0 ESell:0
2017-12-05 13:00:10.890    【回报】70004210 : GC1802 - 已成交 1 价格:1277.0 平 卖
2017-12-05 13:00:10.890    【回报】70004210 : GC1802 - 全部成交 1
2017-12-05 13:00:10.890    【指令】收到回报指令 ID = 176

.............................

2017-12-05 13:09:07.640    2017.12.05 13:09:07【图表】框架:duo_ce_lue 触发下单 SELL 品种 GC02 下单K线 2017.12.05 06:12:00 公式:黄金.逐笔.分时线.刷多一.1116 窗格ID:Window9 代码行:297
2017-12-05 13:09:07.640    【图表】模型下单 1
2017-12-05 13:09:07.640    【图表】下单系数调整后 手数:1
2017-12-05 13:09:07.640    【图表】实际持仓 1
2017-12-05 13:09:07.640    【图表】直接下单
2017-12-05 13:09:07.640    【图表】GC02 运行完毕
2017-12-05 13:09:07.640    【下单】GC02 价0.000000 量1 买卖1 类型1 开平1 账户70004210 Formula 1
2017-12-05 13:09:07.640    【下单】已提交,订单ID :177
2017-12-05 13:09:07.656    【指令】收到回报指令 ID = 177
2017-12-05 13:09:07.671    【回报】70004210 : GC02 - 已报单 1 价格:0.0 平 卖
2017-12-05 13:09:07.796    【指令】收到成交回报指令 ORDERID = 177
2017-12-05 13:09:07.796    【指令】平仓计量 EBuy:0 ESell:0
2017-12-05 13:09:07.812    【回报】70004210 : GC1802 - 已成交 1 价格:1277.0 平 卖
2017-12-05 13:09:07.812    【回报】70004210 : GC1802 - 全部成交 1
2017-12-05 13:09:07.812    【指令】收到回报指令 ID = 177

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2017/11/14 10:13:33
  发帖心情 Post By:2017/12/5 16:43:52    Post IP:120.36.114.201[只看该作者]

比较疑惑的是 我通过 buying 控制不重复进行平仓,都在一个 IF 的控制范围内了..

对了,我是开了框架,同时一个账号跑几个策略

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


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

你运行的是什么周期的?你这个应该是出现过信号闪烁了导致的重复下单。固定轮询是有这样的问题的。



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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2017/11/14 10:13:33
  发帖心情 Post By:2017/12/6 7:59:03    Post IP:120.36.114.201[只看该作者]

3分钟周期

我通过全局变量 buying 控制,只有买入信号和卖出信号都会触发相应值改变。

信号闪烁一般是在同一个周期内,我这两个卖出信号相隔9分钟,间隔三个周期了。

现在比较大可能是 IF 语句内,buying 值未被改变为 0 ,
因为buying =5 我代码里只有买入信号发生的时候才会成立,不太像buying 重新被赋值为 5


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


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

闪烁和其k线间隔没有必然关系,第一出现平多动作是在k线中触发的,然后当这根k走完时,有于闪烁,(比如用的close这种)就能造成在走完时信号又回来了,

自然存在后面再次触发是再平一次。

建议你从自己的条件入手,如果有疑问,可以配合debugfile进行跟踪调试输出,它能很好反应出当时的触发状态事,各项得输出条件的结果。

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428

或者你贴出完整的代码给我们分析



编程无捷径,技巧靠积累。
 回到顶部