以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师帮我看看这个思路怎么写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=160977)

--  作者:qwe359123
--  发布时间:2018/1/11 10:10:40
--  请老师帮我看看这个思路怎么写
开多条件:30分钟周期的5日线上穿10日线形成金叉,5分钟周期的5日线上穿10日线形成金叉时开多,5分钟周期的5日线下穿10日线形成死叉时平多。

开空条件:30分钟周期的5日线下穿10日线形成死叉,5分钟周期的5日线下穿10日线形成死叉时开空,5分钟周期的5日线上穿10日线形成金叉时平空。

我的思路是这样是先在大周期30分钟形成金叉或者死叉的条件下,再到小周期5分钟出现金叉后者死叉来开平仓

--  作者:FireScript
--  发布时间:2018/1/11 10:13:46
--  
你开仓条件是30分钟金叉(或者死叉)和5五分钟金叉(或者死叉)同时触发 是这样理解对吧。
--  作者:qwe359123
--  发布时间:2018/1/13 18:35:40
--  
是的 同时触发
--  作者:wenarm
--  发布时间:2018/1/15 8:52:41
--  

使用stkindi函数进行跨周期条件引用,作为当前周期的条件之一参与判断,

跨周期引用时小周期引用大周期时,由于大周期k线为结束,容易造成当前的小周期发生信号闪烁,所以建议引用时向前引用一根。下面的范例中引用的是当前周期,如果需要向前偏移,可以直接将条件替换为STKINDI(\'\',\'公式1.cond1\',0,4,-1);//

公式1:

MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);

cond1:=CROSS(MA1,MA2);//开多平空条件
cond2:=CROSS(MA2,MA1);//开空平多条件

 

公式2:

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);

手数:=1;
//交易条件

开多平空条件:=CROSS(MA1,MA2) and STKINDI(\'\',\'公式1.cond1\',0,4,0);//开多平空条件
开空平多条件:=CROSS(MA2,MA1) and STKINDI(\'\',\'公式1.cond2\',0,4,0);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);


--  作者:FireScript
--  发布时间:2018/1/15 9:12:06
--  

需要跨指标引用

 

被引用指标:maX
ma5:ma(c,5);
ma10:ma(c,10);
jc:cross(ma5,ma10);
sc:cross(ma10,ma5);

 

当前指标:

5minjc:STKINDI(\'\',\'maX.jc\',0,2,0);//5分钟金叉
5minsc:STKINDI(\'\',\'maX.sc\',0,2,0);

30minjc:STKINDI(\'\',\'maX.jc\',0,4,0);//30分钟金叉
30minsc:STKINDI(\'\',\'maX.sc\',0,4,0);

KD:5minjc and 30minjc;//开多
PD:5minsc;
KK:5minsc and 30minsc;//开空
PK:5minjc;