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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 前一个帖子的测试问题

   

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


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

主题:前一个帖子的测试问题

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2020/6/2 14:32:25
前一个帖子的测试问题  发帖心情 Post By:2020/6/2 16:38:36 [只看该作者]

//30分钟K线
N:=BARSLAST(DATE<>REF(DATE,1))+1;//当天开盘以来共有多少根K线
C1:=REF(CLOSE,N);//前1天收
C2:=REF(CLOSE,(N+8));//前2天收
C3:=REF(CLOSE,(N+16));//前3天收
C4:=REF(CLOSE,(N+24));//前4天收
C5:=REF(CLOSE,(N+32));//前5天收
MAC:(C1+C2+C3+C4+C5)/5;
BUY(HOLDING=0 && CLOSE>=MAC && (EXITBARS+1)>0,1);
SELL(HOLDING>0 && ((CLOSE-ENTERPRICE)>30 || CLOSE<MAC),1);
BUYSHORT(HOLDING=0 && CLOSE<=MAC && (EXITBARS+1)>0,1);
SELLSHORT(HOLDING<0 && ((ENTERPRICE-CLOSE)>30 || CLOSE>MAC),1);

加入“(EXITBARS+1)>0”语句是为了在同一个K线上有平仓则不会再开仓,但是策略测试中没有成交。
去除“(EXITBARS+1)>0”语句后,策略测试正常了,但是在某些K线下同时会有平仓和开仓信号。
请问,如何解决这个问题,是EXITBARS参数使用问题吗?

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/6/2 16:57:55 [只看该作者]

您可以把策略加载到图表上看下,是否满足了开仓条件
比如输出下 a:开仓条件,看下a是否输出为1
[此贴子已经被作者于2020/6/2 16:59:32编辑过]

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2020/6/2 14:32:25
  发帖心情 Post By:2020/6/2 17:05:31 [只看该作者]

加了语句
A:(HOLDING=0 && CLOSE>=MAC && (EXITBARS+1)>0);

A始终为0。去掉“(EXITBARS+1)>0)”语句A才能为1.

那么,问题在哪?

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/6/2 17:16:30 [只看该作者]

(EXITBARS+1)>=0 改成大于等于0试试,策略我加载到图表上可以的 

图片点击可在新窗口打开查看此主题相关图片如下:1111.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/6/2 17:26:12编辑过]

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2020/6/2 14:32:25
  发帖心情 Post By:2020/6/2 21:06:27 [只看该作者]

不行啊,我把程序放在300股指连续指数里面,30分钟K线,还是出现某些K线上同时存在平仓和开仓的现象。
请继续帮忙!

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


加好友 发短信
等级:新手上路 帖子:14 积分:0 威望:0 精华:0 注册:2020/6/2 14:32:25
  发帖心情 Post By:2020/6/2 21:39:50 [只看该作者]

经过测试不同时段EXITBARS的值,上次平仓以后(包括上次平仓并开仓的时段),EXITBARS一直在递增,本次平仓时对应的K线,EXITBARS值还是上次平仓递增值的最大值,平仓之后的下一根K线,EXITBARS才归0。那么就是说,不能用EXITBARS的值判断本次K线是否有过平仓。
请问,还有其它解决办法没?

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


加好友 发短信
等级:超级版主 帖子:16558 积分:0 威望:0 精华:0 注册:2017/6/1 10:24:09
  发帖心情 Post By:2020/6/3 9:57:48 [只看该作者]

调整下开平仓顺序,您再试试;
N:BARSLAST(DATE<>REF(DATE,1))+1;//当天开盘以来共有多少根K线
C1:=REF(CLOSE,N);//前1天收
C2:=REF(CLOSE,(N+8));//前2天收
C3:=REF(CLOSE,(N+16));//前3天收
c4:=REF(CLOSE,(N+24));//前4天收
C5:=REF(CLOSE,(N+32));//前5天收
MAC:(C1+C2+C3+c4+C5)/5;

BUYSHORT(HOLDING=0 && CLOSE<=MAC && EXITBARS>=-1,1);
SELLSHORT(HOLDING<0 && ((ENTERPRICE-CLOSE)>30 || CLOSE>MAC),1);
BUY(HOLDING=0 && CLOSE>=MAC && EXITBARS>=-1 ,1,marketr);
SELL(HOLDING>0 && ((CLOSE-ENTERPRICE)>30 || CLOSE<MAC),1,marketr);


 回到顶部