1.你打算运行的周期是多少?
2.30分钟和3分钟之间的关系请描述的再清楚些。
1.策略的运行周期是:日线
2.这个需求必须明细,你概括性的表达没有任何意义,需要把你的交易思路明确表达出来,而不是放在心里。(其实需要的是:如最新价上穿布林轨上轨作为开仓条件。)
3、同理,我需要知道的是30分钟和3分钟之间的关系。目前我理解的只是你要在日线周期上使用30分钟和3分钟的条件。
下面代码直接引用了系统在的的布林系统的信号:需要你修改下布林里面的源码。此外你是日线引用30分钟这种小周期,小周期的数据请自行补充好。
上图所标识的位置,你在软件里相应位置修改成一样的。
input:m(26,5,300,30),n(2,0.1,10,1);//布林带参数
VARIABLE:dn:=0,kn:=0;
m1:=NUMTOSTR(m,0);
n1:=NUMTOSTR(n,0);
3min_buy:STKINDI('','BOLL布林带交易系统.开多平空条件('&m1&','&n1&')',0,21,3);//3分钟
3min_sell:STKINDI('','BOLL布林带交易系统.开空平多条件('&m1&','&n1&')',0,21,3);
30min_buy:STKINDI('','BOLL布林带交易系统.开多平空条件('&m1&','&n1&')',0,4,0);//30分钟
30min_sell:STKINDI('','BOLL布林带交易系统.开空平多条件('&m1&','&n1&')',0,4,0);
buycond:=3min_buy and 30min_buy;//开多平空条件
sellcond:=3min_sell and 30min_sell;//开空平多条件
temp1:=ref(dn,1);
temp2:=ref(kn,1);
if buycond then begin kn:=0;dn:=temp1+1;end //统计连续多少次开多平空信号出现
if sellcond then begin dn:=0;kn:=temp2+1;end // //统计连续多少次开空平多信号出现
if buycond then
begin
sellshort(holding<0,dn,MARKET);
buy(holding>=0,dn,MARKET);
end
if sellcond then begin
sell(holding>0,kn,MARKET);
buyshort(holding<=0,kn,MARKET);
end