以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=2531) |
-- 作者:qkl586 -- 发布时间:2010/8/19 10:22:19 -- 测试正常的公式没有信号显示 我根据指南中单均线模型修改了其它公式,结果图表上没有信号显示,问题出在哪里呢?请明示。 单均线模型: INPUT:N(15,1,100,1); BP :=TIME>=145500 OR (CLOSE>MAN AND BARSLAST(CROSS(CLOSE,MAN ))>=3); BK :=TIME>=091500 AND TIME<145500 AND CLOSE>MAN AND BARSLAST(CROSS(CLOSE,MAN ))>=3; SK :=TIME>=090000 AND TIME<145500 AND CLOSE<MAN AND BARSLAST(CROSS(MAN,CLOSE ))>=3; {开空} ENTERSHORT: SK,TFILTER; 拟修改的模型修改前(可以正常操作): {开空} ENTERSHORT: CROSS(d,k),ORDERQUEUE,TFILTER;
修改后(无信号显示):
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; {平空} EXITSHORT: CROSS(k,d)AND BARSLAST(CROSS(k,d))>=3,ORDERQUEUE,TFILTER; {开多} ENTERLONG: CROSS(k,d)AND BARSLAST(CROSS(k,d))>=3,ORDERQUEUE,TFILTER; {开空} ENTERSHORT: CROSS(d,k)AND BARSLAST(CROSS(d,k))>=3,ORDERQUEUE,TFILTER;
|
-- 作者:董小球 -- 发布时间:2010/8/19 11:51:37 -- 貌似是你的K和d根本没有交叉 自然没信号了 |
-- 作者:qkl586 -- 发布时间:2010/8/19 12:27:56 -- 把公式中的“AND BARSLAST(CROSS(d,k))>=3”去掉就有信号 |
-- 作者:董小球 -- 发布时间:2010/8/19 12:44:44 -- 哦 明白了 ENTER 这种交易函数很简单 别用复合条件了,你吧BARSLAST条件放到外面去,就只留一个CROSS条件在ENTER函数里 就可以了 要么 你就用 BUY SELL 等交易函数 |
-- 作者:fly -- 发布时间:2010/8/19 16:38:17 -- 用这几行语句测试一下,注意看J和I的输出值可不可以同时为真(即,非0),楼主就知道问题出在哪里了。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
j:BARSLAST(CROSS(k,d)),linethick0; |
-- 作者:qkl586 -- 发布时间:2010/8/19 22:11:00 -- J的输出值为5,I为0,问题找到了,但是怎么处理呢?在论坛中没有搜索到相关的解决办法。是不是要改变I的条件才能出来信号? |
-- 作者:fly -- 发布时间:2010/8/20 9:27:27 -- 两个条件在所有周期上,都是-----一个为真时另一个为假。您不能这么设置条件呀!
{平空} EXITSHORT: CROSS(k,d) AND BARSLAST(CROSS(k,d))>=3,ORDERQUEUE,TFILTER;
在一根K线上,您的条件1--CROSS(k,d)和条件2--BARSLAST(CROSS(k,d))>=3,永远不可能同时为真
原因:当条件CROSS(k,d)成立的那根K线上,条件BARSLAST(CROSS(k,d))====0 |
-- 作者:qkl586 -- 发布时间:2010/8/21 13:45:25 -- 请问公式测试系统如何优化外汇和伦敦金 明白了,谢谢! |