论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:2668回复:17
草龙
注册时间2004-12-17
[MT4指标]三级zigzag指标
楼主发表于:2013-12-30 19:07只看该作者倒序浏览
1楼 电梯直达
电梯直达
虽然zz指标有一定的未来函数,指标会变 但也要看是如何使用才可 可以多研究下看看 //+------------------------------------------------------------------+ //| 3_Level_ZZ_Semafor.mq4 | //+------------------------------------------------------------------+ #property copyright "asystem2000" #property link "[email protected]" // В основу расчета зигзага взят алгоритм [email protected] // За что ему огромное спасибо #property indicator_chart_window #property indicator_buffers 6 #property indicator_color1 Chocolate #property indicator_color2 Chocolate #property indicator_color3 MediumVioletRed #property indicator_color4 MediumVioletRed #property indicator_color5 Yellow #property indicator_color6 Yellow //---- input parameters extern double Period1=5; extern double Period2=13; extern double Period3=34; extern string Dev_Step_1="1,3"; extern string Dev_Step_2="8,5"; extern string Dev_Step_3="21,12"; extern int Symbol_1_Kod=140; extern int Symbol_2_Kod=141; extern int Symbol_3_Kod=142; //---- buffers double FP_BuferUp; double FP_BuferDn; double NP_BuferUp; double NP_BuferDn; double HP_BuferUp; double HP_BuferDn; int F_Period; int N_Period; int H_Period; int Dev1; int Stp1; int Dev2; int Stp2; int Dev3; int Stp3; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { // --------- Корректируем периоды для построения ЗигЗагов if (Period1>0) F_Period=MathCeil(Period1*Period()); else F_Period=0; if (Period2>0) N_Period=MathCeil(Period2*Period()); else N_Period=0; if (Period3>0) H_Period=MathCeil(Period3*Period()); else H_Period=0; //---- Обрабатываем 1 буфер if (Period1>0) { SetIndexStyle(0,DRAW_ARROW,0,1); SetIndexArrow(0,Symbol_1_Kod); SetIndexBuffer(0,FP_BuferUp); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW,0,1); SetIndexArrow(1,Symbol_1_Kod); SetIndexBuffer(1,FP_BuferDn); SetIndexEmptyValue(1,0.0); } //---- Обрабатываем 2 буфер if (Period2>0) { SetIndexStyle(2,DRAW_ARROW,0,2); SetIndexArrow(2,Symbol_2_Kod); SetIndexBuffer(2,NP_BuferUp); SetIndexEmptyValue(2,0.0); SetIndexStyle(3,DRAW_ARROW,0,2); SetIndexArrow(3,Symbol_2_Kod); SetIndexBuffer(3,NP_BuferDn); SetIndexEmptyValue(3,0.0); } //---- Обрабатываем 3 буфер if (Period3>0) { SetIndexStyle(4,DRAW_ARROW,0,4); SetIndexArrow(4,Symbol_3_Kod); SetIndexBuffer(4,HP_BuferUp); SetIndexEmptyValue(4,0.0); SetIndexStyle(5,DRAW_ARROW,0,4); SetIndexArrow(5,Symbol_3_Kod); SetIndexBuffer(5,HP_BuferDn); SetIndexEmptyValue(5,0.0); } // Обрабатываем значения девиаций и шагов int CDev=0; int CSt=0; int Mass; int C=0; if (IntFromStr(Dev_Step_1,C, Mass)==1) { Stp1=Mass[1]; Dev1=Mass[0]; } if (IntFromStr(Dev_Step_2,C, Mass)==1) { Stp2=Mass[1]; Dev2=Mass[0]; } if (IntFromStr(Dev_Step_3,C, Mass)==1) { Stp3=Mass[1]; Dev3=Mass[0]; } return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if (Period1>0) CountZZ(FP_BuferUp,FP_BuferDn,Period1,Dev1,Stp1); if (Period2>0) CountZZ(NP_BuferUp,NP_BuferDn,Period2,Dev2,Stp2); if (Period3>0) CountZZ(HP_BuferUp,HP_BuferDn,Period3,Dev3,Stp3); return(0); } //+------------------------------------------------------------------+ // дополнительные функции //int Take //+------------------------------------------------------------------+ //| Функц формирования ЗигЗага | //+------------------------------------------------------------------+ int CountZZ( double& ExtMapBuffer, double& ExtMapBuffer2, int ExtDepth, int ExtDeviation, int ExtBackstep ) { int shift, back,lasthighpos,lastlowpos; double val,res; double curlow,curhigh,lasthigh,lastlow; for(shift=Bars-ExtDepth; shift>=0; shift--) { val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)]; if(val==lastlow) val=0.0; else { lastlow=val; if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer[shift+back]; if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0; } } } ExtMapBuffer[shift]=val; //--- high val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)]; if(val==lasthigh) val=0.0; else { lasthigh=val; if((val-High[shift])>(ExtDeviation*Point)) val=0.0; else { for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer2[shift+back]; if((res!=0)&&(res=0; shift--) { curlow=ExtMapBuffer[shift]; curhigh=ExtMapBuffer2[shift]; if((curlow==0)&&(curhigh==0)) continue; //--- if(curhigh!=0) { if(lasthigh>0) { if(lasthigh0) { if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0; else ExtMapBuffer[shift]=0; } //--- if((curlow=0; shift--) { if(shift>=Bars-ExtDepth) ExtMapBuffer[shift]=0.0; else { res=ExtMapBuffer2[shift]; if(res!=0.0) ExtMapBuffer2[shift]=res; } } } int Str2Massive(string VStr, int& M_Count, int& VMass) { int val=StrToInteger( VStr); if (val>0) { M_Count++; int mc=ArrayResize(VMass,M_Count); if (mc==0)return(-1); VMass[M_Count-1]=val; return(1); } else return(0); } int IntFromStr(string ValStr,int& M_Count, int& VMass) { if (StringLen(ValStr)==0) return(-1); string SS=ValStr; int NP=0; string CS; M_Count=0; ArrayResize(VMass,M_Count); while (StringLen(SS)>0) { NP=StringFind(SS,","); if (NP>0) { CS=StringSubstr(SS,0,NP); SS=StringSubstr(SS,NP+1,StringLen(SS)); } else { if (StringLen(SS)>0) { CS=SS; SS=""; } } if (Str2Massive(CS,M_Count,VMass)==0) { return(-2); } } return(1); }3_Level_ZZ_Semafor.jpg3_Level_ZZ_Semafor.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

阅尽天下指标
搬砖开始,始于2014

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
紫竹青荷
注册时间2014-02-02
积极参与奖
发表于:2014-02-03 14:12只看该作者
2楼
看看看看看看看看。。。。
玉中幽灵
注册时间2016-03-10
发表于:2016-04-29 09:14只看该作者
4楼
下载测试一下先
cnfj
注册时间2016-05-10
tkah
注册时间2015-10-08
ccs
注册时间2016-04-15
xilutou
注册时间2016-02-06
发表于:2016-07-21 14:14只看该作者
8楼
222222222222222222222222222222
pensh
注册时间2016-07-24
发表于:2016-08-05 06:46只看该作者
9楼
看看看看
个性签名

韬客社区www.talkfx.co

广告
论坛谏言--外汇交易不应是你投资的全部,交易外汇也不应是你生活的全部
pensh
注册时间2016-07-24
发表于:2016-08-09 09:43只看该作者
10楼
试试用用,不知道好不好,谢谢楼主的分享
绚彩泡沫
注册时间2016-08-14
发表于:2016-08-28 03:15只看该作者
12楼
没有通宝,先mark一下。
fhqvfhptxgt
注册时间2015-04-08
发表于:2016-09-12 08:38只看该作者
13楼
没什么用外。。。
fhqvfhptxgt
注册时间2015-04-08
发表于:2016-09-12 15:27只看该作者
14楼
貌似没什么用处。
个性签名

韬客社区www.talkfx.co

速度激情
注册时间2016-07-19
发表于:2016-09-12 15:30只看该作者
15楼
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
个性签名

韬客社区www.talkfx.co

lipp
注册时间2016-12-13
发表于:2016-12-14 07:42只看该作者
16楼
可以辅助数浪!!用处不大 丢了可惜!!
netstray
注册时间2016-12-14
惺惺相惜
注册时间2017-02-07
Pzxzx
注册时间2017-08-06
发表于:2017-08-08 07:27只看该作者
19楼
灌水赚通宝,谢谢分享

本站免责声明:

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

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

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

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

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

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