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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 帮我看一下程序,怎么会开多仓2次?

   

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


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

主题:帮我看一下程序,怎么会开多仓2次?

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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/3 12:50:17 [显示全部帖子]

消失后holding=0图片点击可在新窗口打开查看这就是虚拟持仓,哈哈

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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/3 23:47:03 [显示全部帖子]

以下是引用Ivan在2013-4-3 13:55:15的发言:

我那是在下根k线02秒处再发出重复开仓,这时holding=-1了

如果信号消失,holding就是0


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/3 23:59:29 [显示全部帖子]

以下是引用xiaotianshen在2013-4-3 20:57:47的发言:
 


看了这句话,是否可以这样理解:holding为虚拟持仓,仅表示信号出现过,如果信号出现后在某一时刻又消失了,那么系统在信号出现时的开仓行为,在这一时刻并不承认,系统会认为是没开过仓,所以才出现重复开仓。这样理解对吗?
如果是这样的话,holding的可靠度太低,图表交易程序是否可以用 tholding 代替 holding?
[此贴子已经被作者于2013-4-3 20:58:22编辑过]

tholding替代holding,结果一定是图表上的信号和实际交易完全不一样,这样测试句没有任何参考意义了,建议还是用holding+持仓自动同步,这样holding和tholding就一致了,是可靠的


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/4 0:05:08 [显示全部帖子]

以下是引用Ivan在2013-4-3 15:26:14的发言:

这是图表程序化交易表中的记录:

46      IF00 股指连续    太极拳      13/04/03 09:42:56    开空    1         2497.2    805393
47      IF00 股指连续    太极拳      13/04/03 10:27:04    平空    1         2497.8    805393
48      IF00 股指连续    太极拳      13/04/03 10:27:08    开多    1         2497.8    805393
49      IF00 股指连续    太极拳      13/04/03 11:00:57    平多    1         2496.8    805393
50      IF00 股指连续    太极拳      13/04/03 11:00:58    开空    1         2496.6    805393
51      IF00 股指连续    太极拳      13/04/03 14:47:56    平空    1         2489.6    805393
52      IF00 股指连续    太极拳      13/04/03 14:47:56    开多    1         2489.8    805393
53      IF00 股指连续    太极拳      13/04/03 15:06:59    平多    1         2481.2    805393

看你的记录中,明显有“信号消失恢复持仓”这个记录。也就是信号肯定消失过在59秒的时候,但是否实际恢复正常了不知道,然后接下来“【回报】805393 : 委托手数超过可平仓数量--805393,IF1304,买,平,投,1,2490.6000,805393,cffex,jztb2b”显示,你的代码做了平仓操作,但实际上没有可平持仓。不知道你的平仓有没有用holding来判断,如果没有,那么就有问题(图表无开仓怎么图表平仓呢),如果有,那么没问题,只是在此之前实际持仓和图表虚拟持仓不一致。

 

总之,感觉你的程序挺混乱的,很容易出问题


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/4 0:21:19 [显示全部帖子]

以下是引用Ivan在2013-4-3 15:21:31的发言:

没有消失啊,图表上有显示信号啊,而且图表程序化交易列表中的交易记录是正常的,与模拟账户里的交易记录完全不一样呢?

你看到图表上有信号,但这个信号是你后来看到的,很可能实盘的过程中,是曾经消失,然后有出现的,图表上只能让你看到最后出现的那个信号。

 

我以前写mt4程序也有这个问题的,图表上你只能看到最后的信号,消失了的信号你是看不到的


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/4 0:35:52 [显示全部帖子]

以下是引用Ivan在2013-4-3 14:56:56的发言:

2013-04-03 14:47:52.606    【图表】IF00 运行完毕
2013-04-03 14:47:53.619    【图表】IF00 运行完毕
2013-04-03 14:47:54.633    【图表】IF00 运行完毕
2013-04-03 14:47:56.346    【图表】触发下单 SHELLSHORT 品种 IF00
2013-04-03 14:47:56.370    【图表】分品种下单调整后,系数1
2013-04-03 14:47:56.377    【图表】模型下单 1
2013-04-03 14:47:56.384    【图表】下单系数调整后 手数:1
2013-04-03 14:47:56.390    【图表】实际持仓 -1
2013-04-03 14:47:56.400    【图表】至队列下单
2013-04-03 14:47:56.408    【图表】触发下单 BUY 品种 IF00
2013-04-03 14:47:56.416    【图表】分品种下单调整后,系数1
2013-04-03 14:47:56.435    【图表】模型下单 1
2013-04-03 14:47:56.442    【图表】下单系数调整后 手数:1
2013-04-03 14:47:56.449    【图表】至队列下单
2013-04-03 14:47:56.456    【图表】IF00 运行完毕
2013-04-03 14:47:56.459    【队列】当前队列准备处理数据:2条
2013-04-03 14:47:56.466    【队列】发送下单指令
2013-04-03 14:47:56.473    【下单】IF04 价0.000000 量1 买卖0 类型1 开平1 账户805393 Formula 1
2013-04-03 14:47:56.481    【队列】当前队列准备处理数据:2条
2013-04-03 14:47:56.487    【队列】当前有未处理队列,返回等待
2013-04-03 14:47:56.673    【平仓委托计量】1 - 0
2013-04-03 14:47:56.682    【回报】805393 : IF04 - 正在申报 1 价格:2490.40 平仓 买入
2013-04-03 14:47:56.946    【回报】805393 : IF04 全部成交 1 价格:2489.6 平 买
2013-04-03 14:47:56.954    【队列】当前队列准备处理数据:1条
2013-04-03 14:47:56.961    【队列】发送下单指令
2013-04-03 14:47:56.968    【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805393 Formula 1
2013-04-03 14:47:56.974    【队列】当前队列准备处理数据:1条
2013-04-03 14:47:56.982    【队列】当前有未处理队列,返回等待
2013-04-03 14:47:56.988    当前尚有未处理完事件 - 6012
2013-04-03 14:47:57.441    【回报】805393 : IF04 - 正在申报 1 价格:2490.40 开仓 买入
2013-04-03 14:47:57.549    【回报】805393 : IF04 全部成交 1 价格:2489.8 开 买
2013-04-03 14:47:57.991    【图表】IF00 运行完毕
2013-04-03 14:47:58.726    【图表】IF00 运行完毕
2013-04-03 14:47:59.705    【恢复】信号消失恢复持仓
2013-04-03 14:47:59.715    【恢复】信号消失恢复持仓
2013-04-03 14:47:59.722    【图表】IF00 运行完毕
2013-04-03 14:47:59.726    【下单】IF04 价0.000000 量1 买卖0 类型1 开平1 账户805393 Formula 1
2013-04-03 14:47:59.734    【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805393 Formula 1
2013-04-03 14:47:59.741    当前尚有未处理完事件 - 6021
2013-04-03 14:47:59.956    【回报】805393 : 委托手数超过可平仓数量--805393,IF1304,买,平,投,1,2490.6000,805393,cffex,jztb2b
2013-04-03 14:48:00.739    【图表】IF00 运行完毕
2013-04-03 14:48:00.925    【回报】805393 : IF04 - 正在申报 1 价格:2490.60 开仓 买入
2013-04-03 14:48:01.189    【回报】805393 : IF04 全部成交 1 价格:2490.0 开 买
2013-04-03 14:48:01.734    【图表】IF00 运行完毕
2013-04-03 14:48:02.745    【图表】IF00 运行完毕
2013-04-03 14:48:03.758    【图表】IF00 运行完毕
2013-04-03 14:48:04.777    【图表】IF00 运行完毕

 

看样子你开始是持有一空单的,最起码是虚拟持仓holding=-1,假设这时实际持仓和他一致,那tholding是-1
14:47:56.946 平空单成功,结果holding=0,tholding=0
14:47:57.549 开多单成功,结果holding=1,tholding=1
14:47:59.705

14:47:59.715
两次恢复持仓,可能是金字塔反过来操作了,平了57.549的多单,重新开了56.946的空单,即这时又持有空单了
因信号消失,那么holding恢复到信号前的情况,即开始时的holding=-1,即信号消失恢复持仓的意思
但我估计问题出在这里,假设恢复持仓实际操作没成功(原因问金字塔了),那么tholding没变化,还是1,即这时你实际持有多单1手的

14:47:59.726 你的程序发了平空单指令
14:47:59.734 你的程序发了开多单指令
14:47:59.956 提示说平空失败(实际无持空单,但也可能像我上面猜的那样,实际是持多单的),那么holding由-1变0(虚拟持仓改变了),但tholding仍为1(实际持仓没变化)
14:48:01.189 开多单成功了,holding由0变1,tholding由1变2

 

 

看样子你那时候的确是存在信号消失的,但有可能是恢复持仓的功能没起作用,否则14:47:59.956不会说无空单可平


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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/4 21:46:04 [显示全部帖子]

嗯,所以我是不太敢用太高频的操作的,可能用持仓同步或者信号消失恢复持仓,那么当信号在一两个tick之间出现闪烁的时候,估计系统处理起来很困难,很容易出现实际持仓和虚拟持仓无法同步

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


加好友 发短信
等级:黑侠 帖子:993 积分:1787 威望:0 精华:5 注册:2012/11/28 17:37:20
  发帖心情 Post By:2013/4/4 21:48:41 [显示全部帖子]

图表的还是尽可能用走完K线吧,并且不要选择提前N秒下单,弱要严格按实盘中可能存在的信号高速开平,可能要用他的后台交易模式了,但正如金字塔所提示的,那样对编程能力要求较高。起码你无法从图表上看到信号


 回到顶部