macd跨多周期macd怎么做

(34)跨周期技术指标的设定(MACD、KD、GM为例)
我的图书馆
(34)跨周期技术指标的设定(MACD、KD、GM为例)
传统的MACD能看到的是本周图上的指标,辅助的是低一周期图上的走势判断,在使用上有诸多不便。
下面将原MACD稍加调整,可以设定出适合自己的MACD指标(在本周图上,看任意周期图上的MACD指标)
MACD修正指标源码公布:
S:=12;P:=26;M:=9;
DIFF : EMA(CLOSE,S*N) - EMA(CLOSE,P*N);
DEA& : EMA(DIFF,M*N);
MACD : 2*(DIFF-DEA), COLORSTICK;
用法:X分钟周期图,看Y周期图的MACD,根基公式N*X=Y,设定N数值。
N放在软件给出的默认值的那个表格里面,调整时,只需右键点击指标找到“调整参数”项调整就是了
适用范围:任何可以使用MACD指标函数的软件。
特别提醒:
1、对于国际市场,尤其是24小时连轴转的市场,日线是24小时,所以设定时需要特别注意,不能按照A股市场来。
2。对于A股市场可以取 N=6 进行近似处理,就不必每次调整参数了。
-----------------------------------------------------
飞狐专用修正MACD源码:
if DATAPERIOD=0 then N:=1;
if DATAPERIOD=1 then N:=5;
if DATAPERIOD=2 then N:=6;
if DATAPERIOD=3 then N:=2;
if DATAPERIOD=4 then N:=8;
if DATAPERIOD=5 then N:=4;
if DATAPERIOD=6 then N:=5;
if DATAPERIOD=7 then N:=4;
if DATAPERIOD=8 then N:=12;
S:=12;P:=26;M:=9;
DIFF : EMA(CLOSE,S*N) - EMA(CLOSE,P*N);
DEA& : EMA(DIFF,M*N);
MACD : N*(DIFF-DEA), COLORSTICK;
&===================
跨周期 KD 指标 源码:
NA:=9;P1:=3;P2:=3;
RSV:=(CLOSE-LLV(LOW,N*NA))/(HHV(HIGH,N*NA)-LLV(LOW,N*NA))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
==============
跨周期 GM 指标 源码
N1:=6; N2:=12; N3:=24;
LC := REF(CLOSE,1);
GM:SMA(MAX(CLOSE-LC,0),8*N,1)/SMA(ABS(CLOSE-LC),8*N,1)*100;
GM2:SMA(MAX(CLOSE-LC,0),10*N,1)/SMA(ABS(CLOSE-LC),10*N,1)*100;
-------------------------
以上源码除特别指出飞狐专用的,其他可在任意软件上应用。
设定方法如下图(以跨周期MACD为例):
在最后一项指标参数调整上,是右键点击指标上的线,可看到一个下拉菜单,选择上面的“指标参数调整”即可看到这个调整窗口。
不同的周期图,调整一次,软件会记住调整的内容,下次再看这个周期图是,不需要再次调整,一劳永逸。
-----------------------------
(以下内容为日补充)
一个月过去了,本文看来还挺受欢迎。但也发现了一些问题:不少朋友对与股票软件一窍不通,对于公式的设定上存在很多困惑,无法做好全部指标。这里再补充一下KD、GM指标。
最后再次强调,上面的公式为通用公式,本人已经在飞狐、大智慧、通达信、博易大师(期货软件)等多个软件上测试使用。
上面所有的截图都取自通达信软件。
希望经过此次补充,不会再有弄不明白,不会设置的人了。如果再有,那真没办法了。索性别用公式、最好也别用软件了。
TA的最新馆藏
喜欢该文的人也喜欢如何用macd指标对股票进行技术分析? - 知乎5383被浏览315159分享邀请回答1.2K176 条评论分享收藏感谢收起885132 条评论分享收藏感谢收起查看更多回答1分钟跨周期叠加30分钟数据,并计算MACD指标 - 开拓者期货期权程序化系统交易论坛 - Powered by Discuz!
开拓者期货期权程序化系统交易论坛
标题: 1分钟跨周期叠加30分钟数据,并计算MACD指标
作者: skyline& & 时间:
17:57:51 & & 标题: 1分钟跨周期叠加30分钟数据,并计算MACD指标
在5分钟K线下,让MACD计算30分钟K线,代码怎么写?
[ 本帖最后由 nopain 于
16:58 编辑 ]
作者: nopain& & 时间:
您看一下nMins指标。这个指标算出了叠加的数据,然后在这个数据的基础上求均线
作者: skyline& & 时间:
谢谢版主,我看看。
刚刚又遇到问题
& & & & Condition5 = CrossOver(CCIValue, CCIAvg) ;
& & & & Condition6 = CrossUnder(CCIValue, CCIAvg) ;
不能通过?
作者: skyline& & 时间:
原帖由 nopain 于
18:19 发表
您看一下nMins指标。这个指标算出了叠加的数据,然后在这个数据的基础上求均线
貌似&&Nmins& &只是表示把前三根K线合成一根。
比如12根1分钟K线,在Nmins指标中仍然是12跟
而我的意思是12跟1分钟K线合成三分钟K线,应该最后只有4跟
作者: skyline& & 时间:
看完& &关于商品跨周期数据引用的讨论!
觉得比较赞同轮回的观点。
但还是不知道如何在1分钟图形下计算30分钟的MACD
请教版主怎么实现?
作者: nopain& & 时间:
原帖由 skyline 于
18:41 发表
谢谢版主,我看看。
刚刚又遇到问题
& & & & Condition5 = CrossOver(CCIValue, CCIAvg) ;
& & & & Condition6 = CrossUnder(CCIValue, CCIAvg) ;
不能通过?
是不是CCIValue或CCIAvg没有设置为序列变量。
作者: nopain& & 时间:
原帖由 skyline 于
18:51 发表
貌似&&Nmins& &只是表示把前三根K线合成一根。
比如12根1分钟K线,在Nmins指标中仍然是12跟
而我的意思是12跟1分钟K线合成三分钟K线,应该最后只有4跟 ...
这样怎么叠加,怎么对应?
作者: nopain& & 时间:
原帖由 skyline 于
19:01 发表
看完& &关于商品跨周期数据引用的讨论!
觉得比较赞同轮回的观点。
但还是不知道如何在1分钟图形下计算30分钟的MACD
请教版主怎么实现?
轮回的观点是引用未来数据,这是交易系统忌讳的!
作者: skyline& & 时间:
怎么设置成序列?
怎么在1分钟K线下计算30分钟的MACD?
作者: nopain& & 时间:
原帖由 skyline 于
16:07 发表
怎么设置成序列?
怎么在1分钟K线下计算30分钟的MACD?
建一个指标,假设命名为nMinsMACD
Params
& & & & Numeric N(30);
& & & & Numeric FastLength(12);
& & & & Numeric SlowLength(26);
& & & & Numeric MACDLength(9);
Vars
& & & & NumericSeries nMinsC
& & & & NumericSeries MACDV
& & & & Numeric AvgMACD;
& & & & Numeric MACDD
Begin
& & & & nMinsClose = DataConvert(Close,&min&,N,&Close&);
& & & & MACDValue = XAverage( nMinsClose, N*FastLength ) - XAverage( nMinsClose, N*SlowLength );& & & &
& & & & AvgMACD = XAverage(MACDValue,N*MACDLength);
& & & & MACDDiff = MACDValue - AvgMACD;
& & & & PlotNumeric(&MACD&,MACDValue);
& & & & PlotNumeric(&MACDAvg&,AvgMACD);
& & & & If (MACDDiff &= 0)& & & &
& & & & & & & & PlotNumeric(&MACDDiff&,MACDDiff,Red);
& & & & Else
& & & & & & & & PlotNumeric(&MACDDiff&,MACDDiff,Green);
& & & & PlotNumeric(&零线&,0); & & & &&&
End复制代码
(14.22 KB, 下载次数: 4)
16:34:05 上传
下载次数: 4
[ 本帖最后由 nopain 于
16:34 编辑 ]图片附件:
nMinsMACD.png ( 16:34:05, 14.22 KB) / 下载次数 4http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjg2fDc5YzFhM2M3fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: nopain& & 时间:
下图的上部分是直接取SR805,30分钟 100根K线,画出来的MACD指标。
下图的下部分是取SR805,1分钟 3000根K线,画出来的MACD指标。
从图上可以看出来,通过叠加算出来的MACD图形走势基本一致,但具体的值还是有细微区别的。
这是因为叠加计算的MACD的数据采样率大了30倍,并且更真实的反映了30分钟内收盘价的变化趋势。
(22.93 KB, 下载次数: 2)
16:24:57 上传
下载次数: 2
[ 本帖最后由 nopain 于
16:29 编辑 ]图片附件:
nMinsMACD.png ( 16:24:57, 22.93 KB) / 下载次数 2http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjg1fDBhNmNlYTk4fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: skyline& & 时间:
原帖由 nopain 于
16:20 发表
建一个指标,假设命名为nMinsMACD
& & & & Numeric N(30);
& & & & Numeric FastLength(12);
& & & & Numeric SlowLength(26);
& & & & Numeric MACDLength(9);
& & & & NumericSeries nMinsC
& & & & NumericSeries MACDV
& & & & Numeric Av ...
貌似有问题
两个值还是有差别图片附件: [调用指标计算的MACD值] 1.JPG ( 16:37:27, 103.11 KB) / 下载次数 10http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjg3fDUwOGEwZDFjfDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />图片附件: [实际的值] 2.JPG ( 16:37:27, 127.89 KB) / 下载次数 5http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjg4fGNiNjE4YzUwfDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: skyline& & 时间:
刚刚观察了两张图
两张同样是& &07/9/28& &15.00 的图
为什么在不同时间下收盘不一样?
作者: nopain& & 时间:
(22.07 KB, 下载次数: 2)
16:55:47 上传
下载次数: 2
nMinsMACD.png ( 16:55:47, 22.07 KB) / 下载次数 2http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjg5fGIzODQyNjY0fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: 轮回& & 时间:
原帖由 nopain 于
21:20 发表
轮回的观点是引用未来数据,这是交易系统忌讳的!
肯定没有未来函数,当前没有出现的数据绝对不会在K线上反应,我只是将一定周期内的K线合并为一根(假想),但TB不支持画特宽的K线,所以就画成了这个样子。例如在1分下看5分K线,应将连续相等的5根看成1根。
(59.13 KB, 下载次数: 1)
16:57:31 上传
下载次数: 1
070928.jpg ( 16:57:31, 59.13 KB) / 下载次数 1http://bbs.tb18.net/forum.php?mod=attachment&aid=MjkwfGFlNGRmYTg4fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: skyline& & 时间:
原帖由 轮回 于
16:57 发表
肯定没有未来函数,当前没有出现的数据绝对不会在K线上反应,我只是将一定周期内的K线合并为一根(假想),但TB不支持画特宽的K线,所以就画成了这个样子。例如在1分下看5分K线,应将连续相等的5根看成1根。
我也是这个意思,将几根合成一根
我也觉得并没有引用未来数据
作者: 轮回& & 时间:
由于这段时间忙其他一些事情,所以在调用算法等相关上还没完成,但可以说用于均线调用应该不能象NOPAIN这样,这样处理的数据是错误的。
作者: nopain& & 时间:
公式里面计算必须与主图的周期数为标准。
大家有空可以看看Wealth-Lab的公式帮助[第8章],里面有讲到这个问题。
(1.04 MB, 下载次数: 213)
17:17:58 上传
下载次数: 213
此问题不再重复进行讨论了。附件:
wsGuide_US.pdf ( 17:17:58, 1.04 MB) / 下载次数 213http://bbs.tb18.net/forum.php?mod=attachment&aid=MjkxfDk5NjVhNzU5fDE1MDkwNjY1MjR8MHww
作者: 轮回& & 时间:
文华5分K线
(79.66 KB, 下载次数: 3)
17:52:22 上传
下载次数: 3
TB1分跨5分K线
(69.99 KB, 下载次数: 1)
17:52:22 上传
下载次数: 1
WENHUA.jpg ( 17:52:22, 79.66 KB) / 下载次数 3http://bbs.tb18.net/forum.php?mod=attachment&aid=MjkyfDNiNWU1M2VifDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />图片附件:
tb.jpg ( 17:52:22, 69.99 KB) / 下载次数 1http://bbs.tb18.net/forum.php?mod=attachment&aid=MjkzfDMyYjUzYzA1fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: skyline& & 时间:
把这个nMinsMACD写成交易指令出了大问题
模仿MACD多头建仓写的代码
& & & & Numeric N(30);
& & & & Numeric FastLength( 12 );
& & & & Numeric SlowLength( 26 );
& & & & Numeric MACDLength( 9 );
& & & & Numeric BuyLots(1);
& & & & NumericSeries nMinsC
& & & & NumericSeries MACDV
& & & & NumericSeries AvgMACD;
& & & & Numeric MACDD
& & & & Bool Condition1;
& & & & Bool Condition2;
& & & & nMinsClose = DataConvert(Close,&min&,N,&Close&);
& & & & MACDValue = XAverage( nMinsClose, FastLength ) - XAverage( nMinsClose, SlowLength ) ;& & & &
& & & & AvgMACD = XAverage(MACDValue,N*MACDLength);
& & & & MACDDiff = MACDValue - AvgMACD;
& & & & Condition1 = CrossOver(MACDValue, AvgMACD) ;
& & & & Condition2 = MACDValue & 0;
& & & & if (Condition1 And Condition2)
& & & & & & & & Buy(BuyLots,Close);
而实际交易情况确实这样图片附件: [完全是乱了] 1.JPG ( 19:23:10, 150.71 KB) / 下载次数 2http://bbs.tb18.net/forum.php?mod=attachment&aid=Mjk0fGE1OGE4ZmI1fDE1MDkwNjY1MjR8MHwwscreen.width*0.8) this.width=screen.width*0.8" alt="" />
作者: nopain& & 时间:
原帖由 skyline 于
19:23 发表
把这个nMinsMACD写成交易指令出了大问题
模仿MACD多头建仓写的代码
& & & & Numeric N(30);
& & & & Numeric FastLength( 12 );
& & & & Numeric SlowLength( 26 );
& & & & Numeric MACDLength( 9 );
& & & & Numeric BuyLots(1);
& & & & Num ...
MACDValue = XAverage( nMinsClose, FastLength ) - XAverage( nMinsClose, SlowLength ) ;& &
MACDValue = XAverage( nMinsClose, N*FastLength ) - XAverage( nMinsClose, N*SlowLength ) ;
作者: skyline& & 时间:
真是不好意思,是我自己没仔细检查。
还要麻烦版主
最后还要说一句
非常感谢版主的解答
作者: viviner& & 时间:
请教如果是15分钟图上显示小时的,
是不是改成这样:
nMinsClose = DataConvert(Close,&min&,N,&Close&);
MACDValue = XAverage( nMinsClose, N/15*FastLength ) - XAverage( nMinsClose, N/*15SlowLength ) ;
[ 本帖最后由 viviner 于
22:50 编辑 ]
作者: ilian& & 时间:
建议增加类似的函数
TimeFrameSet( interval)
............................
TimeFrameRestore
..............................
好处是程序简洁易懂,函数周期问题也不用再换算了。
作者: warkstar& & 时间:
原帖由 nopain 于
20:09 发表
MACDValue = XAverage( nMinsClose, FastLength ) - XAverage( nMinsClose, SlowLength ) ;& &
MACDValue = XAverage( nMinsClose, N*FastLength ) - XAverage( nMinsClose, N*SlowLength ) ; ...
我个人怎么觉得这样好像就是跟单纯用一分钟线,把参数放大30倍是一样的。 按照这个思路,计算均线什么的时候,在1分钟线里面根本取不到30分钟线单独的开高低收的价格。&&
我也比较认同轮回的观点。 未来函数的问题在于是不是在计算当中使用了未来数据。11:00:00-11:04:59,形成5跟分钟线。 逐一形成5跟分钟线的过程其实就是形成11:00:00的那跟5分钟线的过程。在10:59:59的时候应该形成5分钟的所有价格数据,开高低收有且只有一个的。&&这样在调用5分钟周期数据计算的时候参数是不用×那个5的。 我想玩家要的效果是在分钟里面调用30分钟k线形成的指标信号。而不是扩大指标使用的参数!!
作者: tradeblazer& & 时间:
原帖由 warkstar 于
17:25 发表
我个人怎么觉得这样好像就是跟单纯用一分钟线,把参数放大30倍是一样的。 按照这个思路,计算均线什么的时候,在1分钟线里面根本取不到30分钟线单独的开高低收的价格。&&
我也比较认同轮回的观点。 未来函数的问题在于 ...
要实现您说的意思,可以参考CloseD,OpenD.AverageD等函数的写法,这写函数可以实现在分钟线中取日线的数据,按照同样的处理方式,您也可以实现,在1分钟取30分钟的数据。
作者: sunsnake& & 时间:
好高级的讨论,学习了
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2[转载]通达信跨周期MACD指标(源码、副图、贴图)
A:=SUM(C*IF(MOD(DATETODAY(DATE),7)=0,1,0),3)*IF(PERIOD=5,1,0);
DF:=SUM(C*IF(MOD(MINUTE,5)=0,1,0),5)*IF(PERIOD=0,1,0)
+SUM(C*IF(MOD(MINUTE+55,30)=0,1,0),6)*IF(PERIOD=1,1,0)
+SUM(C*IF(HOUR-15=0,1,0),8)*IF(PERIOD=3,1,0)
+A+IF(A=0,REF(A,1),0)
+IF(REF(A,1)+A=0,REF(A,2),0)
+IF(REF(A,2)+REF(A,1)+A=0,REF(A,3),0)
+IF(REF(A,3)+REF(A,2)+REF(A,1)+A=0,REF(A,4),0)
+IF(REF(A,4)+REF(A,3)+REF(A,2)+REF(A,1)+A=0,REF(A,5),0)
+IF(REF(A,5)+REF(A,4)+REF(A,3)+REF(A,2)+REF(A,1)+A=0,REF(A,6),0);
XX:=1+4*IF(PERIOD=0,1,0)
+5*IF(PERIOD=1,1,0)
+7*IF(PERIOD=3,1,0)
+4*IF(PERIOD=5,1,0);
PDIF:EMA(DF,SHORT*XX)-EMA(DF,LONG*XX);
PDEA:EMA(PDIF,MID*XX);
PMACD:(PDIF-PDEA)*2,COLORSTICK;
CROSS(PDIF,PDEA);
参数:SHORT 12; LONG 26;& MID& 9
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。网站已改版,请使用新地址访问:
MACD ALL ,MT4所有跨周期的 WinSock-NDIS 网络编程 238万源代码下载-
&文件名称: MACD
& & & & &&]
&&所属分类:
&&开发工具: C++
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:ALLMACD,MT4所有跨周期的MACD-MACD ALLMACD, MT4 all across the cycle
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&MACD.mq4
&输入关键字,在本站238万海量源码库中尽情搜索:

我要回帖

更多关于 macd多周期共振 副图 的文章

 

随机推荐