[MT4指标]MT3 中指标MACD两条线的解决办法
源码
/*[[
Name := MACD
Author := Copyright ?2003, MetaQuotes Software Corp.;
Separate Window := Yes
First Color := Blue
First Draw Type := Line
Use Second Data := Yes
Second Color := Red
Second Draw Type := Line
]]*/
Inputs : FastMAPeriod(12), SlowMAPeriod(26), SignalMAPeriod(9);
Variables : shift(0), cnt(0), loopbegin(0), first(True), prevbars(0);
Variables : alpha(0), alpha_1(0), FastMA(0), SlowMA(0), macd(0);
SetLoopCount(0);
// initial checkings
If FastMAPeriod < 1 Or SlowMAPeriod < 1 Or SignalMAPeriod < 1 Then Exit;
If FastMAPeriod >= SlowMAPeriod Then Exit;
// check for additional bars loading or total reloading
If Bars < prevbars Or Bars-prevbars>1 Then first = True;
prevbars = Bars;
// loopbegin prevent couning of counted bars exclude current
If first Then Begin
loopbegin = Bars-SlowMAPeriod-1;
If loopbegin < 0 Then Exit; // not enough bars for counting
alpha = 2.0 / (SignalMAPeriod + 1.0);
alpha_1 = 1.0 - alpha;
first = False; // this block is to be evaluated once only
End;
// convergence-divergence
loopbegin++; // current bar is to be recounted too
For shift = loopbegin Downto 0 Begin
FastMA = iMAEx(FastMAPeriod,MODE_EMA,0,PRICE_CLOSE,shift);
SlowMA = iMAEx(SlowMAPeriod,MODE_EMA,0,PRICE_CLOSE,shift);
macd = FastMA-SlowMA;
SetIndexValue(shift,macd);
SetIndexValue2(shift,alpha*macd + alpha_1*GetIndexValue2(shift+1)); // ema of signal line
loopbegin--; // prevent to previous bars recounting
End;
[ 本帖最后由 老正 于 2005-7-13 16:31 编辑 ]macd.gif
发表于:2005-05-07 06:18只看该作者
2楼
好,学习一下,
MT的编程好烦。
前世的五百次回眸,换来今生与你的擦肩而过
发表于:2005-05-07 06:40只看该作者
3楼
mt4.0搞2根线好复杂,依照说明下载那个软件晕呼呼地搞了半天,结果...唉:L:L看来没有一步步图示是搞不起来了:(:(
韬客社区www.talkfx.co
4楼
Originally posted by wjhi at 2005-5-7 14:40 mt4.0搞2根线好复杂,依照说明下载那个软件晕呼呼地搞了半天,结果...唉:L:L看来没有一步步图示是搞不起来了:(:(
发表于:2005-05-07 06:43只看该作者
5楼
还真不错啊,,,干脆把MACD中间的篱笆也加上去,,,(那二根线之差)。。。。
韬客外汇论坛TALKFOREX.COM
发表于:2005-05-07 06:50只看该作者
6楼
Originally posted by FireFox at 2005-5-7 14:42 //+------------------------------------------------------------------+ //| mc.mq4 | //| Copyright ?2005, MetaQ ...
发表于:2005-05-07 07:01只看该作者
7楼
相同外汇数据下MT和飞狐的MACD指标数值是不同的,
请问如何能让飞狐的MACD和MT的数值一致?
韬客社区www.talkfx.co
发表于:2005-05-07 07:12只看该作者
8楼
Originally posted by FireFox at 2005-5-7 13:47 源码 /*[[ Name := MACD Author := Copyright ?2003, MetaQuotes Software Corp.; Separate Window := Yes First Color := Blue First Draw Type := Line Use Second Data := Yes Second Colo ...
发表于:2005-05-07 08:11只看该作者
9楼
对于MT3有一种更简单的方法:
1.进入"技术指标"Ctrl+I
2.在"可选"找到最后一项的"Custom Indicator"进入
3.找到"Custom Indicator Program"的下拉框,选种MACD
4.同时将上面的"Primary array"中的"Draw"的"Histogram"改成"Line"
即可,
韬客社区www.talkfx.co
发表于:2005-05-07 08:49只看该作者
10楼
Originally posted by fx007 at 2005-5-7 16:11 对于MT3有一种更简单的方法: 1.进入"技术指标"Ctrl+I 2.在"可选"找到最后一项的"Custom Indicator"进入 3.找到"Custom Indicator Program"的下拉框,选种MACD 4.同时 ...
韬客社区www.talkfx.co
发表于:2005-05-07 09:12只看该作者
11楼
Originally posted by fx007 at 2005-5-7 16:11 对于MT3有一种更简单的方法: 1.进入"技术指标"Ctrl+I 2.在"可选"找到最后一项的"Custom Indicator"进入 3.找到"Custom Indicator Program"的下拉框,选种MACD 4.同时 ...
富贵自有天定,君子不与命争。
发表于:2005-05-07 09:15只看该作者
12楼
Originally posted by 文欣 at 2005-5-7 14:43 还真不错啊,,,干脆把MACD中间的篱笆也加上去,,,(那二根线之差)。。。。
富贵自有天定,君子不与命争。
发表于:2005-05-07 09:21只看该作者
13楼
Originally posted by fx007 at 2005-5-7 16:11 对于MT3有一种更简单的方法: 1.进入"技术指标"Ctrl+I 2.在"可选"找到最后一项的"Custom Indicator"进入 3.找到"Custom Indicator Program"的下拉框,选种MACD 4.同时 ...
发表于:2005-05-07 10:24只看该作者
15楼
Originally posted by 如来 at 2005-5-7 16:49 抱歉,在第3步的时候没有MACD,请再提示一次!
韬客社区www.talkfx.co
发表于:2005-05-07 10:26只看该作者
16楼
Originally posted by 350127 at 2005-5-7 17:21 我改了想恢复成原来的(因没有柱线)却成这样该怎么办?
韬客社区www.talkfx.co
发表于:2005-05-07 12:45只看该作者
18楼
Originally posted by fx007 at 2005-5-7 16:11 对于MT3有一种更简单的方法: 1.进入"技术指标"Ctrl+I 2.在"可选"找到最后一项的"Custom Indicator"进入 3.找到"Custom Indicator Program"的下拉框,选种MACD 4.同时 ...
19楼
Originally posted by 文欣 at 2005-5-7 14:43 还真不错啊,,,干脆把MACD中间的篱笆也加上去,,,(那二根线之差)。。。。
发表于:2005-05-07 17:22只看该作者
20楼
Originally posted by fx007 at 2005-5-7 18:24 我指的是MT3.83版,应该有MACD呀,你再看看
韬客社区www.talkfx.co