论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1252回复:4
草龙
注册时间2004-12-17
[MT4指标]主图显示其他周期k线
楼主发表于:2014-03-03 04:39只看该作者倒序浏览
1楼 电梯直达
电梯直达
主图指标 mt4指标类型:趋势指标 是否能用在mt4手机版上:否 是否含有未来函数:无 #property link "[email protected]" #property copyright "? 2006, mankurt" #property indicator_chart_window //+------------------------------------------------------------------------------------------------+ extern int TimeFrame=240; extern color UpCandle=Blue; extern color DnCandle=Red; extern color DojiColor=Blue; extern int Width=2; extern int CustomCandleTimeShift=2; extern bool BGCandle=false; //+------------------------------------------------------------------------------------------------+ int Nbar,OpenBar,timer,i,timerTF,name,MidBar; double HighPrevBar,LowPrevBar,ClosePrevBar; double OpenNewBar,HighNewBar,LowNewBar,CloseNewBar; double HighCurBar,LowCurBar,CloseCurBar; double priceNewSH,priceNewSL,pricePrevSH,pricePrevSL,priceCurSH,priceCurSL; string nameNewCandle,namePrevCandle; string nameNewShadowH,nameNewShadowL,namePrevShadowH,namePrevShadowL; string NameBar, NameHigh, NameLow; datetime TimeOpenNewBar,TimeCloseNewBar,TimeClosePrevBar; datetime timeNewShadow,timePrevShadow; bool NewBar; //+------------------------------------------------------------------------------------------------+ int init(){ IndicatorShortName("M"+TimeFrame+" 磬 M"+Period()); Nbar=TimeFrame/Period(); timer=Period()*60; timerTF=TimeFrame*60; name=0; TimeOpenNewBar=Time[Bars-1]; OpenNewBar=Open[Bars-1]; NewBar=false; NameBar="Bar M"+TimeFrame+"-"; NameHigh="High M"+TimeFrame+"-"; NameLow="Low M"+TimeFrame+"-"; return(0);} //+------------------------------------------------------------------------------------------------+ int deinit(){ for(int DelOBJ=1; DelOBJ<=name; DelOBJ++){ ObjectDelete(NameBar+DelOBJ); ObjectDelete(NameHigh+DelOBJ); ObjectDelete(NameLow+DelOBJ);} Comment(""); return(0);} //+------------------------------------------------------------------------------------------------+ int start(){ if(TimeFrame>1440) {Comment("\n"," TimeFrame more than D1 is not supporting!!!");return(0);} if(Period()>240) {Comment("\n"," Period more than H4 is not supporting!!!");return(0);} if(TimeFrame<=Period()||MathMod(TimeFrame,Period())!=0) {Comment("\n"," TimeFrame should be more or divisible by M",Period());return(0);} i=Bars-IndicatorCounted(); while(i>0){i--; while(i>=0) if(Time==TimeOpenNewBar||BarNew(i,TimeFrame)==false)i--; else{NewBar=true; name++; break;} if(i<0) i=0; if(NewBar==true){ //+-----------------------------------------Previos Bar--------------------------------------------+ OpenBar=iBarShift(0,0,TimeOpenNewBar,false); TimeClosePrevBar=Time[i+1]; ClosePrevBar=Close[i+1]; HighPrevBar=High[Highest(0,0,MODE_HIGH,OpenBar-i,i+1)]; LowPrevBar=Low[Lowest(0,0,MODE_LOW,OpenBar-i,i+1)]; namePrevCandle=NameBar+(name-1); MidBar=OpenBar-MathRound((OpenBar-i)/2); timePrevShadow=Time[MidBar]; pricePrevSH=PriceShadow(OpenNewBar,ClosePrevBar,0); pricePrevSL=PriceShadow(OpenNewBar,ClosePrevBar,1); namePrevShadowH=NameHigh+(name-1); namePrevShadowL=NameLow+(name-1); //+----------------------------------Modifi Previos Bar & Shadow-----------------------------------+ if(ObjectFind(namePrevCandle)==0){ ObjectMove(namePrevCandle,1,TimeClosePrevBar,ClosePrevBar); PropBar(OpenNewBar,ClosePrevBar,namePrevCandle); if(OpenBar==i+1) ObjectSet(namePrevCandle,OBJPROP_WIDTH, Width*3);} if(ObjectFind(namePrevShadowH)==0){ if(pricePrevSH==HighPrevBar) ObjectDelete(namePrevShadowH); else{ObjectMove(namePrevShadowH,0,timePrevShadow,pricePrevSH); ObjectMove(namePrevShadowH,1,timePrevShadow,HighPrevBar); ColorShadow(OpenNewBar,ClosePrevBar,namePrevShadowH); ObjectSetText(namePrevShadowH,"High="+DoubleToStr(HighPrevBar,Digits),7,"Tahoma");}} if(ObjectFind(namePrevShadowL)==0){ if(pricePrevSL==LowPrevBar) ObjectDelete(namePrevShadowL); else{ObjectMove(namePrevShadowL,0,timePrevShadow,pricePrevSL); ObjectMove(namePrevShadowL,1,timePrevShadow,LowPrevBar); ColorShadow(OpenNewBar,ClosePrevBar,namePrevShadowL); ObjectSetText(namePrevShadowL,"Low="+DoubleToStr(LowPrevBar,Digits),7,"Tahoma");}} //+-------------------------------------------New Bar----------------------------------------------+ OpenNewBar=Open; TimeOpenNewBar=Time; HighNewBar=High; LowNewBar=Low; CloseNewBar=Close; TimeCloseNewBar=Time+timerTF-timer; nameNewCandle=NameBar+name; timeNewShadow=Time+MathRound(Nbar/2)*timer; priceNewSH=PriceShadow(OpenNewBar,CloseNewBar,0); priceNewSL=PriceShadow(OpenNewBar,CloseNewBar,1); nameNewShadowH=NameHigh+name; nameNewShadowL=NameLow+name; NewBar=false;} else{ //+------------------------------------------Current Bar-------------------------------------------+ OpenBar=iBarShift(0,0,TimeOpenNewBar,false); CloseCurBar=Close; HighCurBar=High[Highest(0,0,MODE_HIGH,OpenBar+1,i)]; LowCurBar=Low[Lowest(0,0,MODE_LOW,OpenBar+1,i)]; priceCurSH=PriceShadow(OpenNewBar,CloseCurBar,0); priceCurSL=PriceShadow(OpenNewBar,CloseCurBar,1);} //+------------------------------Create New Object & Modifi Current--------------------------------+ if(ObjectFind(nameNewCandle)!=0){ ObjectCreate(nameNewCandle,OBJ_RECTANGLE,0,TimeOpenNewBar,OpenNewBar,TimeCloseNewBar,CloseNewBar); ObjectSet(nameNewCandle,OBJPROP_STYLE, STYLE_SOLID); PropBar(OpenNewBar,CloseNewBar,nameNewCandle);} else{ ObjectMove(nameNewCandle,1,TimeCloseNewBar,CloseCurBar); PropBar(OpenNewBar,CloseCurBar,nameNewCandle);} if(ObjectFind(nameNewShadowH)!=0){ ObjectCreate(nameNewShadowH,OBJ_TREND,0,timeNewShadow,priceNewSH,timeNewShadow,HighNewBar); ObjectSet(nameNewShadowH,OBJPROP_STYLE, STYLE_SOLID); ObjectSet(nameNewShadowH,OBJPROP_WIDTH, Width); ObjectSet(nameNewShadowH,OBJPROP_RAY, false); ColorShadow(OpenNewBar,CloseNewBar,nameNewShadowH);} else{ ObjectMove(nameNewShadowH,0,timeNewShadow,priceCurSH); ObjectMove(nameNewShadowH,1,timeNewShadow,HighCurBar); ColorShadow(OpenNewBar,CloseCurBar,nameNewShadowH);} if(ObjectFind(nameNewShadowL)!=0){ ObjectCreate(nameNewShadowL,OBJ_TREND,0,timeNewShadow,priceNewSL,timeNewShadow,LowNewBar); ObjectSet(nameNewShadowL,OBJPROP_STYLE, STYLE_SOLID); ObjectSet(nameNewShadowL,OBJPROP_WIDTH, Width); ObjectSet(nameNewShadowL,OBJPROP_RAY, false); ColorShadow(OpenNewBar,CloseNewBar,nameNewShadowL);} else{ ObjectMove(nameNewShadowL,0,timeNewShadow,priceCurSL); ObjectMove(nameNewShadowL,1,timeNewShadow,LowCurBar); ColorShadow(OpenNewBar,CloseCurBar,nameNewShadowL);}} //+-------------------------------------Comment OHLC-----------------------------------------------+ Comment(Symbol(),",M",TimeFrame," O=",OpenNewBar,", H=",HighCurBar, ", L=",LowCurBar,", C=",CloseCurBar,"\n"); return(0);} //+---------------------Main Function "New Bar or Old Bar"-----------------------------------------+ bool BarNew (int j, int tmf) {int t0=1440*(TimeDayOfWeek(Time[j+CustomCandleTimeShift])-1)+60*TimeHour(Time[j+CustomCandleTimeShift])+TimeMinute(Time[j+CustomCandleTimeShift]), t1=1440*(TimeDayOfWeek(Time[j+1+CustomCandleTimeShift])-1)+60*TimeHour(Time[j+1+CustomCandleTimeShift])+TimeMinute(Time[j+1+CustomCandleTimeShift]); if(MathMod(t0,tmf)-MathMod(t1,tmf)==t0-t1)return(false); else return(true);} //+---------------------Function "Price Shadow"----------------------------------------------------+ double PriceShadow (double OpnB, double ClsB, int swt) {double prH, prL; if(OpnBClsB){prH=OpnB; prL=ClsB;} if(OpnB==ClsB){prH=ClsB; prL=ClsB;} switch(swt){case 0:return(prH);break; case 1:return(prL);break;}} //+---------------------Function "Properti Bars"---------------------------------------------------+ void PropBar (double OpPr, double ClPr, string NmOBJ) {string Cl=" Close="+DoubleToStr(ClPr,Digits); string Op=" Open="+DoubleToStr(OpPr,Digits); if(OpPr==ClPr){ObjectSet(NmOBJ,OBJPROP_BACK, false); ObjectSet(NmOBJ,OBJPROP_COLOR,DojiColor); ObjectSetText(NmOBJ,"Doji "+Op+Cl,7,"Tahoma");} if(OpPrClPr){ObjectSet(NmOBJ,OBJPROP_COLOR,DnCandle); ObjectSet(NmOBJ,OBJPROP_BACK, BGCandle); ObjectSetText(NmOBJ,"DnBar "+Op+Cl,7,"Tahoma");} ObjectSet(NmOBJ,OBJPROP_WIDTH, Width);} //+----------------------Function "Color Shadow"---------------------------------------------------+ void ColorShadow (double OP, double CP, string NOBJ) {if(OP==CP)ObjectSet(NOBJ,OBJPROP_COLOR,DojiColor); if(OPCP)ObjectSet(NOBJ,OBJPROP_COLOR,DnCandle);} //+----------------------------------------------END-----------------------------------------------+CustomCandle6.jpgCustomCandle6.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

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

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
netstray
注册时间2016-12-14
发表于:2016-12-15 11:50只看该作者
2楼
缺钱,灌水赚通宝,谢谢分享!!
LBJ
注册时间2015-10-21
发表于:2016-12-21 05:50只看该作者
3楼
好,收下了
黄邺六年
注册时间2016-11-15
huaiyang
注册时间2012-04-12

本站免责声明:

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

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

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

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

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

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