论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:658回复:1
善缘
注册时间2004-04-07
[MT4指标]邮件报警代码
楼主发表于:2014-01-20 00:28只看该作者倒序浏览
1楼 电梯直达
电梯直达
邮件的报警代码 可以看看原理 加到自己的指标里面 #define OBJNAME_LABEL "Alerter Label" #define OBJDESC_PATTERN "Alert_" #property indicator_chart_window extern bool EmailAlert = true; extern bool PopupAlert = true; int init() { createIndicatorLabel(OBJNAME_LABEL); } int deinit() { ObjectDelete(OBJNAME_LABEL); } int start() { // Iterate over objects on this chart for (int i=ObjectsTotal()-1;i>=0;i--) { string sObjName = ObjectName(i); double dObjPrice; int iObjAlert; int iProximity; string sMessage; // Can we get a price for this object? If not, continue iteration dObjPrice = getObjectPrice(sObjName); if (dObjPrice == -1) continue; // Is there an alert on this object? If not, continue iteration iObjAlert = getObjectAlert(sObjName); if (iObjAlert == -1) continue; // Is the line within alert proximity? If not, continue iteration iProximity = MathAbs(Bid - dObjPrice) / Point; if (iProximity > iObjAlert) continue; // Fire the alert and clear alert from description sMessage = "Alert triggered: " + Symbol() + "@" + DoubleToStr(Bid,Digits) +"." + " " + iProximity + " pips from " + sObjName + "."; if (PopupAlert) Alert(sMessage); if (EmailAlert) SendMail("Alert on " + Symbol(), sMessage); // Clear the alert from the object description clearObjectAlert(sObjName); } return(0); } double getObjectPrice(string sObjName) { int iObjType = ObjectType(sObjName); // if it's a horizontal line... if (iObjType == OBJ_HLINE) return(ObjectGet(sObjName,OBJPROP_PRICE1)); // if it's a trend line... if (iObjType == OBJ_TREND) return(ObjectGetValueByShift(sObjName,0)); // otherwise... return(-1); } int getObjectAlert(string sObjName) { // looking for pattern "alert_##" at end of obj description string sObjectDesc = ObjectDescription(sObjName); int iPatternOffset = StringFind(sObjectDesc,OBJDESC_PATTERN); int iPatternLength = StringLen(OBJDESC_PATTERN); // if pattern not found, no alert for this object if (iPatternOffset == -1) return(-1); // return value after the pattern as number //Print("Alert: ", StringSubstr(sObjectDesc,iPatternOffset+iPatternLength)); return(StrToInteger(StringSubstr(sObjectDesc,iPatternOffset+iPatternLength))); } void clearObjectAlert(string sObjName) { // strip "alert_*" from end of obj description string sObjDesc = ObjectDescription(sObjName); int iSubStrOffset = StringFind(sObjDesc,"Alert_"); // if found at start of description, clear description if (iSubStrOffset == 0) { ObjectSetText(sObjName,""); return; } // if found further on in desc, strip it from description if (iSubStrOffset > 0) { ObjectSetText(sObjName,StringSubstr(sObjDesc,0,iSubStrOffset)); return; } } void createIndicatorLabel(string sObjName) { // Set the text string sObjText = "Alerter:"; if (EmailAlert) sObjText = sObjText + " Emails Alerts ON."; else sObjText = sObjText + " Emails Alerts OFF."; if (PopupAlert) sObjText = sObjText + " Popup Alerts ON."; else sObjText = sObjText + " Popup Alerts OFF."; // Create and position the label ObjectCreate(sObjName,OBJ_LABEL,0,0,0); ObjectSetText(sObjName,sObjText,8,"Arial",Yellow); ObjectSet(sObjName,OBJPROP_XDISTANCE,5); ObjectSet(sObjName,OBJPROP_YDISTANCE,5); ObjectSet(sObjName,OBJPROP_CORNER,1); }Alerter%5B1%5D.jpgAlerter%5B1%5D.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客外汇论坛TALKFOREX.COM

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
fishmapleyu
注册时间2015-01-23

本站免责声明:

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

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

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

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

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

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