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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请帮忙看下程序测试和思路偏差的原因

   

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


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

主题:请帮忙看下程序测试和思路偏差的原因

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


加好友 发短信
等级:新手上路 帖子:50 积分:365 威望:0 精华:0 注册:2011/2/12 20:41:32
请帮忙看下程序测试和思路偏差的原因  发帖心情 Post By:2011/2/13 14:40:17    Post IP:123.123.131.198[只看该作者]

jk:=VALUEWHEN(DATE<>REF(DATE,1),OPEN);//今开盘价
MA10:=MA(CLOSE,10);
MA30:=MA(CLOSE,30);
MA100:=MA(CLOSE,100);
BK:=MA10>MA30 AND close>MA100 and CROSS(CLOSE,REF(HHV(HIGH,10),1));
SK:=MA10<MA30 AND close<MA100 and CROSS(REF(LLV(LOW,10),1),CLOSE);
new:close,LINETHICK0;
low10:REF(LLV(LOW,10),1),LINETHICK1;//用来调试问题的
high10:REF(HHV(HIGH,10),1),LINETHICK1;//同上

{开多} ENTERLONG: BK,TFILTER; //10上穿30且close大于100,等待破前10根线的最高价开多
{平多} EXITLONG: (MA10<MA30 AND CROSS(REF(LLV(LOW,10),1),CLOSE))or time>1458,TFILTER; //10在30下,且突破前10根线的最低价平多
{开空} ENTERSHORT:SK,TFILTER;
{平空} EXITSHORT: (MA10>MA30 AND CROSS(CLOSE,REF(HHV(HIGH,10),1))) or time>1458,TFILTER;

 

平仓条件本来是写10下穿30,但也有同样问题暂时就写成10<30吧,关键是,平仓有几次不对,已经满足10<30,并且破了前十根线最低,还是不平仓。测试品种ru1105,截其中一次2010年12月22,(应该10:32就平多且反手),交易信号连线明显不对,反手时间也不对,刚接触金字塔,请看下是什么问题。

 

图片点击可在新窗口打开查看

 

[此贴子已经被作者于2011-2-13 14:48:58编辑过]

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


加好友 发短信
等级:新手上路 帖子:50 积分:365 威望:0 精华:0 注册:2011/2/12 20:41:32
  发帖心情 Post By:2011/2/13 15:55:41    Post IP:123.123.131.198[只看该作者]

没贴上,再贴一次

图片点击可在新窗口打开查看

[此贴子已经被作者于2011-2-13 16:00:03编辑过]

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


加好友 发短信
等级:小飞侠 帖子:1882 积分:3310 威望:0 精华:15 注册:2010/3/15 13:11:56
  发帖心情 Post By:2011/2/13 20:00:06    Post IP:114.243.123.240[只看该作者]

10:32时 ma10 = 37395 ma30 =37326.333 不满足 ma10<ma30的条件

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
  发帖心情 Post By:2011/2/13 22:51:10    Post IP:112.111.180.239[只看该作者]

这个问题我以前也碰到过

问题就出在 cross

把 CROSS(REF(LLV(LOW,10),1),CLOSE) 改为 C<REF(LLV(LOW,10),1) 即可

或者写个变量记录 是否已经发生过 C<REF(LLV(LOW,10),1) ,然后结合均线判断下单条件是否成立

[此贴子已经被作者于2011-2-13 22:52:42编辑过]

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


加好友 发短信
等级:新手上路 帖子:50 积分:365 威望:0 精华:0 注册:2011/2/12 20:41:32
  发帖心情 Post By:2011/2/13 23:49:43    Post IP:123.123.128.43[只看该作者]

以下是引用z7c9在2011-2-13 20:00:06的发言:
10:32时 ma10 = 37395 ma30 =37326.333 不满足 ma10<ma30的条件

你说的是1:32吧,我是1105合约,ma10=37424,ma30=37439,肯定满足的


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


加好友 发短信
等级:新手上路 帖子:50 积分:365 威望:0 精华:0 注册:2011/2/12 20:41:32
  发帖心情 Post By:2011/2/13 23:57:08    Post IP:123.123.128.43[只看该作者]

以下是引用leevolvo在2011-2-13 22:51:10的发言:

这个问题我以前也碰到过

问题就出在 cross

把 CROSS(REF(LLV(LOW,10),1),CLOSE) 改为 C<REF(LLV(LOW,10),1) 即可

或者写个变量记录 是否已经发生过 C<REF(LLV(LOW,10),1) ,然后结合均线判断下单条件是否成立

[此贴子已经被作者于2011-2-13 22:52:42编辑过]

我把cross全部改成小于,大于的条件判断语句了,貌似可以,是没理解透cross的逻辑,还是本来就存在这种bug,这个函数存在的意义在哪,改成大于小于判断语句后会不会有新的毛病?

什么情况下非用这个函数不可呢?

 

还有用变量,判断是不是得用 if then语句了,编程基础不好,麻烦了

[此贴子已经被作者于2011-2-14 0:14:56编辑过]

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


加好友 发短信
等级:新手上路 帖子:40 积分:296 威望:0 精华:0 注册:2009/12/9 22:41:27
  发帖心情 Post By:2011/2/14 2:21:00    Post IP:116.10.162.128[只看该作者]

cross函数不好用,如果要表达穿越,试着选用LOW<指定价,HIGH>指定价.可自行建立一个试验指标进行对比,很容易看出问题所在

 回到顶部