乐于分享
好东西不私藏

全年趋势吃肉神器!全能均线指标EA源码分享

全年趋势吃肉神器!全能均线指标EA源码分享
大家好,我是浪哥!
后台有朋友私信我,问我均线到底怎么调,怎么看?说真的那个普通的均线浪哥看的也头疼...
交易久了,早就不用单一均线了。今天给大家分享一款浪哥私藏的“天花板级别的全能均线交叉指标”!不是浪哥跟你们吹,这个指标,一套顶几十套普通均线,趋势、共振、滤波信号全拿捏。稳、准、多功能、可自定义、适配全市场~
如果你觉得这个指标还不错,在评论区回复浪哥牛,给浪哥一点动力!
它的核心优势浪哥直接总结好了:

32种顶级均线算法合集

内置HMA、T3、ALMA、Laguerre、超级平滑、去周期滤波等专业量化算法,覆盖所有主流趋势均线,告别多指标杂乱叠加。

全维度自定义设置

快慢均线周期、算法、价格源、偏移位移均可独立调节,适配不同品种、不同周期行情。

多周期共振+HA平均K线适配

支持跨周期调用数据,搭配HA平均K线过滤杂波,趋势纯度大幅提升。

可视化信号+全渠道提醒

金叉/死叉自动标注买卖箭头,趋势强弱色块区分,自带弹窗、声音、邮件、手机推送,不错过任何行情机会。

新手一键套用参数浪哥也给你们,就说浪哥宠不宠你们吧,不会调的朋友私浪哥。

  • 快速均线:12周期 EMA
  • 慢速均线:26周期 EMA
  • 价格源:默认收盘价
  • 交易逻辑:快线上穿慢线做多,快线下穿慢线做空
老规矩源码浪哥放下面了,如果不会解析。你懂的
//+------------------------------------------------------------------+//|                               AllAveragesCrossover_v1.8 600+.mq4 |//|                                Copyright ?2016, TrendLaboratory |//|            http://finance.groups.yahoo.com/group/TrendLaboratory |//|                                   E-mail: igorad2003@yahoo.co.uk |//+------------------------------------------------------------------+#property copyright "Copyright ?2016, TrendLaboratory"#property link      "http://finance.groups.yahoo.com/group/TrendLaboratory"#property link      "http://newdigital-world.com"#property indicator_chart_window#property indicator_buffers 8#property indicator_color1  C' 30,160,160'#property indicator_color2  C'225, 55,  0'#property indicator_color3  C' 20, 90, 90'#property indicator_color4  C'160, 40,  0'#property indicator_color5  clrDeepSkyBlue#property indicator_color6  clrOrangeRed#property indicator_color7  clrDeepSkyBlue#property indicator_color8  clrOrangeRed#property indicator_width1  2#property indicator_width2  2#property indicator_width3  0#property indicator_width4  0#property indicator_width5  2 #property indicator_width6  2#property indicator_width7  1 #property indicator_width8  1enum ENUM_MA_MODE{   SMA,                 // Simple Moving Average   EMA,                 // Exponential Moving Average   Wilder,              // Wilder Exponential Moving Average   LWMA,                // Linear Weighted Moving Average   SineWMA,             // Sine Weighted Moving Average   TriMA,               // Triangular Moving Average   LSMA,                // Least Square Moving Average (or EPMA, Linear Regression Line)   SMMA,                // Smoothed Moving Average   HMA,                 // Hull Moving Average by A.Hull   ZeroLagEMA,          // Zero-Lag Exponential Moving Average   DEMA,                // Double Exponential Moving Average by P.Mulloy   T3_basic,            // T3 by T.Tillson (original version)   ITrend,              // Instantaneous Trendline by J.Ehlers   Median,              // Moving Median   GeoMean,             // Geometric Mean   REMA,                // Regularized EMA by C.Satchwell   ILRS,                // Integral of Linear Regression Slope   IE_2,                // Combination of LSMA and ILRS   TriMAgen,            // Triangular Moving Average generalized by J.Ehlers   VWMA,                // Volume Weighted Moving Average   JSmooth,             // M.Jurik's Smoothing   SMA_eq,              // Simplified SMA   ALMA,                // Arnaud Legoux Moving Average   TEMA,                // Triple Exponential Moving Average by P.Mulloy   T3,                  // T3 by T.Tillson (correct version)   Laguerre,            // Laguerre filter by J.Ehlers   MD,                  // McGinley Dynamic   BF2P,                // Two-pole modified Butterworth filter by J.Ehlers   BF3P,                // Three-pole modified Butterworth filter by J.Ehlers   SuperSmu,            // SuperSmoother by J.Ehlers   Decycler,            // Simple Decycler by J.Ehlers   eVWMA                // Modified eVWMA};   enum ENUM_PRICE{   close,               // Close   open,                // Open   high,                // High   low,                 // Low   median,              // Median   typical,             // Typical   weightedClose,       // Weighted Close   heikenAshiClose,     // Heiken Ashi Close   heikenAshiOpen,      // Heiken Ashi Open   heikenAshiHigh,      // Heiken Ashi High      heikenAshiLow,       // Heiken Ashi Low   heikenAshiMedian,    // Heiken Ashi Median   heikenAshiTypical,   // Heiken Ashi Typical   heikenAshiWeighted   // Heiken Ashi Weighted Close   };#define pi 3.14159265358979323846//---- input ENUM_TIMEFRAMES   TimeFrame            =     0;input string            FastMA               = "=== Fast MA ===";input ENUM_PRICE        FastPrice            =     0;   //Fast MA Priceinput int               FastLength           =    12;   //Fast MA Periodinput ENUM_MA_MODE      FastMethod           =     1;   //Fast MA Methodinput int               FastShift            =     0;   //Fast MA Displaceinput string            SlowMA               = "=== Slow MA ===";input ENUM_PRICE        SlowPrice            =     0;   //Slow MA Priceinput int               SlowLength           =    26;   //Slow MA Periodinput ENUM_MA_MODE      SlowMethod           =     1;   //Slow MA Methodinput int               SlowShift            =     0;   //Slow MA Displaceinput bool              ShowFilled           = false;input int               CountBars            =     0;   //Number of bars counted: 0-all bars   input string            Alerts               = "=== Alerts & Emails ===";input bool              AlertOn              = false;input int               AlertShift           =     1;       // Alert Shift:0-current bar,1-previous barinput int               SoundsNumber         =     5;       // Number of sounds after Signalinput int               SoundsPause          =     5;       // Pause in sec between sounds input string            UpTrendSound         = "alert.wav";input string            DnTrendSound         = "alert2.wav";input bool              EmailOn              = false;       input int               EmailsNumber         =     1;          input bool              PushNotificationOn   = false;double upgrow[];double dngrow[];double upfall[];double dnfall[];double fast[];double slow[];double buy[];double sell[];double trend[];double fastshift[];double slowshift[];double fastprice[];double slowprice[];int      timeframe, cBars, draw_begin, fastsize, slowsize;string   IndicatorName, TF, fast_name, slow_name;//+------------------------------------------------------------------+//|                                                                  |//+------------------------------------------------------------------+int init(){   timeframe = TimeFrame;   if(timeframe <= Period()) timeframe = Period();    TF = tf(timeframe);   IndicatorDigits(Digits);//----       IndicatorBuffers(13);   SetIndexBuffer( 0,   upgrow); SetIndexStyle(0,DRAW_HISTOGRAM);    SetIndexBuffer( 1,   dngrow); SetIndexStyle(1,DRAW_HISTOGRAM);    SetIndexBuffer( 2,   upfall); SetIndexStyle(2,DRAW_HISTOGRAM);    SetIndexBuffer( 3,   dnfall); SetIndexStyle(3,DRAW_HISTOGRAM);    SetIndexBuffer( 4,     fast); SetIndexStyle(4,     DRAW_LINE);    SetIndexBuffer( 5,     slow); SetIndexStyle(5,     DRAW_LINE);    SetIndexBuffer( 6,      buy); SetIndexStyle(6,    DRAW_ARROW); SetIndexArrow(6,233);       SetIndexBuffer( 7,     sell); SetIndexStyle(7,    DRAW_ARROW); SetIndexArrow(7,234);       SetIndexBuffer( 8,    trend);   SetIndexBuffer( 9,fastshift);    SetIndexBuffer(10,slowshift);   SetIndexBuffer(11,fastprice);   SetIndexBuffer(12,slowprice);//----      fastsize   = averageSize(FastMethod  );   slowsize   = averageSize(SlowMethod  );   IndicatorName = WindowExpertName();   IndicatorShortName(IndicatorName+"["+TF+"]("+FastPrice+","+FastLength+","+FastMethod+","+SlowPrice+","+SlowLength+","+SlowMethod+")");   SetIndexLabel(4,"Fast MA("+FastLength+")");   SetIndexLabel(5,"Slow MA("+SlowLength+")");   SetIndexLabel(6,"buySignal");   SetIndexLabel(7,"sellSignal");//----            if(CountBars == 0) cBars = iBars(NULL,timeframe)*timeframe/Period() - MathMax(FastLength,SlowLength); else cBars = CountBars*timeframe/Period();   draw_begin = Bars - cBars;   SetIndexDrawBegin(0,draw_begin);   SetIndexDrawBegin(1,draw_begin);   SetIndexDrawBegin(2,draw_begin);   SetIndexDrawBegin(3,draw_begin);   SetIndexDrawBegin(4,draw_begin);   SetIndexDrawBegin(5,draw_begin);   //----      ArrayResize(tmp,MathMax(fastsize,slowsize));   return(0);}//-----int deinit(){   Comment("");   return(0);}//+------------------------------------------------------------------+//|  AllAveragesCrossover_v1.8 600+                                  |//+------------------------------------------------------------------+int start(){   int shift,limit, counted_bars=IndicatorCounted();   if(counted_bars > 0) limit = Bars - counted_bars - 1;   if(counted_bars < 0return(0);   if(counted_bars < 1)   {    limit = Bars - 1;         for(int i=limit;i>=0;i--)       {      upgrow[i] = EMPTY_VALUE;         dngrow[i] = EMPTY_VALUE;      upfall[i] = EMPTY_VALUE;         dnfall[i] = EMPTY_VALUE;      fast[i]   = EMPTY_VALUE;         slow[i]   = EMPTY_VALUE;      buy [i]   = EMPTY_VALUE;         sell[i]   = EMPTY_VALUE;      }   }      if(FastShift < 0) int fastlimit = MathAbs(FastShift); else fastlimit = limit;   if(SlowShift < 0) int slowlimit = MathAbs(SlowShift); else slowlimit = limit;    int limit1 = MathMax(limit,MathMax(fastlimit,slowlimit));     if(timeframe != Period())   {   limit = timeframe/Period()*(limit1 + 1);         for(shift=0;shift<limit;shift++)       {	      int y = iBarShift(NULL,timeframe,Time[shift]);	   fast[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,4,y);      slow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,5,y);	   buy [shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,6,y);      sell[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,7,y);         if(ShowFilled)         {         upgrow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                              "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,0,y);         dngrow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                              "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,1,y);	      upfall[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                              "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,2,y);         dnfall[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastMethod,FastShift,"",SlowPrice,SlowLength,SlowMethod,SlowShift,ShowFilled,CountBars,	                              "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,3,y);	      }      }      if(CountBars > 0)      {      SetIndexDrawBegin(0,Bars - cBars);         SetIndexDrawBegin(1,Bars - cBars);      SetIndexDrawBegin(2,Bars - cBars);      SetIndexDrawBegin(3,Bars - cBars);         SetIndexDrawBegin(4,Bars - cBars);      SetIndexDrawBegin(5,Bars - cBars);      SetIndexDrawBegin(6,Bars - cBars);      SetIndexDrawBegin(7,Bars - cBars);      }   return(0);	}   else   {      for(shift=limit;shift>=0;shift--)       {         if(FastPrice <= 6) fastprice[shift] = iMA(NULL,0,1,0,0,(int)FastPrice,shift);            else         if(FastPrice > 6 && FastPrice <= 13) fastprice[shift] = HeikenAshi(0,FastPrice-7,shift);         if(SlowPrice <= 6) slowprice[shift] = iMA(NULL,0,1,0,0,(int)SlowPrice,shift);            else         if(SlowPrice > 6 && SlowPrice <= 13) slowprice[shift] = HeikenAshi(1,SlowPrice-7,shift);         fastshift[shift] = allAveragesOnArray(0,fastprice,FastLength,FastMethod,fastsize,cBars + MathMax(FastLength,SlowLength),shift);       slowshift[shift] = allAveragesOnArray(1,slowprice,SlowLength,SlowMethod,slowsize,cBars + MathMax(FastLength,SlowLength),shift);       }      for(shift=limit1;shift>=0;shift--)       {      if(FastShift >= 0 ||(FastShift < 0 && shift >= MathAbs(FastShift))) fast[shift] = fastshift[shift+FastShift];       if(SlowShift >= 0 ||(SlowShift < 0 && shift >= MathAbs(SlowShift))) slow[shift] = slowshift[shift+SlowShift];       trend[shift] = trend[shift+1];      buy [shift]  = EMPTY_VALUE;      sell[shift]  = EMPTY_VALUE;      if(fast[shift] > slow[shift] && fast[shift] != EMPTY_VALUE && trend[shift+1] != 1) trend[shift] = 1;      if(fast[shift] < slow[shift] && slow[shift] != EMPTY_VALUE && trend[shift+1] !=-1) trend[shift] =-1;      double gap = 0.5*MathCeil(iATR(NULL,0,14,shift)/Point);         if(trend[shift] != trend[shift+1])         {         if(trend[shift] > 0) buy [shift] = MathMin(fast[shift],slow[shift]) -   gap*Point;           if(trend[shift] < 0) sell[shift] = MathMax(fast[shift],slow[shift]) + 2*gap*Point;          }         if(ShowFilled)         {         upgrow[shift] = EMPTY_VALUE;         dngrow[shift] = EMPTY_VALUE;            upfall[shift] = EMPTY_VALUE;         dnfall[shift] = EMPTY_VALUE;             double currdiff = MathAbs(fast[shift]   - slow[shift]  );         double prevdiff = MathAbs(fast[shift+1] - slow[shift+1]);            if(trend[shift] > 0)            {               if(trend[shift+1] <= 0) {upgrow[shift] = fast[shift]; dngrow[shift] = slow[shift];}               else               {                  if(currdiff > prevdiff) {upgrow[shift] = fast[shift]; dngrow[shift] = slow[shift];}                  else {upfall[shift] = fast[shift]; dnfall[shift] = slow[shift];}               }            }            if(trend[shift] < 0)            {               if(trend[shift+1] >= 0) {dngrow[shift] = fast[shift]; upgrow[shift] = slow[shift];}               else               {                  if(currdiff > prevdiff) {dngrow[shift] = slow[shift]; upgrow[shift] = fast[shift];}                  else {dnfall[shift] = slow[shift]; upfall[shift] = fast[shift];}               }            }         }      }      if(CountBars > 0)      {      SetIndexDrawBegin(0,Bars - cBars);         SetIndexDrawBegin(1,Bars - cBars);      SetIndexDrawBegin(2,Bars - cBars);      SetIndexDrawBegin(3,Bars - cBars);         SetIndexDrawBegin(4,Bars - cBars);      SetIndexDrawBegin(5,Bars - cBars);      SetIndexDrawBegin(6,Bars - cBars);      SetIndexDrawBegin(7,Bars - cBars);      }      }      if(AlertOn || EmailOn || PushNotificationOn)   {   bool crossAbove = trend[limit1+AlertShift] > 0 && trend[limit1+AlertShift+1] <= 0;                     bool crossBelow = trend[limit1+AlertShift] < 0 && trend[limit1+AlertShift+1] >= 0;      if(crossAbove || crossBelow)      {         if(isNewBar(timeframe))         {            if(AlertOn)            {            BoxAlert(crossAbove," : BUY Signal @ " +DoubleToStr(Close[AlertShift],Digits));               BoxAlert(crossBelow," : SELL Signal @ "+DoubleToStr(Close[AlertShift],Digits));             }            if(EmailOn)            {            EmailAlert(crossAbove,"BUY" ," : BUY Signal @ " +DoubleToStr(Close[AlertShift],Digits),EmailsNumber);             EmailAlert(crossBelow,"SELL"," : SELL Signal @ "+DoubleToStr(Close[AlertShift],Digits),EmailsNumber);             }            if(PushNotificationOn)            {            PushAlert(crossAbove," : BUY Signal @ " +DoubleToStr(Close[AlertShift],Digits));               PushAlert(crossBelow," : SELL Signal @ "+DoubleToStr(Close[AlertShift],Digits));             }         }         else         {            if(AlertOn)            {            WarningSound(crossAbove,SoundsNumber,SoundsPause,UpTrendSound,Time[AlertShift]);            WarningSound(crossBelow,SoundsNumber,SoundsPause,DnTrendSound,Time[AlertShift]);            }         }         }   }      return(0);}//+------------------------------------------------------------------+//|                                                                  |//+------------------------------------------------------------------+int averageSize(int mode){      int arraysize;   switch(mode)   {   case 10: arraysize = 2break;   case 11: arraysize = 6break;   case 20: arraysize = 5break;   case 23: arraysize = 4break;   case 24: arraysize = 6break;   case 25: arraysize = 4break;   default: arraysize = 0break;   }   return(arraysize);}double   tmp[][2][2], ma[2][4];datetime prevtime[2]; double allAveragesOnArray(int index,double& price[],int period,int mode,int arraysize,int cbars,int bar){   double MA[4];     if(mode == 1 || mode == 2 || mode == 7 || mode == 9 || mode == 10 || mode == 11 || mode == 12 || mode == 15 || mode == 20 || mode == 21 || (mode > 22 && mode <= 31))     {      if(prevtime[index] != Time[bar])      {      ma[index][3] = ma[index][2];       ma[index][2] = ma[index][1];       ma[index][1] = ma[index][0];       if(arraysize > 0for(int i=0;i<arraysize;i++) tmp[i][index][1] = tmp[i][index][0];      prevtime[index] = Time[bar];       }      if(mode == 12 || mode == 15 || mode == 21 || (mode > 26 && mode < 31)) for(i=0;i<4;i++) MA[i] = ma[index][i];    }   switch(mode)   {   case 1 : ma[index][0] = EMAOnArray(price[bar],ma[index][1],period,cbars,bar); break;   case 2 : ma[index][0] = WilderOnArray(price[bar],ma[index][1],period,cbars,bar); break;     case 3 : ma[index][0] = LWMAOnArray(price,period,bar); break;   case 4 : ma[index][0] = SineWMAOnArray(price,period,bar); break;   case 5 : ma[index][0] = TriMAOnArray(price,period,bar); break;   case 6 : ma[index][0] = LSMAOnArray(price,period,bar); break;   case 7 : ma[index][0] = SMMAOnArray(price,ma[index][1],period,cbars,bar); break;   case 8 : ma[index][0] = HMAOnArray(price,period,cbars,bar); break;   case 9 : ma[index][0] = ZeroLagEMAOnArray(price,ma[index][1],period,cbars,bar); break;   case 10: ma[index][0] = DEMAOnArray(index,0,price[bar],period,1,cbars,bar); break;   case 11: ma[index][0] = T3_basicOnArray(index,0,price[bar],period,0.7,cbars,bar); break;   case 12: ma[index][0] = ITrendOnArray(price,MA,period,cbars,bar); break;   case 13: ma[index][0] = MedianOnArray(price,period,bar); break;   case 14: ma[index][0] = GeoMeanOnArray(price,period,cbars,bar); break;   case 15: ma[index][0] = REMAOnArray(price[bar],MA,period,0.5,cbars,bar); break;   case 16: ma[index][0] = ILRSOnArray(price,period,bar); break;   case 17: ma[index][0] = IE2OnArray(price,period,bar); break;   case 18: ma[index][0] = TriMA_genOnArray(price,period,bar); break;   case 19: ma[index][0] = VWMAOnArray(price,period,bar); break;   case 20: ma[index][0] = JSmoothOnArray(index,0,price[bar],period,1,cbars,bar); break;   case 21: ma[index][0] = SMA_eqOnArray(price,MA,period,cbars,bar); break;   case 22: ma[index][0] = ALMAOnArray(price,period,0.85,8,bar); break;   case 23: ma[index][0] = TEMAOnArray(index,price[bar],period,1,cbars,bar); break;   case 24: ma[index][0] = T3OnArray(index,0,price[bar],period,0.7,cbars,bar); break;   case 25: ma[index][0] = LaguerreOnArray(index,price[bar],period,4,cbars,bar); break;   case 26: ma[index][0] = McGinleyOnArray(price[bar],ma[index][1],period,cbars,bar); break;   case 27: ma[index][0] = BF2POnArray(price,MA,period,cbars,bar); break;   case 28: ma[index][0] = BF3POnArray(price,MA,period,cbars,bar); break;   case 29: ma[index][0] = SuperSmuOnArray(price,MA,period,cbars,bar); break;   case 30: ma[index][0] = DecyclerOnArray(price,MA,period,cbars,bar); return(price[bar] - ma[index][0]);    case 31: ma[index][0] = eVWMAOnArray(price[bar],ma[index][1],period,cbars,bar); break;   default: ma[index][0] = SMAOnArray(price,period,bar); break;   }   return(ma[index][0]);}// MA_Method=0: SMA - Simple Moving Averagedouble SMAOnArray(double& array[],int per,int bar){   double sum = 0;   for(int i=0;i<per;i++) sum += array[bar+i];   return(sum/per);}                // MA_Method=1: EMA - Exponential Moving Averagedouble EMAOnArray(double price,double prev,int per,int cbars,int bar){   if(bar >= cbars - 2) double ema = price;   else    ema = prev + 2.0/(1 + per)*(price - prev);    return(ema);}// MA_Method=2: Wilder - Wilder Exponential Moving Averagedouble WilderOnArray(double price,double prev,int per,int cbars,int bar){   if(bar >= cbars - 2) double wilder = price;    else    wilder = prev + (price - prev)/per;    return(wilder);}// MA_Method=3: LWMA - Linear Weighted Moving Average double LWMAOnArray(double& array[],int per,int bar){   double sum = 0, weight = 0;      for(int i=0;i<per;i++)      {       weight += (per - i);      sum    += array[bar+i]*(per - i);      }   if(weight > 0return(sum/weight); else return(0); // MA_Method=4: SineWMA - Sine Weighted Moving Averagedouble SineWMAOnArray(double& array[],int per,int bar){   double sum = 0, weight = 0;      for(int i=0;i<per;i++)      {       weight += MathSin(pi*(i + 1)/(per + 1));      sum    += array[bar+i]*MathSin(pi*(i + 1)/(per + 1));       }   if(weight > 0return(sum/weight); else return(0); }// MA_Method=5: TriMA - Triangular Moving Averagedouble TriMAOnArray(double& array[],int per,int bar){   int len = MathCeil((per + 1)*0.5);   double sum = 0;   for(int i=0;i<len;i++) sum += SMAOnArray(array,len,bar+i);   return(sum/len);}// MA_Method=6: LSMA - Least Square Moving Average (or EPMA, Linear Regression Line)double LSMAOnArray(double& array[],int per,int bar){      double sum = 0;   for(int i=per;i>=1;i--) sum += (i - (per + 1)/3.0)*array[bar+per-i];   return(sum*6/(per*(per + 1)));}// MA_Method=7: SMMA - Smoothed Moving Averagedouble SMMAOnArray(double& array[],double prev,int per,int cbars,int bar){   if(bar == cbars - per) double smma = SMAOnArray(array,per,bar);   else    if(bar  < cbars - per)   {   double sum = 0;   for(int i=0;i<per;i++) sum += array[bar+i+1];   smma = (sum - prev + array[bar])/per;   }   return(smma);}                // MA_Method=8: HMA - Hull Moving Average by Alan Hulldouble HMAOnArray(double& array[],int per,int cbars,int bar){   double _tmp[];   int len = MathSqrt(per);   ArrayResize(_tmp,len);   if(bar == cbars - per) double hma = array[bar];    else   if(bar < cbars - per)   {   for(int i=0;i<len;i++) _tmp[i] = 2*LWMAOnArray(array,per/2,bar+i) - LWMAOnArray(array,per,bar+i);     hma = LWMAOnArray(_tmp,len,0);    }     return(hma);}// MA_Method=9: ZeroLagEMA - Zero-Lag Exponential Moving Averagedouble ZeroLagEMAOnArray(double& price[],double prev,int per,int cbars,int bar){   int lag = 0.5*(per - 1);    double alpha = 2.0/(1 + per);    if(bar >= cbars - lag) double zema = price[bar];   else    zema = alpha*(2*price[bar] - price[bar+lag]) + (1 - alpha)*prev;   return(zema);}// MA_Method=10: DEMA - Double Exponential Moving Average by Patrick Mulloydouble DEMAOnArray(int index,int num,double price,double per,double v,int cbars,int bar){   double alpha = 2.0/(1 + per);   if(bar == cbars - 2) {double dema = price; tmp[num][index][0] = dema; tmp[num+1][index][0] = dema;}   else    if(bar <  cbars - 2   {   tmp[num  ][index][0] = tmp[num  ][index][1] + alpha*(price              - tmp[num  ][index][1]);    tmp[num+1][index][0] = tmp[num+1][index][1] + alpha*(tmp[num][index][0] - tmp[num+1][index][1]);    dema                 = tmp[num  ][index][0]*(1+v) - tmp[num+1][index][0]*v;   }   return(dema);}// MA_Method=11: T3 by T.Tillsondouble T3_basicOnArray(int index,int num,double price,int per,double v,int cbars,int bar){   double dema1, dema2;   if(bar == cbars - 2   {   double T3 = price;    for(int k=0;k<6;k++) tmp[num+k][index][0] = price;   }   else    if(bar < cbars - 2   {   dema1 = DEMAOnArray(index,num  ,price,per,v,cbars,bar);    dema2 = DEMAOnArray(index,num+2,dema1,per,v,cbars,bar);    T3    = DEMAOnArray(index,num+4,dema2,per,v,cbars,bar);   }   return(T3);}// MA_Method=12: ITrend - Instantaneous Trendline by J.Ehlersdouble ITrendOnArray(double& price[],double& array[],int per,int cbars,int bar){   double alpha = 2.0/(per + 1);   if(bar < cbars - 7) double it = (alpha - 0.25*alpha*alpha)*price[bar] + 0.5*alpha*alpha*price[bar+1                                 - (alpha - 0.75*alpha*alpha)*price[bar+2] + 2*(1 - alpha)*array[1                                 - (1 - alpha)*(1 - alpha)*array[2];   else it = (price[bar] + 2*price[bar+1] + price[bar+2])/4;   return(it);}// MA_Method=13: Median - Moving Mediandouble MedianOnArray(double& price[],int per,int bar){   double array[];   ArrayResize(array,per);   for(int i=0;i<per;i++) array[i] = price[bar+i];   ArraySort(array,WHOLE_ARRAY,0,MODE_DESCEND);   int num = MathRound((per - 1)*0.5);    if(MathMod(per,2) > 0) double median = array[num]; else median = 0.5*(array[num] + array[num+1]);   return(median); }// MA_Method=14: GeoMean - Geometric Meandouble GeoMeanOnArray(double& price[],int per,int cbars,int bar){   if(bar < cbars - per)   {    double gmean = MathPow(price[bar],1.0/per);    for(int i=1;i<per;i++) gmean *= MathPow(price[bar+i],1.0/per);    }   else gmean = SMAOnArray(price,per,bar);   return(gmean);}// MA_Method=15: REMA - Regularized EMA by Chris Satchwell double REMAOnArray(double price,double& array[],int per,double lambda,int cbars,int bar){   double alpha =  2.0/(per + 1);   if(bar >= cbars - 3) double rema = price;   else    rema = (array[1]*(1 + 2*lambda) + alpha*(price - array[1]) - lambda*array[2])/(1 + lambda);    return(rema);}// MA_Method=16: ILRS - Integral of Linear Regression Slope double ILRSOnArray(double& price[],int per,int bar){   double sum  = per*(per - 1)*0.5;   double sum2 = (per - 1)*per*(2*per - 1)/6.0;   double sum1 = 0;   double sumy = 0;      for(int i=0;i<per;i++)      {       sum1 += i*price[bar+i];      sumy += price[bar+i];      }   double num1 = per*sum1 - sum*sumy;   double num2 = sum*sum - per*sum2;   if(num2 != 0) double slope = num1/num2; else slope = 0   double ilrs = slope + SMAOnArray(price,per,bar);   return(ilrs);}// MA_Method=17: IE/2 - Combination of LSMA and ILRS double IE2OnArray(double& price[],int per,int bar){   double ie = 0.5*(ILRSOnArray(price,per,bar) + LSMAOnArray(price,per,bar));   return(ie); }// MA_Method=18: TriMAgen - Triangular Moving Average Generalized by J.Ehlersdouble TriMA_genOnArray(double& array[],int per,int bar){   int len1 = MathFloor((per + 1)*0.5);   int len2 = MathCeil ((per + 1)*0.5);   double sum = 0;   for(int i = 0;i < len2;i++) sum += SMAOnArray(array,len1,bar+i);   return(sum/len2);}// MA_Method=19: VWMA - Volume Weighted Moving Average double VWMAOnArray(double& array[],int per,int bar){   double sum = 0, weight = 0;      for(int i=0;i<per;i++)      {       weight += Volume[bar+i];      sum    += array[bar+i]*Volume[bar+i];      }   if(weight > 0return(sum/weight); else return(0); // MA_Method=20: JSmooth - Smoothing by Mark Jurikdouble JSmoothOnArray(int index,int num,double price,int per,double power,int cbars,int bar){   double beta  = 0.45*(per - 1)/(0.45*(per - 1) + 2);	double alpha = MathPow(beta,power);if(bar == cbars - 2) {tmp[num+4][index][0] = price; tmp[num+0][index][0] = price; tmp[num+2][index][0] = price;}else    if(bar <  cbars - 2   {	tmp[num+0][index][0] = (1 - alpha)*price + alpha*tmp[num+0][index][1];	tmp[num+1][index][0] = (price - tmp[num+0][index][0])*(1-beta) + beta*tmp[num+1][index][1];	tmp[num+2][index][0] = tmp[num+0][index][0] + tmp[num+1][index][0];	tmp[num+3][index][0] = (tmp[num+2][index][0] - tmp[num+4][index][1])*MathPow((1-alpha),2) + MathPow(alpha,2)*tmp[num+3][index][1];	tmp[num+4][index][0] = tmp[num+4][index][1] + tmp[num+3][index][0];    }   return(tmp[num+4][index][0]);}// MA_Method=21: SMA_eq     - Simplified SMAdouble SMA_eqOnArray(double& price[],double& array[],int per,int cbars,int bar){   if(bar == cbars - per) double sma = SMAOnArray(price,per,bar);   else    if(bar <  cbars - per) sma = (price[bar] - price[bar+per])/per + array[1];    return(sma);}                        		// MA_Method=22: ALMA by Arnaud Legoux / Dimitris Kouzis-Loukas / Anthony Cascinodouble ALMAOnArray(double& price[],int per,double offset,double sigma,int bar){   double m = MathFloor(offset*(per - 1)), s = per/sigma, w, sum = 0, wsum = 0;		for (int i=0;i<per;i++) 	{	w     = MathExp(-((i - m)*(i - m))/(2*s*s));   wsum += w;   sum  += price[bar+(per-1-i)]*w;    }   if(wsum != 0return(sum/wsum); else return(0);}   // MA_Method=23: TEMA - Triple Exponential Moving Average by Patrick Mulloydouble TEMAOnArray(int index,double price,int per,double v,int cbars,int bar){   double alpha = 2.0/(per+1);if(bar == cbars - 2) {tmp[0][index][0] = price; tmp[1][index][0] = price; tmp[2][index][0] = price;}else    if(bar <  cbars - 2   {	tmp[0][index][0] = tmp[0][index][1] + alpha *(price            - tmp[0][index][1]);	tmp[1][index][0] = tmp[1][index][1] + alpha *(tmp[0][index][0] - tmp[1][index][1]);	tmp[2][index][0] = tmp[2][index][1] + alpha *(tmp[1][index][0] - tmp[2][index][1]);	tmp[3][index][0] = tmp[0][index][0] + v*(tmp[0][index][0] + v*(tmp[0][index][0]-tmp[1][index][0]) - tmp[1][index][0] - v*(tmp[1][index][0] - tmp[2][index][0])); 	}   return(tmp[3][index][0]);}// MA_Method=24: T3 by T.Tillson (correct version) double T3OnArray(int index,int num,double price,int per,double v,int cbars,int bar){   double len = MathMax((per + 5.0)/3.0 - 1,1), dema1, dema2;   if(bar == cbars - 2   {   double T3 = price;    for(int k=0;k<6;k++) tmp[num+k][index][0] = T3;   }   else    if(bar < cbars - 2   {   dema1 = DEMAOnArray(index,num  ,price,len,v,cbars,bar);    dema2 = DEMAOnArray(index,num+2,dema1,len,v,cbars,bar);    T3    = DEMAOnArray(index,num+4,dema2,len,v,cbars,bar);   }   return(T3);}// MA_Method=25: Laguerre filter by J.Ehlersdouble LaguerreOnArray(int index,double price,int per,int order,int cbars,int bar){   double gamma = 1 - 10.0/(per + 9);   double aPrice[];   ArrayResize(aPrice,order);   for(int i=0;i<order;i++)   {      if(bar >= cbars - order) tmp[i][index][0] = price;      else      {         if(i == 0) tmp[i][index][0] = (1 - gamma)*price + gamma*tmp[i][index][1];         else         tmp[i][index][0] = -gamma * tmp[i-1][index][0] + tmp[i-1][index][1] + gamma * tmp[i][index][1];      aPrice[i] = tmp[i][index][0];      }   }   double laguerre = TriMA_genOnArray(aPrice,order,0);     return(laguerre);}// MA_Method=26:  MD - McGinley Dynamicdouble McGinleyOnArray(double price,double prev,int per,int cbars,int bar){   if(bar == cbars - 2) double md = price;   else    if(bar <  cbars - 2      if(prev != 0) md = prev + (price - prev)/(per*MathPow(price/prev,4)/2);       else md = price;   return(md);}// MA_Method=27: BF2P - Two-pole modified Butterworth filterdouble BF2POnArray(double& price[],double& array[],int per,int cbars,int bar){   double a  = MathExp(-1.414*pi/per);   double b  = 2*a*MathCos(1.414*1.25*pi/per);   double c2 = b;   double c3 = -a*a;   double c1 = 1 - c2 - c3;   if(bar < cbars - 7) double bf2p = c1*(price[bar] + 2*price[bar+1] + price[bar+2])/4 + c2*array[1] + c3*array[2];   else bf2p = (price[bar] + 2*price[bar+1] + price[bar+2])/4;   return(bf2p);}// MA_Method=28: BF3P - Three-pole modified Butterworth filterdouble BF3POnArray(double& price[],double& array[],int per,int cbars,int bar){   double a  = MathExp(-pi/per);   double b  = 2*a*MathCos(1.738*pi/per);   double c  = a*a;   double d2 = b + c;   double d3 = -(c + b*c);   double d4 = c*c;   double d1 = 1 - d2 - d3 - d4;   if(bar < cbars - 7) double bf3p = d1*(price[bar] + 3*price[bar+1] + 3*price[bar+2] + price[bar+3])/8 + d2*array[1] + d3*array[2] + d4*array[3];   else bf3p = (price[bar] + 3*price[bar+1] + 3*price[bar+2] + price[bar+3])/8;   return(bf3p);}// MA_Method=29: SuperSmu - SuperSmoother filterdouble SuperSmuOnArray(double& price[],double& array[],int per,int cbars,int bar){   double a  = MathExp(-1.414*pi/per);   double b  = 2*a*MathCos(1.414*pi/per);   double c2 = b;   double c3 = -a*a;   double c1 = 1 - c2 - c3;   if(bar < cbars - 7) double supsm = c1*(price[bar] + price[bar+1])/2 + c2*array[1] + c3*array[2];   else supsm = (price[bar] + price[bar+1])/2;   return(supsm);}// MA_Method=30: Decycler - Simple Decycler by J.Ehlersdouble DecyclerOnArray(double& price[],double& hp[],int per,int cbars,int bar){   double alpha1 = (MathCos(1.414*pi/per) + MathSin(1.414*pi/per) - 1)/MathCos(1.414*pi/per);   if(bar > cbars - 4return(0);   hp[0] = (1 - alpha1/2)*(1 - alpha1/2)*(price[bar] - 2*price[bar+1] + price[bar+2]) + 2*(1 - alpha1)*hp[1] - (1 - alpha1)*(1 - alpha1)*hp[2];		   return(hp[0]);}// MA_Method=31: eVWMA - Elastic Volume Weighted Moving Average by C.Friesdouble eVWMAOnArray(double price,double prev,int per,int cbars,int bar){   if(bar >= cbars - per) double evwma = price;   else    {   double max = 0;   for(int i=0;i<per;i++) max = MathMax(max,Volume[bar+i]);   double diff = 3*max - Volume[bar];      if(diff < 0) evwma = prev;      else       evwma = (diff*prev + Volume[bar]*price)/(3*max);    }   return(evwma);}// HeikenAshi Pricedouble   haClose[2][2], haOpen[2][2], haHigh[2][2], haLow[2][2];datetime prevhatime[2];double HeikenAshi(int index,int price,int bar)   if(prevhatime[index] != Time[bar])   {   haClose[index][1] = haClose[index][0];   haOpen [index][1] = haOpen [index][0];   haHigh [index][1] = haHigh [index][0];   haLow  [index][1] = haLow  [index][0];   prevhatime[index] = Time[bar];   }   if(bar == Bars - 1   {   haClose[index][0] = Close[bar];   haOpen [index][0] = Open [bar];   haHigh [index][0] = High [bar];   haLow  [index][0] = Low  [bar];   }   else   {   haClose[index][0] = (Open[bar] + High[bar] + Low[bar] + Close[bar])/4;   haOpen [index][0] = (haOpen[index][1] + haClose[index][1])/2;   haHigh [index][0] = MathMax(High[bar],MathMax(haOpen[index][0],haClose[index][0]));   haLow  [index][0] = MathMin(Low [bar],MathMin(haOpen[index][0],haClose[index][0]));   }   switch(price)   {   case  0return(haClose[index][0]); break;   case  1return(haOpen [index][0]); break;   case  2return(haHigh [index][0]); break;   case  3return(haLow  [index][0]); break;   case  4return((haHigh[index][0] + haLow[index][0])/2); break;   case  5return((haHigh[index][0] + haLow[index][0] +   haClose[index][0])/3); break;   case  6return((haHigh[index][0] + haLow[index][0] + 2*haClose[index][0])/4); break;   default: return(haClose[index][0]); break;   }}     string tf(int itimeframe){   string result = "";   switch(itimeframe)   {   case PERIOD_M1:   result = "M1" ;   case PERIOD_M5:   result = "M5" ;   case PERIOD_M15:  result = "M15";   case PERIOD_M30:  result = "M30";   case PERIOD_H1:   result = "H1" ;   case PERIOD_H4:   result = "H4" ;   case PERIOD_D1:   result = "D1" ;   case PERIOD_W1:   result = "W1" ;   case PERIOD_MN1:  result = "MN1";   default:          result = "N/A";   }   if(result == "N/A")   {   if(itimeframe <  PERIOD_H1 ) result = "M"  + itimeframe;   if(itimeframe >= PERIOD_H1 ) result = "H"  + itimeframe/PERIOD_H1;   if(itimeframe >= PERIOD_D1 ) result = "D"  + itimeframe/PERIOD_D1;   if(itimeframe >= PERIOD_W1 ) result = "W"  + itimeframe/PERIOD_W1;   if(itimeframe >= PERIOD_MN1) result = "MN" + itimeframe/PERIOD_MN1;   }   return(result); }                  datetime prevnbtime;bool isNewBar(int tf){   bool res = false;   if(tf >= 0)   {      if(iTime(NULL,tf,0) != prevnbtime)      {      res   = true;      prevnbtime = iTime(NULL,tf,0);      }      }   else res = true;   return(res);}string prevmess;bool BoxAlert(bool cond,string text)   {         string mess = IndicatorName + "("+Symbol()+","+TF + ")" + text;   if (cond && mess != prevmess)	{	Alert (mess);	prevmess = mess; return(true);   return(false);  }datetime pausetime;bool Pause(int sec){   if(TimeCurrent() >= pausetime + sec) {pausetime = TimeCurrent(); return(true);}   return(false);}datetime warningtime;void WarningSound(bool cond,int num,int sec,string sound,datetime curtime){   static int i;   if(cond)   {   if(curtime != warningtime) i = 0   if(i < num && Pause(sec)) {PlaySound(sound); warningtime = curtime; i++;}       	   }}string prevemail;bool EmailAlert(bool cond,string text1,string text2,int num)   {         string subj = "New " + text1 +" Signal from " + IndicatorName + "!!!";       string mess = IndicatorName + "("+Symbol()+","+TF + ")" + text2;   if (cond && mess != prevemail)	{if(subj != "" && mess != ""for(int i=0;i<num;i++) SendMail(subj, mess);  	prevemail = mess; return(true);   return(false);  }string prevpush;bool PushAlert(bool cond,string text)   {         string push = IndicatorName + "("+Symbol() + "," + TF + ")" + text;   if(cond && push != prevpush)	{	SendNotification(push);	prevpush = push; return(true);   return(false);  }

注意:由于时间有限加上对源码的追溯做不到最终解释权,所以我提供的源码EA仅仅只能用来做模拟测试使用,严格禁止商业使用和跑实盘!

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-27 18:27:15 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/671186.html
  2. 运行时间 : 0.088479s [ 吞吐率:11.30req/s ] 内存消耗:4,885.29kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fe6173819283e9ef239e13152df33761
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000488s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001073s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000361s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000257s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000752s ]
  6. SELECT * FROM `set` [ RunTime:0.000242s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000663s ]
  8. SELECT * FROM `article` WHERE `id` = 671186 LIMIT 1 [ RunTime:0.000732s ]
  9. UPDATE `article` SET `lasttime` = 1779877636 WHERE `id` = 671186 [ RunTime:0.001246s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000284s ]
  11. SELECT * FROM `article` WHERE `id` < 671186 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000622s ]
  12. SELECT * FROM `article` WHERE `id` > 671186 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000419s ]
  13. SELECT * FROM `article` WHERE `id` < 671186 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000722s ]
  14. SELECT * FROM `article` WHERE `id` < 671186 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000949s ]
  15. SELECT * FROM `article` WHERE `id` < 671186 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001077s ]
0.090421s