以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请老师,热心人帮我遍知道图表自动交易程序  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61871)

--  作者:飞天橙
--  发布时间:2014/2/20 17:22:46
--  [求助]请老师,热心人帮我遍知道图表自动交易程序
我有一个思路,根据三重滤网的理念,能编成自动交易模型吗? 开多仓条件… 一,某周期比如日线,某条均线向上,走平不行,必须向上,比如250线,数值可调。 而且出现kd指标在低位,比如30以下金叉。 二,同时,另外一个周期比如30分钟图出现macd指标在零轴以下金叉,出现第一根红柱子开仓。 开空仓条件… 一,某周期比如日线,某条均线向下,走平不行,必须向下,比如250线,数值可调。 而且出现kd指标在高位,比如70以上死叉。 二,同时,另外一个周期比如30分钟图出现macd指标在零轴以上死叉,出现第一根绿柱子开仓。
[此贴子已经被作者于2014/2/20 17:24:18编辑过]

--  作者:jinzhe
--  发布时间:2014/2/20 17:27:35
--  

1.MA250向上,同时k<30,同时k金叉d?

2.前一个是macd<0 后一根就是macd>0?

是这意思吗?


--  作者:飞天橙
--  发布时间:2014/2/20 18:08:32
--  
是的,而且要macd黄白线零轴以下金叉,kd,macd指标参数要可调,辛苦老师了,谢谢!
--  作者:jinzhe
--  发布时间:2014/2/21 9:14:01
--  

要写成两个公式,公式1用来被引用,不做实际操作,公式2是实际交易公式

公式1不可省略,公式2使用前先补充日线数据和5分钟数据。补充方法:工具 数据补充

kd1和kd1是两个开多条件,kk1和kk2是两个开空条件

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014/2/21 9:14:47编辑过]

--  作者:jinzhe
--  发布时间:2014/2/21 9:14:29
--  

公式1代码:

input:n(9,1,100),p1(3,1,100),p2(3,1,100);
input:p(26,1,200),s(12,1,200),m(9,1,100);
input:q(250,1,1000);
rsv:=(close-llv(low,n))/(hhv(high,n)-llv(low,n))*100;
k:sma(rsv,p1,1);
d:sma(k,p2,1);
j:3*k-2*d;
diff : ema(close,s) - ema(close,p);
dea  : ema(diff,m);
macd : 2*(diff-dea);
ma250:ma(c,q);

 

公式2代码:

ma250_day:=stkindi(\'\',\'公式1.ma250\',0,6);
ma250_day_1:=stkindi(\'\',\'公式1.ma250\',0,6,-1);
k_day:=stkindi(\'\',\'公式1.k\',0,6);
d_day:=stkindi(\'\',\'公式1.d\',0,6);
k_30min:=stkindi(\'\',\'公式1.k\',0,4,-1);
d_30min:=stkindi(\'\',\'公式1.d\',0,4,-1);
macd_30min:=stkindi(\'\',\'公式1.macd\',0,4);
macd_30min_1:=stkindi(\'\',\'公式1.macd\',0,4,-1);
kd1:=ma250_day>ma250_day_1 and k_day<30 and cross(k_day,d_day);
kd2:=macd_30min>0 and cross(k_30min,d_30min) and macd_30min_1<0;

kk1:=ma250_day<ma250_day_1 and k_day>70 and cross(d_day,k_day);
kk2:=macd_30min<0 and cross(d_30min,k_30min) and macd_30min_1>0;


--  作者:netfox
--  发布时间:2014/2/21 11:02:07
--  

关于公式调用我有个疑问

  像KD这样,本身的KD代码几乎无变化, 一般处理只是KD出来数值 K,D,J等

 

假设建立了三个衍生公式, 那么是不是意思其实不用给三个衍生公式每次在开头定义一次KD原代码

 

其实 一律通过  stkindi 调用就成了?


--  作者:jinzhe
--  发布时间:2014/2/21 11:12:08
--  
需要改参数,重新建一个就可以随便乱改不用修改原有的系统公式了
--  作者:飞天橙
--  发布时间:2014/2/21 12:39:02
--  
谢谢,请问开仓条件里面 cross(k_30min,d_30min) 能表示macd黄白线在零轴下面金叉这个条件吗?
--  作者:jinzhe
--  发布时间:2014/2/21 13:12:01
--  

修改了一下公式2

ma250_day:=stkindi(\'\',\'公式1.ma250\',0,6);
ma250_day_1:=stkindi(\'\',\'公式1.ma250\',0,6,-1);
k_day:=stkindi(\'\',\'公式1.k\',0,6);
d_day:=stkindi(\'\',\'公式1.d\',0,6);
k_30min:=stkindi(\'\',\'公式1.k\',0,4,-1);
d_30min:=stkindi(\'\',\'公式1.d\',0,4,-1);
macd_30min:=stkindi(\'\',\'公式1.macd\',0,4);

dea_30min:=stkindi(\'\',\'公式1.dea\',0,4,-1);
diff_30min:=stkindi(\'\',\'公式1.diff\',0,4,-1);
macd_30min_1:=stkindi(\'\',\'公式1.macd\',0,4,-1);
kd1:=ma250_day>ma250_day_1 and k_day<30 and cross(k_day,d_day);
kd2:=macd_30min>0 and cross(k_30min,d_30min) and macd_30min_1<0 and dea_30min<0 and diff_30min<0;

kk1:=ma250_day<ma250_day_1 and k_day>70 and cross(d_day,k_day) ;
kk2:=macd_30min<0 and cross(d_30min,k_30min) and macd_30min_1>0 and dea_30min>0 and diff_30min>0;


--  作者:飞天橙
--  发布时间:2014/2/21 16:51:43
--  
版主真实又快又好啊,感谢!
如果把这个条件作为股票盘后复盘选股的公式,应该怎么修改呢?
由于股票只做多,选股也不需要即时开仓,条件稍微调整一下:
一:某周期比如日线,某条均线向上,走平不行,必须向上,比如250线,数值可调。 而且出现kd指标在低位,比如30以下金叉。
 二:同时,另外一个周期比如30分钟图出现macd指标在零轴以下金叉。