以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 不应该用ref(h,1)来作为开仓价? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=167916) |
-- 作者:m1978xz -- 发布时间:2019/1/24 9:31:11 -- 不应该用ref(h,1)来作为开仓价? 我之前看论坛里阿火版主讲,如果想让回测效果更接近实盘,应该尽量让一些价格过去化。 我就尝试以前一K线的突破为核心来写策略 ,就是说前一K线突破了之后,用前K线的高或者前K线的低,在本K线开仓或者平仓买卖。 但是这么写完之后发现回测时只有1到2笔交易。不知道问题出在哪里,还请版主指点一下。 ----代码如下 MA1:=MA((HIGH+LOW)/2,5);//ma1赋值为(最高价+最低价)/2的5日简单移动平均 MA2:=MA((HIGH+LOW)/2,34);//MA2赋值:(最高价+最低价)/2的34日简单移动平均 OO:=0.00;//输出 AO:=MA1-MA2;//输出AO:MA1-MA2,线宽为0 mr:=AO>REF(AO,1);//AO柱高于前一天的柱 mrr:=AO<REF(AO,1);//AO柱小于前一天的柱 mr1:=REF(AO,1)>REF(AO,2);//前一AO柱高于前二AO的柱 mrr1:=REF(AO,1)<REF(AO,2);//前一AO柱低于前二AO的柱 Q1AO:=REF(AO,1); Q2AO:=REF(AO,2); Q1KG:=ref(h,1);//前1K线高 Q1KD:=ref(L,1);//前1K线高 //多开语句 if holding=0 and Q1AO>OO then begin//如果持仓为零,且前一根AO柱高于零轴 buy(1,1,limitr,Q1KG); END //平多语句 if holding>0 and Q1AO<OO then begin //如果持有多仓,且前1AO<00, sell(1,1,limitr,Q1KG); end //空开语句 if holding=0 and Q1AO<OO then begin buyshort(1,1,limitr,Q1KG); qpp:=h; mjj:=h; end |
-- 作者:FireScript -- 发布时间:2019/1/24 9:38:23 -- 1.你光有开空没有平空语句是不行的,这样会导致一旦开了空单,后面就没有其他信号了。 2.Q1AO<00 这个条件是绝对不成立的。价格不可能小于0 . 你变量00的值定义的就是0
|
-- 作者:m1978xz -- 发布时间:2019/1/24 9:43:47 -- 这。原来如此,感谢版主指点。我去改。 |