以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求个策略模版  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=159437)

--  作者:yming8909
--  发布时间:2017/11/13 0:11:15
--  求个策略模版
以布林带为例

布林带线30分钟线发出开仓信号时(不分空开还是多开),同时在布林带线3分钟线也发出第一次开仓信号,开仓1手,发出第二次开仓信号时,开仓2手,以此类推。反之平仓也一样。

不知道描述对不对,请大神编写。


--  作者:wenarm
--  发布时间:2017/11/13 8:28:04
--  

1.你打算运行的周期是多少?

2.30分钟和3分钟之间的关系请描述的再清楚些。

 


--  作者:yming8909
--  发布时间:2017/11/13 20:33:34
--  
周期三天以内就可以了

30分钟的K线图发出买入信号后,是不是下一个30分钟线,程式化交易就会自动买入?这个时候我想等3分钟线也发出开仓信号才买。

--  作者:wenarm
--  发布时间:2017/11/13 20:54:09
--  
1.你必须明确告诉我你要运行的周期。
2.你的开平仓条件是什么。
3.30分钟和3分钟之间是什么关系?两个周期都满足开平条件时才进行开平仓?




--  作者:yming8909
--  发布时间:2017/11/13 21:20:32
--  
1.我说的周期是K线的日线就行
2.用布林带线做开平仓的条件
3.30分钟分线做为趋势线,3分钟线做为买入的点

--  作者:wenarm
--  发布时间:2017/11/14 8:35:24
--  

1.策略的运行周期是:日线

2.这个需求必须明细,你概括性的表达没有任何意义,需要把你的交易思路明确表达出来,而不是放在心里。(其实需要的是:如最新价上穿布林轨上轨作为开仓条件。)

3、同理,我需要知道的是30分钟和3分钟之间的关系。目前我理解的只是你要在日线周期上使用30分钟和3分钟的条件。


--  作者:yming8909
--  发布时间:2017/11/14 22:58:10
--  
你能不能先按你理解的做一个,我试着学会调整
--  作者:FireScript
--  发布时间:2017/11/15 10:17:14
--  

下面代码直接引用了系统在的的布林系统的信号:需要你修改下布林里面的源码。此外你是日线引用30分钟这种小周期,小周期的数据请自行补充好。

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

上图所标识的位置,你在软件里相应位置修改成一样的。
 

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


[此贴子已经被作者于2017/11/15 10:18:12编辑过]

--  作者:yming8909
--  发布时间:2017/11/15 22:22:41
--  
多谢,