论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1278回复:7
eagle
注册时间2004-10-21
请教高手,程序错在哪儿了?
楼主发表于:2006-10-11 10:03只看该作者倒序浏览
1楼 电梯直达
电梯直达
从楚天那里抄的,可是编译时出错了。 //+------------------------------------------------------------------+ //| 2.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ?2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Green extern int Alert_Method = 2; //可选1,2,3 extern double Alert_Price_Hi = 0; //上方穿越价格报警价格 extern double Alert_Price_Lo = 0;//下方穿越报警价格 extern int Price_Min = 0;//报价周期 extern int Price_Period = 0;//ma周期 extern int Price_Shift = 0; extern int Fast = 12; extern int Slow = 26; extern int Signal = 9; double up,down; double LastAlertTime = 0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,236); SetIndexBuffer(0,up); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,238); SetIndexBuffer(1,down); SetIndexEmptyValue(1,0.0); IndicatorDigits(2); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- switch (Alert_Method) { case 1 : Alert_Start1(); break; case 2 : Alert_Start2(); break; case 3 : Alert_Start3(); break; default:break; } return(0); } //+------------------------------------------------------------------+ //| Alert_start1 function for pirce Alert | //+------------------------------------------------------------------+ void Alert_Start1() { if (Close[0] > Alert_Price_Hi && Alert_Price_Hi > 0) { Alert(Symbol()," price : ",Alert_Price_Hi,(); Sleep(1000); SpeechText ("Alert , Alert"); } else if (Close[0] < Alert_Price_Lo && Alert_Price_Lo > 0) { Alert(Symbol()," price : ",Alert_Price_Lo ); Sleep(1000); SpeechText ("Alert , Alert"); } } //+------------------------------------------------------------------+ //| Alert_start2 function for Averages Alert | //+------------------------------------------------------------------+ void Alert_Start2() { double Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,Price_Shift); for (int i=Bars-1;i>=0;i--) { if (iClose(NULL,Price_Min,i+Price_Shift+1) >= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) < iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); down=Low; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price down Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } else if (iClose(NULL,Price_Min,i+Price_Shift+1) <= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) > iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); up=High; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price up Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } } } void Alert_Start3() { int counted_bars=IndicatorCounted(); for(int i=Bars;i>=0;i--) { if ( iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i) > iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i) && iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i+1)iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i+1) ) { if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol(),"MACD down cross"); LastAlertTime=Time[0]; } } } } //+------------------------------------------------------------------+ 可是编译后提示:'\end_of_program' - unbalanced left parenthesis C:\PROGRAM FILES\METATRADER 4\experts\indicators\Alert.mq4 (173, 1)
TK29帖子1楼右侧xm竖版广告90-240
个性签名

Think big-Start small-Move fast

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
tom
注册时间2004-01-10
发表于:2006-10-11 10:38只看该作者
2楼
//+------------------------------------------------------------------+ //| Alert_start1 function for pirce Alert | //+------------------------------------------------------------------+ void Alert_Start1() { if (Close[0] > Alert_Price_Hi && Alert_Price_Hi > 0) { Alert(Symbol()," price : ",Alert_Price_Hi,(); Sleep(1000); SpeechText ("Alert , Alert"); } else if (Close[0] < Alert_Price_Lo && Alert_Price_Lo > 0) { Alert(Symbol()," price : ",Alert_Price_Lo ); Sleep(1000); SpeechText ("Alert , Alert"); } } --------------------------改为 void Alert_Start1() { if (Close[0] > Alert_Price_Hi && Alert_Price_Hi > 0) { Alert(Symbol()," price : ",Alert_Price_Hi); Sleep(1000); SpeechText ("Alert , Alert"); } else if (Close[0] < Alert_Price_Lo && Alert_Price_Lo > 0) { Alert(Symbol()," price : ",Alert_Price_Lo ); Sleep(1000); SpeechText ("Alert , Alert"); } }
linkey100
注册时间2006-03-22
发表于:2006-10-16 08:23只看该作者
3楼
好像还是不行,TOM兄能不能给个全的?谢谢了
hawkie
注册时间2004-06-21
发表于:2006-10-16 12:05只看该作者
4楼
Alert(Symbol()," price : ",Alert_Price_Hi,(); 改为 Alert(Symbol()," price : ",Alert_Price_Hi);
linkey100
注册时间2006-03-22
发表于:2006-10-19 03:03只看该作者
5楼
//+------------------------------------------------------------------+ //| 2.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ?2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Green extern int Alert_Method = 2; //可选1,2,3 extern double Alert_Price_Hi = 0; //上方穿越价格报警价格 extern double Alert_Price_Lo = 0;//下方穿越报警价格 extern int Price_Min = 0;//报价周期 extern int Price_Period = 0;//ma周期 extern int Price_Shift = 0; extern int Fast = 12; extern int Slow = 26; extern int Signal = 9; double up,down; double LastAlertTime = 0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,236); SetIndexBuffer(0,up); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,238); SetIndexBuffer(1,down); SetIndexEmptyValue(1,0.0); IndicatorDigits(2); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- switch (Alert_Method) { case 1 : Alert_Start1(); break; case 2 : Alert_Start2(); break; case 3 : Alert_Start3(); break; default:break; } return(0); } //+------------------------------------------------------------------+ //| Alert_start1 function for pirce Alert | //+------------------------------------------------------------------+ void Alert_Start1() { if (Close[0] > Alert_Price_Hi && Alert_Price_Hi > 0) { Alert(Symbol()," price : ",Alert_Price_Hi,); Sleep(1000); SpeechText ("Alert , Alert"); } else if (Close[0] < Alert_Price_Lo && Alert_Price_Lo > 0) { Alert(Symbol()," price : ",Alert_Price_Lo ); Sleep(1000); SpeechText ("Alert , Alert"); } } //+------------------------------------------------------------------+ //| Alert_start2 function for Averages Alert | //+------------------------------------------------------------------+ void Alert_Start2() { double Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,Price_Shift); for (int i=Bars-1;i>=0;i--) { if (iClose(NULL,Price_Min,i+Price_Shift+1) >= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) < iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); down=Low; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price down Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } else if (iClose(NULL,Price_Min,i+Price_Shift+1) <= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) > iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); up=High; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price up Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } } } void Alert_Start3() { int counted_bars=IndicatorCounted(); for(int i=Bars;i>=0;i--) { if ( iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i) > iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i) && iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i+1)iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i+1) ) { if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol(),"MACD down cross"); LastAlertTime=Time[0]; } } } } //+------------------------------------------------------------------+ 晕啊,按照朋友你说的改了,不过错反而多了,我又看不来哪错了,麻烦再帮看看是怎么会事好吗?谢谢了!! 错误提示如下:emoji-imageemoji-imageemoji-imageemoji-imageemoji-imageemoji-image123.GIF123.GIF
eagle
注册时间2004-10-21
楼主发表于:2006-10-19 04:37只看该作者
6楼
在Tom老师的帮助下,我已经改好了,编译过了,没问题。 //+------------------------------------------------------------------+ //| 2.mq4 | //| Copyright ?2005, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright ?2005, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Green extern int Alert_Method = 2; //可选1,2,3 extern double Alert_Price_Hi = 0; //上方穿越价格报警价格 extern double Alert_Price_Lo = 0;//下方穿越报警价格 extern int Price_Min = 0;//报价周期 extern int Price_Period = 0;//ma周期 extern int Price_Shift = 0; extern int Fast = 12; extern int Slow = 26; extern int Signal = 9; double up,down; double LastAlertTime = 0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,236); SetIndexBuffer(0,up); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,238); SetIndexBuffer(1,down); SetIndexEmptyValue(1,0.0); IndicatorDigits(2); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- switch (Alert_Method) { case 1 : Alert_Start1(); break; case 2 : Alert_Start2(); break; case 3 : Alert_Start3(); break; default:break; } return(0); } //+------------------------------------------------------------------+ //| Alert_start1 function for pirce Alert | //+------------------------------------------------------------------+ void Alert_Start1() { if (Close[0] > Alert_Price_Hi && Alert_Price_Hi > 0) { Alert(Symbol()," price : ",Alert_Price_Hi); //Sleep(1000); //SpeechText ("Alert , Alert"); } else if (Close[0] < Alert_Price_Lo && Alert_Price_Lo > 0) { Alert(Symbol()," price : ",Alert_Price_Lo ); //Sleep(1000); //SpeechText ("Alert , Alert"); } } //+------------------------------------------------------------------+ //| Alert_start2 function for Averages Alert | //+------------------------------------------------------------------+ void Alert_Start2() { double Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,Price_Shift); for (int i=Bars-1;i>=0;i--) { if (iClose(NULL,Price_Min,i+Price_Shift+1) >= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) < iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); down=Low; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price down Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } else if (iClose(NULL,Price_Min,i+Price_Shift+1) <= iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift+1) && iClose(NULL,Price_Min,i+Price_Shift) > iMA(NULL,Price_Min,Price_Period+1,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift)) { Alert_Price = iMA(NULL,Price_Min,Price_Period,0,MODE_SMA,PRICE_CLOSE,i+Price_Shift); up=High; if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol()," Price up Cross : ",Alert_Price,": M",Price_Min,"(",Price_Period,")"); LastAlertTime=Time[0]; } } } } void Alert_Start3() { int counted_bars=IndicatorCounted(); for(int i=Bars;i>=0;i--) { if ( iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i) > iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i) && iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i+1)iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_SIGNAL,i+1) ) { if (i == 1 && LastAlertTime!=Time[0]) { Alert(Symbol(),"MACD down cross"); LastAlertTime=Time[0]; } } } } [ 本帖最后由 eagle 于 2006-10-19 12:40 编辑 ]
linkey100
注册时间2006-03-22
发表于:2006-10-24 03:19只看该作者
7楼
非常感谢eagle兄的帮助,这是个交易系统还是什么?怎么导入后没有什么显示?还有这个指标是一个什么指标啊?能说一下你的体会吗?我只能大概看这是个关于MACD穿越的指标吧?怎么没有图表显示呢?谢谢了
eagle
注册时间2004-10-21
楼主发表于:2006-10-24 12:54只看该作者
8楼
http://www.talkforex.com/viewthread.php?tid=57788 这是一个“报警三件套”的指标,原程序是从“楚天”处抄来的,详细情况见上面的链接。

本站免责声明:

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

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

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

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

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

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