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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → k线走完的方式,收盘前平仓如何编写?

   

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


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

主题:k线走完的方式,收盘前平仓如何编写?

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
k线走完的方式,收盘前平仓如何编写?  发帖心情 Post By:2012/7/21 13:47:12    Post IP:220.165.13.96[只看该作者]

5分钟图。选择了“走完一根K线以后”的下单方式,想在临近收盘的时候平仓。用了以下两种:
代码一:
if time>145000 then begin
 sell(true,0,limit,c-slip);
 sellshort(true,0,limit,c+slip);
end
代码一会出现漏单的情况,图上能显示信号,却不发出委托。有时能按想法正常平仓,有时却不能。于是改成代码二,

代码二:
if time>145000 then begin
 sell(holding>0,0,limit,c-slip);
 sellshort(holding<0,0,limit,c+slip);
end
代码二仍然不行,一样的现象,有时能正常平仓,有时却不能。搜了一下论坛,好像不止一个朋友反应用holding来构建下单条件会有不可预知的漏单情况。我也发现在,9个交易日有4个交易日被漏掉了。开始我还以为是网络问题,反复测试发现不是。如果说是代码有什么问题,我用两个模拟帐号一起测试,两个图上都出了信号,其中一个帐号正常发出了委托,另一个没有却发出委托,检查了日志,确实没发委托,预定平仓时间点前后全是“【图表】IF08 运行完毕”这种字样。同样的代码,居然运行出了不同的结果。唉。

请教一下,假若不使用软件本身的功能选项,5分钟图,K线走完的方式,想实现收盘前平仓,究竟应该怎么写呢?
[此贴子已经被作者于2012-7-21 13:55:44编辑过]

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/7/21 13:59:14    Post IP:220.165.13.96[只看该作者]

其实真正想问的问题是, 代码一 与 代码二 的写法为何均会出现 有时能正常平仓,有时却不能正常平仓 的现象。9个交易日有5个交易日按设计预想准点平仓了,有4个交易日却图上出了信号,却没发出委托。
[此贴子已经被作者于2012-7-21 14:00:08编辑过]

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/7/21 15:10:11    Post IP:220.165.13.96[只看该作者]

图表交易

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


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2012/7/21 19:17:05    Post IP:114.92.112.156[只看该作者]

你的情况应该是使用了未来数据,导致信号闪烁,用论坛上的2.89测试版,该版本已经支持自动持仓矫正功能

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/7/21 22:13:49    Post IP:220.165.13.96[只看该作者]

未来函数? 不对啊。  if time>145000 条件是time啊。time 构建的条件也“被未来”了。

我仔细F8一句句调试也没有发现哪个地方不对。但没有办法在语句之内调试,个人猜测,可能跟holding的值有关,信号出现的周期由holding构成的条件是成立的,设置为K线走完,不会立即发出委托。K线走完的一瞬间,本该发出委托,但由holding构成的条件却不成立了,所以出现了“K线走完”之后就未发委托。

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/7/24 10:39:44    Post IP:183.63.18.242[只看该作者]

楼主 软件这一块的功能是没有问题的,我怀疑是你的某一个账户在那一时刻断开了导致的,你可以仔细盯盘,然后再出现信号应该下单的那个时候,手工下单一手试试,看能否下单。


谢谢 董小球 的回复,倘若真是您所说的瞬间掉线这个原因的话,那么,按shift+Z, 在启动自动交易的这个窗口中,将会有对应时间点发出委托的记录,只不过因为自动委托瞬间断线,所以帐户一项是空白——是这样的吗? 若上述假设成立,那么,是否可以推出:shift+z 的窗口中无对应时间点的记录,则说明委托确实没有发出?
      我会再多做尝试,尽可能提供更精确的问题所在。
[此贴子已经被作者于2012-7-24 10:40:23编辑过]

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2012/7/24 15:08:26    Post IP:120.42.45.130[只看该作者]

把完整的贴出来,看下就知道。

 

limit 最好改成limitr


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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/8/7 16:00:12    Post IP:183.63.18.236[只看该作者]

请帮我看一下,为什么 14:55 收盘前平仓 图表上显示有信号,但自动交易却未发出委托——并不是每次都会漏单,10个交易日大约有4、5个交易日会漏掉。自己花了半个月也没有找到问题所在。


//股指日内突破组合
//用于股指日内5min,K线走完

variable:v1=1;
variable:v2=1;
variable:v3=1;
variable:v4=1;
variable:hold1=0;
variable:hold2=0;
variable:hold3=0;
variable:hold4=0;
variable:holdall=0;
runmode:0; //逐k线模式

t1:=time>093000 and time<143500;
t2:=time>145000;
//  策略一
n1:=30;
if c>ref(hhv(c,n1),1) then begin//做多
 if hold1<0 then hold1:=0;
 if t1 then hold1:=v1;
end
if c<ref(llv(c,n1),1) then begin//做空
 if hold1>0 then hold1:=0;
 if t1 then hold1:=-v1;
end

//  策略二
n2:=35;
if c>ref(hhv(c,n2),1) then begin//做多
 if hold2<0 then hold2:=0;
 if t1 then hold2:=v2;
end
if c<ref(llv(c,n2),1) then begin//做空
 if hold2>0 then hold2:=0;
 if t1 then hold2:=-v2;
end

//  策略三
n3:=40;
if c>ref(hhv(c,n3),1) then begin//做多
 if hold3<0 then hold3:=0;
 if t1 then hold3:=v3;
end
if c<ref(llv(c,n3),1) then begin//做空
 if hold3>0 then hold3:=0;
 if t1 then hold3:=-v3;
end

//  策略四
n4:=45;
if c>ref(hhv(c,n4),1) then begin//做多
 if hold4<0 then hold4:=0;
 if t1 then hold4:=v4;
end
if c<ref(llv(c,n4),1) then begin//做空
 if hold4>0 then hold4:=0;
 if t1 then hold4:=-v4;
end

if t2 then begin//收盘
 hold1:=0;
 hold2:=0;
 hold3:=0;
 hold4:=0;
end

holdall:=hold1+hold2+hold3+hold4;//交易指令

if holding<>holdall then begin
 if holdall>0 then begin
  sellshort(holding<0,0,market);
  buy(holding<holdall and t1,holdall-holding,market);
  sell(holding>holdall,holding-holdall,market);
 end//if holdall>0
 if holdall<0 then begin
  sell(holding>0,0,market);
  buyshort(holding>holdall and t1,holding-holdall,market);
  sellshort(holding<holdall,holdall-holding,market);
 end//if holdall<0
end//if holding<>holdall
if holdall=0 or t2 then begin   //就这部份好像总是不好好工作。
 sell(holding>0,0,market);
 sellshort(holding<0,0,market);
end//if holdall=0

//   --- 结束 ---

[此贴子已经被作者于2012-8-7 16:03:53编辑过]

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


加好友 发短信 大哥
等级:超级版主 帖子:2837 积分:13237 威望:0 精华:2 注册:2010/7/14 17:31:54
  发帖心情 Post By:2012/8/7 16:12:59    Post IP:58.246.57.26[只看该作者]

既然有能够正常触发的时候,那么说明软件的功能是没有问题的
所以问题应该处在时间上,可能时间稍微早或者慢那么一点,导致你的下单信号在最后一根K线,从而也就导致不下单了
所以 你可以本着查问题的想法来试试,把收盘前的平仓时间放到倒数第二个K线上,也就是50分,估计都百分百没问题了

另外,还有一个怀疑,就是网络不稳定,你可以在出现信号但是没下单的时候,手工下单试试,看能否正常下单,以判断是否是因为交易断开或者不稳定导致的
[此贴子已经被作者于2012-8-7 16:14:04编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:新手上路 帖子:32 积分:181 威望:0 精华:0 注册:2011/7/22 0:26:57
  发帖心情 Post By:2012/8/7 16:30:21    Post IP:183.63.18.236[只看该作者]

既然有能够正常触发的时候,那么说明软件的功能是没有问题的
所以问题应该处在时间上,可能时间稍微早或者慢那么一点,导致你的下单信号在最后一根K线,从而也就导致不下单了……


您提示的原因1:下单信号在最后一根K线——交易的是股指,所以不存在这个问题。 就算是商品,代码中t2:=time>145000.理论上委托发出距离收盘还有5分钟,足够交易服务响应。
您提示的原因2:网络不稳定——我已经在不同的网络线路测试过了。另外,假若是网络不稳定,那么开仓也应该有问题吧,开仓从未有问题,只是平仓有问题。还有,别的简单策略没有问题,漏单频率很低<1% 这个策略是一个组合,稍复杂,漏单频率很高,十个交易日大约4、5个交易日会漏掉。
[此贴子已经被作者于2012-8-7 16:33:06编辑过]

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