以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=31486) |
|
-- 作者:abc -- 发布时间:2012/12/13 20:49:52 -- 求助
|
|
-- 作者:jinzhe -- 发布时间:2012/12/14 9:30:45 -- if ma5>ma10 and ma5>ma20..........and ma5>ma80 then buy(holding=0,1,market);
if cross(ma10,ma5) or cross(ma20,ma5).........or cross(ma80,ma5) then sell(holding>0,0,market);
if ma5<ma10 and ma5<ma20 ............and ma5<ma80 then buyshort(holding=0,1,market);
if cross(ma5,ma10) or cross(ma5,ma20).........or cross(ma5,ma80) then sellshort(holding<0,0,market); |
|
-- 作者:abc -- 发布时间:2012/12/19 0:29:05 -- 测试时通不过,文字提示: 未定义的变量:ma5 。不知是何原因?麻烦老师帮我修改并通过测试后发给我吧。非常感谢!
if ma5>ma10 and ma5>ma20 and ma5>ma30 and ma5>ma40 and ma5>ma50 and ma5>ma60and ma5>ma70 then buy(holding=0,1,market); if cross(ma10,ma5) or cross(ma20,ma5) or cross(ma30,ma5) or cross(ma40,ma5) or cross(ma50,ma5) or cross(ma60,ma5)or cross(ma70,ma5) then sell(holding>0,0,market); if ma5<ma10 and ma5<ma20 and ma5<ma30 and ma5<ma40 and ma5<ma50 and ma5<ma60 and ma5<ma70 then buyshort(holding=0,1,market); if cross(ma5,ma10) or cross(ma5,ma20) or cross(ma5,ma30) or cross(ma5,ma40) or cross(ma5,ma50) or cross(ma5,ma60)or cross(ma5,ma70) then sellshort(holding<0,0,market); |
|
-- 作者:jinzhe -- 发布时间:2012/12/19 9:39:26 -- 你把MA5,MA10之类的都定义一下 类似于 ma5:=ma(c,5); ma10:=ma(c,10); |
|
-- 作者:abc -- 发布时间:2012/12/27 18:42:42 -- 上次按老师指导测试通过了。但发现交易信号太多,现想对其进行改进,再请老师帮忙修改。谢谢! 思路如下:
1,当5均线向上穿过所有均线时(5-70),平空开多仓。当5均线向下穿过所有均线时,平多开空。以此反复循环。 2,需要注意的是: 当5均线上穿或下穿所有均线时开平仓,我指的是在不同时间在不同的K线上陆续上穿或下穿,当5均线穿过最后1条均线时即为满足开平仓条件,而并非是指5均线在同一根K线上同时上穿或下穿所有均线(这种条件是不大可能同时满足的)。 Ma10:ma(c,10),COLORBLUE; Ma20:ma(c,20),COLORBLUE;
if ma5>ma10 and ma5>ma20 and ma5>ma30 and ma5>ma40 and ma5>ma50 and ma5>ma60and ma5>ma70 then buy(holding=0,1,market);
if cross(ma10,ma5) or cross(ma20,ma5) or cross(ma30,ma5) or cross(ma40,ma5) or cross(ma50,ma5) or cross(ma60,ma5)or cross(ma70,ma5) then sell(holding>0,0,market);
if ma5<ma10 and ma5<ma20 and ma5<ma30 and ma5<ma40 and ma5<ma50 and ma5<ma60 and ma5<ma70 then buyshort(holding=0,1,market);
if cross(ma5,ma10) or cross(ma5,ma20) or cross(ma5,ma30) or cross(ma5,ma40) or cross(ma5,ma50) or cross(ma5,ma60)or cross(ma5,ma70) then sellshort(holding<0,0,market);
|
|
-- 作者:abc -- 发布时间:2012/12/27 18:47:59 -- 也就是说在上次的策略基础上去掉止损条件即是 |
|
-- 作者:jinzhe -- 发布时间:2012/12/28 9:05:11 -- 把平仓语句中的or都改成and |
|
-- 作者:abc -- 发布时间:2012/12/28 20:39:01 -- 我把平仓语句中的or都改成and 后,但却只出了一部份信号,而且多在平仓后的下一根K线才出开仓信号(在满足条件的情况下平仓和开仓应在同一根k线上完成才对),在很多5均线陆续穿或下穿所有均线的情况下,也不出信号了(应该出信号才对)。麻烦请老师帮我检测修改一下!
|
|
-- 作者:abc -- 发布时间:2013/1/4 21:12:28 --
|