[MT4指标]请老师们帮我修改以下指标,谢谢,有三处错!
//+------------------------------------------------------------------+
//|                                                          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];
               }
               }
         }
}
//+------------------------------------------------------------------+ 
发表于:2017-08-14 07:58只看该作者
2楼 
灌水赚通宝,谢谢分享!!
韬客社区www.talkfx.co
发表于:2017-08-15 10:57只看该作者
3楼 
谢谢分享!
韬客社区www.talkfx.co
4楼 
Cccccccccccccccc 
韬客社区www.talkfx.co













