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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教开仓问题

   

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


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

主题:请教开仓问题

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


加好友 发短信
等级:论坛游侠 帖子:215 积分:0 威望:0 精华:0 注册:2016/6/12 14:31:00
请教开仓问题  发帖心情 Post By:2017/1/22 13:39:28    Post IP:223.73.101.50[只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1月18日.jpg
图片点击可在新窗口打开查看

你好,请教个问题:

我编写的系统在多数交易日信号都是没有问题的,信号都正常,但一个月总有那么两三天的开平仓是有问题的;如图所示,开仓信号是没问题的,但居然在当根K线就平了多仓(且随后又在当根K线开了空仓和平了空仓),我排查了很久都找不出原因,真怀疑是不是软件问题,烦请找出“平多仓”原因,因为本次“平多仓”行为在代码里根本找不到相关依据,谢谢。以下是源代码:

 

//此策略好多执行错误(没达到条件的居然开平仓),BUG日期:
//1月18号的开仓:平多仓有问题,及随后开空仓和平空仓有问题
//1月13号的开空仓有问题,以及根本就没有到达平仓位置就平仓了
//12月19号有问题

 

//这里n=0.6,m=60;
//函数定义
a1:=ref(hhv(high,m),1);
a2:=ref(llv(low,m),1);
//m分钟最高最低点

 

a3:=ref(hhv(high,todaybar),1);
a4:=ref(llv(low,todaybar),1);
//a3和a4是日内最高最低点

 

a6:=ref(hhv(high,todaybar),enterbars);   
a7:=ref(llv(low,todaybar),enterbars);
//a6、a7是开仓时的日内最高最低点

 

a8:=a7-n*abs(a6-a7);       //第一次做多止损
a9:=a6+n*abs(a6-a7);       //第一次做空止损

 

//时间定义
t8:=time>=185800;
t1:=time<184500;


//做多条件
if holding=0 and todaybar>=m and high>=a1 and high>=a3 and totaldaytrade<1 and t1
then begin
buy(1,1,limitr,a3);
end

 

//做多止损
if holding>0 and totaldaytrade<1 and low<=a8
then begin
sell(1,0,limitr,a8);
end         //第一次做多止损

 

if holding=0 and totaldaytrade>=1 and low<=a8 and t1
then begin
buyshort(1,1,limitr,a8);
end     //反手做空

 

if holding<0 and totaldaytrade>=1 and high>=a3
then begin
sellshort(1,0,limitr,a3);
end //反手做空止损

 

 

//做空条件
if holding=0 and todaybar>=m and low<=a2  and low<=a4 and totaldaytrade<1 and t1
then begin
buyshort(1,1,limitr,a4);
end

 

//做空止损
if holding<0 and totaldaytrade<1 and high>=a9
then begin
sellshort(1,0,limitr,a9);
end            //第一次做空止损

 

if holding=0 and totaldaytrade>=1 and high>=a9 and t1
then begin
buy(1,1,limitr,a9);
end         //反手做多

 

if holding>0 and totaldaytrade>=1 and low<=a4
then begin
sell(1,0,limitr,a4);
end //反手做多止损

 

//收盘平仓
if holding>0 and t8
then begin
sell(1,0,market);
end

if holding<0 and t8
then begin
sellshort(1,0,market);
end


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


加好友 发短信
等级:超级版主 帖子:2266 积分:0 威望:0 精华:0 注册:2016/11/15 9:18:08
  发帖心情 Post By:2017/1/22 15:25:43    Post IP:180.169.30.6[只看该作者]

1、本地测试没问题,所有条件均输出在图表上,均为1,故四个开平仓动作是正确触发的;

2、当触发做多条件的buy后,a6、a7、a8你可以输出看下,其实它们的值没有变,并不是你说的“开仓时的日内最高最低点”,enterbars输出为200多,延伸至1月17日的最后一次开仓,a8也一直没变。但是代码执行是自上而下,不可能这时候还去按照开多buy后再计算a6,a7,a8等,所以跟你预想的结果不一样。这个策略还需要进一步完善。


————————————————————

90%问题均可在历史帖中重现,请善用检索

————————————————————

VIP认证的好处: 帖子将更好更快地被处理

————————————————————

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


加好友 发短信
等级:论坛游侠 帖子:215 积分:0 威望:0 精华:0 注册:2016/6/12 14:31:00
  发帖心情 Post By:2017/1/22 15:48:27    Post IP:223.73.101.50[只看该作者]

请问你的意思是说“开仓时的日内最高最低点”编写有问题吗

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


加好友 发短信
等级:超级版主 帖子:2266 积分:0 威望:0 精华:0 注册:2016/11/15 9:18:08
  发帖心情 Post By:2017/1/22 16:11:34    Post IP:180.169.30.6[只看该作者]

a6:=ref(hhv(high,todaybar),enterbars);    
a7:=ref(llv(low,todaybar),enterbars);
//a6、a7是开仓时的日内最高最低点

这一段编写没问题,只是,在本案例中,在02:29K线触发开多条件后,之后作比较的a6,a7并不是开仓后的1月18日内的最高最低点,它是17日的两个值,所以后面条件陆续成立,导致平多开空平空。代码编写还需完善
[此贴子已经被作者于2017-1-22 16:12:21编辑过]


————————————————————

90%问题均可在历史帖中重现,请善用检索

————————————————————

VIP认证的好处: 帖子将更好更快地被处理

————————————————————

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


加好友 发短信
等级:论坛游侠 帖子:215 积分:0 威望:0 精华:0 注册:2016/6/12 14:31:00
  发帖心情 Post By:2017/1/22 16:20:26    Post IP:223.73.101.50[只看该作者]

既然a6/a7编写没问题,那他们不就应该代表开仓时的当天最高最低点吗,怎么会跟前一天扯上的呢?该如何编写才能还原本来的意思?

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


加好友 发短信
等级:超级版主 帖子:2266 积分:0 威望:0 精华:0 注册:2016/11/15 9:18:08
  发帖心情 Post By:2017/1/22 16:29:39    Post IP:180.173.41.99[只看该作者]

1、代码是自上而下执行,建议你把a6,a7,,a8这些值直接在图表上输出,观察在2:29他们是什么值;

2、尝试把代码顺序换下,比如:先开仓,再是 开仓时的日内最高最低点  系列公式,然后是止损公式。重新调试看下。


————————————————————

90%问题均可在历史帖中重现,请善用检索

————————————————————

VIP认证的好处: 帖子将更好更快地被处理

————————————————————

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


加好友 发短信
等级:论坛游侠 帖子:215 积分:0 威望:0 精华:0 注册:2016/6/12 14:31:00
  发帖心情 Post By:2017/1/22 17:17:27    Post IP:223.73.101.50[只看该作者]

按照你说的,我把顺序都调了一下,所有问题都解决了,非常感谢!

 回到顶部