论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:991回复:0
草龙
注册时间2004-12-17
[MT4指标]demark指标
楼主发表于:2014-03-05 08:53只看该作者倒序浏览
1楼 电梯直达
电梯直达
主图指标 mt4指标类型:趋势指标 是否能用在mt4手机版上:否 是否含有未来函数:无 [list=1] [*] [/list]//------------------------------------------------------------------/ // 软滂赅蝾?-耦忮蝽桕, 铖眍忄睇? 磬 蝈铕梃 腻爨痍? ? 祛桁? 漕镱腠屙??扈 // 奏耱? 桎彖 忡?蜞 桤 桧滂赅蝾疣 demark指标3-1.mq4 [Kara   //------------------------------------------------------------------/ #property copyright "GreenDog" #property link "[email protected]" // v2.3.1 #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue extern int showBars=200; // 羼腓 = 0, 蝾 蝾麝? 溴爨痍? 铗钺疣驵弪?? 潆? 怦邈? 沭圄桕? extern int LevDP=3; // 箴钼屙? 蝾麇? 溴爨痍?; 2 = 鲥眚疣朦睇? 徉? 狍溴? 恹 (龛驽) 2? 徉痤? 耠邂? ? 2? 徉痤? 耧疣忄 extern int qSteps=1; // 觐腓麇耱忸 铗钺疣驵屐   泐?, 礤 犷脲? 3? extern int BackStep=0; // 觐腓麇耱忸  泐? 磬玎? extern int startBar=0; // 羼腓 0, 蝾 疱觐戾礓圉梃 潆? 蝈牦 泐 徉疣, 羼腓 1 - 蝾 潆? 镳邃镱豚汔屐钽? 耠邃簋 泐 徉疣 extern bool TrendLine=true; // false = 腓龛? 蝠屙溧 礤 狍溴? extern bool HorizontLine=false; // true = 蝾 狍潴? 镳铕桉钼囗? 箴钼龛 镳钺?? extern bool ChannelLine=true; // true = 耱痤栩? 镟疣脲朦眍 腓龛?? 蝠屙溧 赅磬臌 extern bool TakeLines=true; // true = 蝾 痂耋屐 箴钼龛 蝈殛? extern int Trend=0; // 1 = 蝾朦觐 潆? UpTrendLines, -1 = 蝾朦觐 潆? DownTrendLines, 0 = 潆? 怦艴 TrendLines double Buf1; double Buf2; string Col[6]={"署囫磬?","谚???","蓄珙忄?","妙塍徉?","暑痂黜邂??","燕豚蝽??"}; int ColNum[6]={Red,DarkBlue,Coral,DodgerBlue,SaddleBrown,MediumSeaGreen}; int qBars; double qTime=0; // 镥疱戾眄  潆? 腓赈桎圉梃 汶 钼 镳? 玎沭箸赍 int init() { qBars=Bars; qSteps=MathMin(3,qSteps); int code=161; string Rem="DemarkLines ? GameOver"; IndicatorShortName(Rem); SetIndexStyle(0,DRAW_ARROW); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(0,code); SetIndexArrow(1,code); SetIndexBuffer(0,Buf1); SetIndexBuffer(1,Buf2); SetIndexEmptyValue(0,0.0); SetIndexEmptyValue(1,0.0); SetIndexLabel(0,Rem); SetIndexLabel(1,Rem); return(0); } int deinit() { Comment(""); ArrayInitialize(Buf1,0.0); ArrayInitialize(Buf2,0.0); for(int i=1;i<=LevDP;i++){ ObjectDelete("HA_"+i);ObjectDelete("LA_"+i); ObjectDelete("HL_"+i);ObjectDelete("LL_"+i); ObjectDelete("HHL_"+i);ObjectDelete("HLL_"+i); ObjectDelete("HCL_"+i);ObjectDelete("LCL_"+i); for(int j=0;j<4;j++) {ObjectDelete("HTL_"+i+j);ObjectDelete("LTL_"+i+j);} } } int start(){ if (qBars!=Bars){ deinit(); Comment("Demark, 忮瘃?? ? GameOver\n项漕驿栩?, 桎弪 玎沭箸赅 徉痤?..."); Sleep(1000); qBars=Bars; qTime=0; return(0); } if (qTime==Time[0]) return(0); qTime=Time[0]; // 玎矬耜噱鲟 蝾赅 磬 1? 蜩赍 if (showBars==0) showBars=Bars-LevDP; // 玎镱腠桦? ? 铗钺疣玷腓 蝾麝? 溴爨痍? for (int cnt=showBars;cnt>LevDP;cnt--){ Buf1[cnt]=DemHigh(cnt,LevDP); Buf2[cnt]=DemLow(cnt,LevDP); } string Comm; Comm="髓龛? 蝠屙溧["+On(TrendLine)+"]; 枢磬? ["+On(ChannelLine)+ "]; 羽钼屙? 镳钺?? ["+On(HorizontLine)+"]; 皱腓 ["+On(TakeLines)+"]\n"; for(cnt=1;cnt<=qSteps;cnt++) Comm=Comm+(TDMain(cnt)); Comm=Comm+"棗棗 ? GameOver 棗棗"; Comment(Comm); return(0); } string TDMain(int Step){ int H1,H2,L1,L2,qExt,i,col; double tmp,qTL,qLevel,HT[4],LT[4]; bool isHitch; string Comm="粭粭? 剜? "+Step+" 桤 "+qSteps+" (BackStep "+BackStep+")\n",Text,Rem,qp; // 潆? DownTrendLines if (Trend<=0){ Comm=Comm+"? "+Col[Step*2-2]+" DownTrendLine "; col=ColNum[Step*2-2]; H1=GetTD(Step+BackStep,Buf1); H2=GetNextHighTD(H1); qTL=(High[H2]-High[H1])/(H2-H1); qExt=Lowest(NULL,0,MODE_LOW,H2-H1-1,H1+1); // 腩赅朦睇? 扈龛祗? 戾驿? 蝾麝囔? qLevel=High[H2]-qTL*(H2); if (Step+BackStep==1) qLevel=qLevel-qTL*startBar; if (H1<0 || H2<0) Comm=Comm+"磬 沭圄桕? 礤漕耱囹铟眍 蝾麇? 潆? 镱耱痤屙??\n"; else { Comm=Comm+"["+DoubleToStr(High[H2],Digits)+"?"+DoubleToStr(High[H1],Digits)+"]"; Comm=Comm+"; Level "+DoubleToStr(qLevel,Digits); if (Step+BackStep==1) { if (startBar>0) Comm=Comm+"; Future Bar "+UpHitch(-1,qLevel); else Comm=Comm+"; Last Bar "+UpHitch(startBar,qLevel); } Comm=Comm+"\n"; // 理嚯桤 - 猁? 腓 镳钺铋 蝠屙漕忸? 腓龛? i=H1;isHitch=false;Text=""; while(i>0 && isHitch==false){ tmp=High[H2]-qTL*(H2-i); Rem="HA_"+Step; if (High>tmp){ qp=UpHitch(i,tmp); if (qp!=""){ isHitch=true; Text=Text+"锐?. (箴 "+DoubleToStr(tmp,Digits)+") "+qp; ObjectCreate(Rem,OBJ_ARROW,0,Time,Low-Point); ObjectSet(Rem,OBJPROP_COLOR,col); ObjectSet(Rem,OBJPROP_ARROWCODE,241); while(i>0){ // 镳钺铋 铗戾礤?, 羼腓 镱耠? 镳钺?? 猁? 眍恹? 腩? 桦? 玎牮 桢 龛驽 i--; if (Low=0){ Comm=Comm+"? "+Col[Step*2-1]+" UpTrendLine "; col=ColNum[Step*2-1]; L1=GetTD(Step+BackStep,Buf2); L2=GetNextLowTD(L1); qTL=(Low[L1]-Low[L2])/(L2-L1); qExt=Highest(NULL,0,MODE_HIGH,L2-L1-1,L1+1); // 腩赅朦睇? 扈龛祗? 戾驿? 蝾麝囔? qLevel=Low[L2]+qTL*L2; if (Step+BackStep==1) qLevel=qLevel+qTL*startBar; if (L1<0 || L2<0) Comm=Comm+"磬 沭圄桕? 礤漕耱囹铟眍 蝾麇? 潆? 镱耱痤屙??\n"; else { Comm=Comm+"["+DoubleToStr(Low[L2],Digits)+"?"+DoubleToStr(Low[L1],Digits)+"]"; Comm=Comm+"; Level "+DoubleToStr(qLevel,Digits); if (Step+BackStep==1) { if (startBar>0) Comm=Comm+"; Future Bar "+DownHitch(-1,qLevel); else Comm=Comm+"; Last Bar "+DownHitch(startBar,qLevel); } Comm=Comm+"\n"; // 理嚯桤 - 猁? 腓 镳钺铋 蝠屙漕忸? 腓龛? i=L1;isHitch=false;Text=""; while(i>0 && isHitch==false){ tmp=Low[L2]+qTL*(L2-i); Rem="LA_"+Step; if (Low0){ // 镳钺铋 铗戾礤?, 羼腓 镱耠? 镳钺?? 猁? 眍恹? 踵? 桦? 玎牮 桢 恹  i--; if (High>High[qExt] || Close>High[qExt]-(High[qExt]-Low[L1])*0.236){ Text=Text+" (铗戾礤?)"; ObjectSet(Rem,OBJPROP_PRICE1,Low-Point); ObjectSet(Rem,OBJPROP_TIME1,Time); ObjectSet(Rem,OBJPROP_ARROWCODE,251); break; } } } else { Text=Text+"祟?. (箴 "+DoubleToStr(tmp,Digits)+"); "; ObjectDelete(Rem);} } i--; } if (Text=="") Text="橡钺?? 礤 猁腩."; Comm=Comm+Text+"\n"; // end analysis Rem="LL_"+Step; // 耦狁眍 腓龛? 蝠屙溧 if (TrendLine==1) { ObjectCreate(Rem,OBJ_TREND,0,Time[L2],Low[L2],Time[L1],Low[L1]); ObjectSet(Rem,OBJPROP_COLOR,col); ObjectSet(Rem,OBJPROP_WIDTH,3-MathMin(2,Step)); } Rem="HLL_"+Step; // 箴钼屙? 镳钺?? 腓龛? 蝠屙溧 if (HorizontLine && (Step+BackStep)==1){ ObjectCreate(Rem,OBJ_HLINE,0,0,qLevel); ObjectSet(Rem,OBJPROP_COLOR,col); } Rem="LCL_"+Step; // 腓龛? 赅磬豚 if (ChannelLine){ ObjectCreate(Rem,OBJ_TREND,0,Time[qExt],High[qExt],Time[0],High[qExt]+qTL*qExt); ObjectSet(Rem,OBJPROP_COLOR,col); } Rem="LTL_"+Step; if (TakeLines){ // 腓龛? 鲥脲? LT[3]=qLevel-High[qExt]+(High[qExt]-Low[L1])*1.618; // 漕? 箴钼屙? LT[0]=High[qExt]-qTL*(L2-qExt)-Low[L2]; LT[1]=Close[qExt]-qTL*(L2-qExt)-Low[L2]; qExt=Highest(NULL,0,MODE_CLOSE,L2-L1,L1); LT[2]=Close[qExt]-qTL*(L2-qExt)-Low[L2]; Comm=Comm+"皱腓: "; for(i=0;i<4;i++){ qTL=NormalizeDouble(qLevel-LT,Digits); ObjectCreate(Rem+i,OBJ_HLINE,0,0,qTL,0,0); ObjectSet(Rem+i,OBJPROP_STYLE,STYLE_DOT); ObjectSet(Rem+i,OBJPROP_COLOR,col); Comm=Comm+DoubleToStr(qTL,Digits)+" ("+DoubleToStr(LT/Point,0)+"?.) "; } Comm=Comm+"\n"; } } } return(Comm); } int GetTD(int P, double Arr){ int i=0,j=0; while(jshowBars-2)return(-1);} j++;} return (i); } int GetNextHighTD(int P){ int i=P+1; while(Buf1<=High[P]){i++;if(i>showBars-2)return(-1);} return (i); } int GetNextLowTD(int P){ int i=P+1; while(Buf2>=Low[P] || Buf2==0){i++;if(i>showBars-2)return(-1);} return (i); } // 疱牦瘃桠磬? 镳钼屦赅 磬 篑腩忤? 腻爨痍? (踵?), 忸玮疣 弪 珥圜屙桢 桦? 0 double DemHigh(int cnt, int sh){ if (High[cnt]>=High[cnt+sh] && High[cnt]>High[cnt-sh]) { if (sh>1) return(DemHigh(cnt,sh-1)); else return(High[cnt]); } else return(0); } // 疱牦瘃桠磬? 镳钼屦赅 磬 篑腩忤? 腻爨痍? (腩?), 忸玮疣 弪 珥圜屙桢 桦? 0 double DemLow(int cnt, int sh){ if (Low[cnt]<=Low[cnt+sh] && Low[cnt]1) return(DemLow(cnt,sh-1)); else return(Low[cnt]); } else return(0); } string On(bool On){ if (On) return("玛?"); else return("蔓觌"); } string UpHitch(int P, double qLevel){ // 铒疱溴脲龛? 赈嚯梏桕囹铕钼 镳铕 ? 忖屦? string Comm=""; if (Close[P+1]=0 && Open[P]>qLevel) Comm=Comm+" 2"; if (2*Close[P+1]-Low[P+1]Close[P+2]) Comm=Comm+" 1"; if (P>=0 && Open[P]qLevel) Comm=Comm+" 3"; if (Comm!="") Comm="[ 殊.橡:"+Comm+" ]"; return(Comm); }Demark.jpgDemark.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

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

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告

本站免责声明:

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

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

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

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

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

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