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


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

   

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


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

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

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


加好友 发短信
等级:论坛游侠 帖子:331 积分:1092 威望:0 精华:0 注册:2012/1/22 13:41:47
  发帖心情 Post By:2013/4/4 0:30:29 [只看该作者]

其实金字塔图表的确会存在多开、多平的问题,一般短时间多次下单出现的概率比较高,或者机器单核占用高时候也可能出现。

之前提过,瞬间被版主说什么模型闪啊之类的--!都做程序化两年了,低级错误还会犯么--!

 

楼主可以这么证明,在判断开仓前,用debugfile输出目前持仓,如果不是0,说明金字塔下单机制有问题~(通常同一根K线有概率在进行到2/3的时候会多下,比如3分钟模型,在第一次下单后,往往过了两分钟会下第二次)


 回到顶部
帅哥哟,离线,有人找我吗?
klc
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | 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不会说无空单可平


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


加好友 发短信
等级:论坛游侠 帖子:560 积分:346 威望:0 精华:0 注册:2012/12/25 15:33:49
  发帖心情 Post By:2013/4/4 17:53:09 [只看该作者]

以下是引用klc在2013-4-4 0:35:52的发言:

 

看样子你开始是持有一空单的,最起码是虚拟持仓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不会说无空单可平

你分析的很有道理,我的是非空即多的交易模式,一旦开多条件出现,必定先平空单,假如在最后4秒期间,信号消失后又出现,交易日志显示应该在56秒出现开多条件,因此先平仓后,57秒开多成功,估计58秒信号消失,59秒开始做恢复持仓,还没来得及交易完成,但59秒信号又出现了,于是先平仓发现没有空仓,但此时holding=0了,于是再次开多单成功。恢复持仓操作没有成功,因为在模拟账户的成交记录里,没有14:47:59.705和14:47:59.715这两个恢复持仓的交易记录!


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


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

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

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


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

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


 回到顶部
总数 25 上一页 1 2 3