论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:894回复:0
草龙
注册时间2004-12-17
[英文书籍]Doji Reader指标
楼主发表于:2014-03-07 09:47只看该作者倒序浏览
1楼 电梯直达
电梯直达
主图指标 mt4指标类型:趋势指标 是否能用在mt4手机版上:否 是否含有未来函数:无 //+------------------------------------------------------------------+ //| Doji Reader 2.mq4 | //| Copyright ? 2009, MQL PROGRAMMING | //| mailto:[email protected] | //+------------------------------------------------------------------+ #property copyright "Copyright ? 2009, MQL PROGRAMMING" #property link "mailto:[email protected]" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Red #property indicator_width1 2 extern bool AnAlert=true; //false to disable alert extern bool ShowCandleBox=true; //false to hide the candle box extern color BoxColor=SkyBlue; //add your fav color extern bool ShowStar=true; //false to hide star extern color StarColor=NavajoWhite; //add your fav color extern int StarWidth=2; //add width size of star extern bool ShowText=true; //false to hide text extern color FontColor=White; //add your fav color extern int FontSize=8; //add font size extern bool VerticalText=false; //add true to verticalize text extern bool MyBrokerHas5Digits=false; //add true if use 5 decimals //---- input parameters for regular doji extern bool FindRegularDoji=true; //false to disable extern int MinLengthOfUpTail=3; //candle with upper tail equal or more than this will show up extern int MinLengthOfLoTail=3; //candle with lower tail equal or more than this will show up extern double MaxLengthOfBody=1; //candle with body less or equal with this will show up //---- input parameters for dragonfly doji extern bool FindDragonflyDoji=true; //false to disable extern int MaxLengthOfUpTail1=0; //candle with upper tail equal or more than this will show up extern int MinLengthOfLoTail1=3; //candle with lower tail equal or more than this will show up extern double MaxLengthOfBody1=1; //candle with body less or equal with this will show up //---- input parameters for gravestone doji extern bool FindGravestoneDoji=true; //false to disable extern int MinLengthOfUpTail2=3; //candle with upper tail equal or more than this will show up extern int MaxLengthOfLoTail2=0; //candle with lower tail equal or more than this will show up extern double MaxLengthOfBody2=1; //candle with body less or equal with this will show up //---- initialization for variables int counter1=1, counter2=1, counter3=1; string name1="Doji", name2="Dragonfly", name3="Gravestone"; bool sound1=false, sound2=false, sound3=false; double H=0.0, L=0.0, C=0.0, O=0.0, pt=0, pt1=0, dis=0; datetime T=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { ObjectCreate(name1, OBJ_LABEL, 0, 0, 0); ObjectSet(name1, OBJPROP_XDISTANCE, 15); ObjectSet(name1, OBJPROP_YDISTANCE, 21); ObjectSetText(name1, "Doji Reader 2, MQL PROGRAMMING", 8, "Tahoma", Gold); if(Digits<4) pt1=0.01; else pt1=0.0001; if(MyBrokerHas5Digits) { if(Digits<4) pt=0.001; else pt=0.00001; switch (Period()) { case 1: dis=10*pt1; break; case 5: dis=15*pt1; break; case 15: dis=25*pt1; break; case 30: dis=35*pt1; break; case 60: dis=45*pt1; break; case 240: dis=75*pt1; break; case 1440: dis=175*pt1; break; case 10080: dis=230*pt1; break; case 43200: dis=350*pt1; break; } } else { pt=pt1; switch (Period()) { case 1: dis=20*pt; break; case 5: dis=30*pt; break; case 15: dis=50*pt; break; case 30: dis=75*pt; break; case 60: dis=90*pt; break; case 240: dis=150*pt; break; case 1440: dis=350*pt; break; case 10080: dis=460*pt; break; case 43200: dis=700*pt; break; } } return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- delete all object ObjectsDeleteAll(0, OBJ_LABEL); ObjectsDeleteAll(0, OBJ_TREND); ObjectsDeleteAll(0, OBJ_RECTANGLE); ObjectsDeleteAll(0, OBJ_ARROW); ObjectsDeleteAll(0, OBJ_TEXT); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i, counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); for(i=Bars-1; i>0; i--) { H=High; L=Low; C=Close; O=Open; T=Time; if(FindRegularDoji) { if(H-C>=MinLengthOfUpTail*pt && C-L>=MinLengthOfLoTail*pt && MathAbs(C-O)<=MaxLengthOfBody*pt) { sound1=true; if(ShowCandleBox) { if(ObjectFind("box 1"+counter1)==-1) { ObjectCreate("box 1"+counter1, OBJ_RECTANGLE, 0, Time[i+1], High+(MathMin(Open, Close)-Low)/2, Time[i-1], Low-(MathMin(Open, Close)-Low)/2); ObjectSet("box 1"+counter1, OBJPROP_COLOR, BoxColor); } } if(ShowStar) { if(ObjectFind("star 1"+counter1)==-1) { ObjectCreate("star 1"+counter1, OBJ_ARROW, 0, Time, High+(MathMin(Open, Close)-Low)/2+dis, 0); ObjectSet("star 1"+counter1, OBJPROP_ARROWCODE, 181); ObjectSet("star 1"+counter1, OBJPROP_COLOR, StarColor); ObjectSet("star 1"+counter1, OBJPROP_WIDTH, StarWidth); } } if(ShowText) { if(ObjectFind("txt 1"+counter1)==-1) { ObjectCreate("txt 1"+counter1, OBJ_TEXT, 0, Time, Low-dis); ObjectSetText("txt 1"+counter1, name1, FontSize, "Tahoma", FontColor); if(VerticalText) ObjectSet("txt 1"+counter1, OBJPROP_ANGLE, 90); } } counter1++; } } if(FindDragonflyDoji) { if(H-C<=MaxLengthOfUpTail1*pt && C-L>=MinLengthOfLoTail1*pt && MathAbs(C-O)<=MaxLengthOfBody1*pt) { counter2++; sound2=true; if(ShowCandleBox) { if(ObjectFind("box 2"+counter2)==-1) { ObjectCreate("box 2"+counter2, OBJ_RECTANGLE, 0, Time[i+1], High+(MathMin(Open, Close)-Low)/2, Time[i-1], Low-(MathMin(Open, Close)-Low)/2); ObjectSet("box 2"+counter2, OBJPROP_COLOR, BoxColor); } } if(ShowStar) { if(ObjectFind("star 2"+counter2)==-1) { ObjectCreate("star 2"+counter2, OBJ_ARROW, 0, Time, High+(MathMin(Open, Close)-Low)/2+dis, 0); ObjectSet("star 2"+counter2, OBJPROP_ARROWCODE, 181); ObjectSet("star 2"+counter2, OBJPROP_COLOR, StarColor); ObjectSet("star 2"+counter2, OBJPROP_WIDTH, StarWidth); } } if(ShowText) { if(ObjectFind("txt 2"+counter2)==-1) { ObjectCreate("txt 2"+counter2, OBJ_TEXT, 0, Time, Low-dis); ObjectSetText("txt 2"+counter2, name2, FontSize, "Tahoma", FontColor); if(VerticalText) ObjectSet("txt 2"+counter2, OBJPROP_ANGLE, 90); } } } } if(FindGravestoneDoji) { if(H-C>=MinLengthOfUpTail2*pt && C-L<=MaxLengthOfLoTail2*pt && MathAbs(C-O)<=MaxLengthOfBody2*pt) { counter3++; sound3=true; if(ShowCandleBox) { if(ObjectFind("box 3"+counter3)==-1) { ObjectCreate("box 3"+counter3, OBJ_RECTANGLE, 0, Time[i+1], High+(MathMin(Open, Close)-Low)/2, Time[i-1], Low-(High-MathMax(Open, Close))/2); ObjectSet("box 3"+counter3, OBJPROP_COLOR, BoxColor); } } if(ShowStar) { if(ObjectFind("star 3"+counter3)==-1) { ObjectCreate("star 3"+counter3, OBJ_ARROW, 0, Time, High+(MathMin(Open, Close)-Low)/3+dis, 0); ObjectSet("star 3"+counter3, OBJPROP_ARROWCODE, 181); ObjectSet("star 3"+counter3, OBJPROP_COLOR, StarColor); ObjectSet("star 3"+counter3, OBJPROP_WIDTH, StarWidth); } } if(ShowText) { if(ObjectFind("txt 3"+counter3)==-1) { ObjectCreate("txt 3"+counter3, OBJ_TEXT, 0, Time, Low-dis); ObjectSetText("txt 3"+counter3, name3, FontSize, "Tahoma", FontColor); if(VerticalText) ObjectSet("txt 3"+counter3, OBJPROP_ANGLE, 90); } } } } } if(!AnAlert) return(0); if(Volume[0]>1) return(0); H=High[1]; L=Low[1]; C=Close[1]; O=Open[1]; if(FindRegularDoji) { if(H-C>=MinLengthOfUpTail*pt && C-L>=MinLengthOfLoTail*pt && MathAbs(C-O)<=MaxLengthOfBody*pt) { Alert("new regular doji at ",Symbol()," M",Period()); } } if(FindDragonflyDoji) { if(H-C<=MaxLengthOfUpTail1*pt && C-L>=MinLengthOfLoTail1*pt && MathAbs(C-O)<=MaxLengthOfBody1*pt) { Alert("new dragonfly doji at ",Symbol()," M",Period()); } } if(FindGravestoneDoji) { if(H-C>=MinLengthOfUpTail2*pt && C-L<=MaxLengthOfLoTail2*pt && MathAbs(C-O)<=MaxLengthOfBody2*pt) { Alert("new gravestone doji at ",Symbol()," M",Period()); } } return(0); } //end of file //+------------------------------------------------------------------+Doji_Reader_2.jpgDoji_Reader_2.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

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

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

本站免责声明:

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

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

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

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

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

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