论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:2562回复:4
dyzya
注册时间2007-02-03
[MT4指标]请帮忙改成有报警信号的MACD背离指标
楼主发表于:2008-08-18 02:27只看该作者倒序浏览
1楼 电梯直达
电梯直达
//+------------------------------------------------------------------+ //| MACD_beili.mq4 Ver. 1.0 | //| MACD背离指标(按最高最低价计算)。 | //| Henry Zhao | //| [email protected] | //| Feb. 19, 2007 | //+------------------------------------------------------------------+ #property copyright "Henry Zhao" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Cyan #property indicator_color2 Magenta #property indicator_color3 Black extern int method = 1; extern int bars_compared = 15; // 在多少个bar中寻找第二个峰值 extern int number_of_bars = 1000; datetime alerttime=0; //---- buffers double ExtMapBuffer1; double ExtMapBuffer2; double ExtMapBuffer3; //+------------------------------------------------------------------+ //| 指标初始化代码 | //+------------------------------------------------------------------+ int init(){ SetIndexStyle(0,DRAW_ARROW); // RSI背离信号用箭头表示 SetIndexBuffer(0,ExtMapBuffer1); SetIndexArrow(0,233); SetIndexStyle(1,DRAW_ARROW); SetIndexBuffer(1,ExtMapBuffer2); SetIndexArrow(1,234); SetIndexStyle(2,DRAW_ARROW); // 阶段高/低点用黑色点表示 SetIndexBuffer(2,ExtMapBuffer3); SetIndexArrow(2,159); return(0); } //+------------------------------------------------------------------+ //| 指标反初始化代码 | //+------------------------------------------------------------------+ int deinit(){ return(0); } //+------------------------------------------------------------------+ //| 计算显示指标的条件 | //+------------------------------------------------------------------+ int start(){ int i, m, shift, bar1, bar2; double pos_adjust, low1, low2, high1, high2, v1, v2; pos_adjust = 100*Point; // 根据不同的时间框架确定信号显示的位置。主要是为了美观 if(Period()==1) pos_adjust = 1*Point; if(Period()==5) pos_adjust = 3*Point; if(Period()==15) pos_adjust = 8*Point; if(Period()==30) pos_adjust = 10*Point; if(Period()==60) pos_adjust = 13*Point; if(Period()==240) pos_adjust = 20*Point; if(Period()==1440) pos_adjust = 50*Point; shift=Bars; if( shift>number_of_bars ) shift = number_of_bars; for( i=shift-2*bars_compared; i>=0; i--){ low1 = 0; if( Low[i+2] v2){ ExtMapBuffer1 = Low - pos_adjust; ExtMapBuffer3[bar1] = Low[bar1] - pos_adjust*0.3; ExtMapBuffer3[bar2] = Low[bar2] - pos_adjust*0.3; } } high1 = 0; if( High[i+2]>High[i+1] && High[i+2]>High[i+3]){ bar1=i+2; high1 = High[bar1]; } // 最高点必须是前三条已完成bar的中间那一条 high2 = 0; if(method==1){ bar2 = iHighest(NULL, 0, MODE_HIGH, bars_compared, i+4); if( bar2 != i+4 && bar2 != i+4 +bars_compared-1 ) high2 = High[bar2]; } if(method==2){ bar2 = iHighest(NULL, 0, MODE_HIGH, bars_compared, i+bars_compared); if( bar2 != i+bars_compared && bar2 != i + 2*bars_compared-1 ) high2 = High[bar2]; } if( high1!=0 && high2!=0 && high1>high2){ v1 = iMACD( NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, bar1); v2 = iMACD( NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, bar2); if( v1 < v2){ ExtMapBuffer2 = High + pos_adjust; ExtMapBuffer3[bar1] = High[bar1] + pos_adjust*0.3; ExtMapBuffer3[bar2] = High[bar2] + pos_adjust*0.3; } } } // end of for(i) return(0); } //+------------------------------------------------------------------+
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
make9031
注册时间2005-07-19
发表于:2008-09-26 12:05只看该作者
2楼
你这个语句怎么有错误啊????
goodday
注册时间2016-12-06
发表于:2016-12-07 08:18只看该作者
3楼
感谢分享
goodday
注册时间2016-12-06
hackbos
注册时间2017-06-15

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]