以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请帮忙看下程序测试和思路偏差的原因 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=5153) |
-- 作者:mel_6e -- 发布时间:2011/2/13 14:40:17 -- 请帮忙看下程序测试和思路偏差的原因 jk:=VALUEWHEN(DATE<>REF(DATE,1),OPEN);//今开盘价 {开多} ENTERLONG: BK,TFILTER; //10上穿30且close大于100,等待破前10根线的最高价开多
平仓条件本来是写10下穿30,但也有同样问题暂时就写成10<30吧,关键是,平仓有几次不对,已经满足10<30,并且破了前十根线最低,还是不平仓。测试品种ru1105,截其中一次2010年12月22,(应该10:32就平多且反手),交易信号连线明显不对,反手时间也不对,刚接触金字塔,请看下是什么问题。
[此贴子已经被作者于2011-2-13 14:48:58编辑过]
|
-- 作者:mel_6e -- 发布时间:2011/2/13 15:55:41 -- 没贴上,再贴一次 [此贴子已经被作者于2011-2-13 16:00:03编辑过]
|
-- 作者:z7c9 -- 发布时间:2011/2/13 20:00:06 -- 10:32时 ma10 = 37395 ma30 =37326.333 不满足 ma10<ma30的条件 |
-- 作者:阿火 -- 发布时间: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编辑过]
|
-- 作者:mel_6e -- 发布时间:2011/2/13 23:49: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 -- 发布时间:2011/2/13 23:57:08 -- 以下是引用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 -- 发布时间:2011/2/14 2:21:00 -- cross函数不好用,如果要表达穿越,试着选用LOW<指定价,HIGH>指定价.可自行建立一个试验指标进行对比,很容易看出问题所在 |