以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请老师帮忙写个代码 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=188369) |
-- 作者:悠莲 -- 发布时间:2021/5/19 7:48:55 -- 请老师帮忙写个代码 多头:如果比本周期更大的周期A、B、C、D均呈现均线多头排列:MA1>MA2&&MA2>MA3&&MA3>MA4,则在本周期金叉时开多平空。做空反之。
|
-- 作者:FireScript -- 发布时间:2021/5/19 8:52:17 -- “比本周期更大的周期” 这个要指定好周期的才行。不指定周期不行的。 |
-- 作者:悠莲 -- 发布时间:2021/5/19 8:55:24 -- 那就只引用三个周期,A:15分钟;B:60分钟,C:日线,去除D |
-- 作者:FireScript -- 发布时间:2021/5/19 9:02:29 -- 你这里是三个周期的 的相同均线吗?比如15分钟的10周期均线,和60分钟的10周期均线?是这样吧。 |
-- 作者:FireScript -- 发布时间:2021/5/19 9:11:04 -- MA1:"MA.MA1#MIN15"(10);//括号里是参数,你可以自行调整的 MA2:"MA.MA1#MIN60"(10); MA3:"MA.MA1#DAY"(10); dtpl:ma1>ma2 and ma2>ma3;//多头排列 ktpl:ma1<ma2 and ma2<ma3;//空头排列 maN:ma(c,5); maM:ma(c,10); majc:cross(maN,maM);//这里金叉 死叉 的均线参数 你自行调整下,暂且用10,5 周期处理 masc:cross(maM,maN); dtcd:dtpl and majc;//多头排列+ma金叉 ktcd:ktpl and masc; if dtcd then begin sellshort(1,holding,market); buy(holding=0,1,market); end if ktcd then begin sell(1,holding,market); buyshort(holding=0,1,market); end |
-- 作者:悠莲 -- 发布时间:2021/5/20 14:37:16 -- 不好意思是我表述不当。我的意思是这样的,如果满足在A周期里,MA1>MA2>MA3>MA4,在B周期里,MA1>MA2>MA3>MA4;在C周期里,MA1>MA2>MA3>MA4;,那么在本周期内,出现均线MA1>MA2金叉时做多。 做空反之。 等于是多周期共振策略.
|
-- 作者:FireScript -- 发布时间:2021/5/20 14:58:06 -- 你改下就行了。 新建一个指标A,作为被调用的指标: INPUT:N1(5,1,100,1),N2(10,1,100,1),N3(15,1,100,1),N4(20,1,100,1); MA1:MA(C,N1); MA2:MA(C,N2); MA3:MA(C,N3); MA4:MA(C,N4); dtpl:ma1>ma2 and ma2>ma3;//多头排列 ktpl:ma1<ma2 and ma2<ma3;//空头排列 交易的指标: maN:ma(c,5);
maM:ma(c,10); majc:cross(maN,maM);//这里金叉 死叉 的均线参数 你自行调整下,暂且用10,5 周期处理 masc:cross(maM,maN); dtcd:"A.dtpl#MIN5" AND "A.dtpl#MIN10" AND "A.dtpl#MIN15";//这里可以自行输入参数来调整ma1-ma4周期数。但是调整时候是每个引用都要一起调整的;三个周期默认是5,10,15周期。可以自行修改。 ktcd:"A.ktpl#MIN5" AND "A.ktpl#MIN10" AND "A.ktpl#MIN15"; if dtcd and majc then begin sellshort(1,holding,market); buy(holding=0,1,market); end if ktcd and masc then begin sell(1,holding,market); buyshort(holding=0,1,market); end |