诚信为本
量力而为
当前位置:峰汇在线 > MetaTrader 4 > MT4指标 > 正文

Laguerre.mq4

Laguerre指标是一款经典的MT4副图指标。

图表:Laguerre指标

源码:

//+------------------------------------------------------------------+
//|                                                     Laguerre.mq4 |
//|                                                     Emerald King |
//+------------------------------------------------------------------+
#property copyright "Emerald King"
#property link      "http://www.125808047.com/"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Magenta
#property indicator_level2 0.75
#property indicator_level3 0.45
#property indicator_level4 0.15

extern double gamma = 0.7;
extern int CountBars = 950;

double L0 = 0;
double L1 = 0;
double L2 = 0;
double L3 = 0;
double L0A = 0;
double L1A = 0;
double L2A = 0;
double L3A = 0;
double LRSI = 0;
double CU = 0;
double CD = 0;
//---- buffers
double val1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit(void)
  {
   SetIndexBuffer(0, val1);

   if (CountBars > Bars) 
       CountBars = Bars;
   SetIndexDrawBegin(0, Bars - CountBars);
  Comment("www.125808047.com");
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
    int i;
    int    counted_bars = IndicatorCounted();
    i = CountBars - 1;
//----
    while(i >= 0)
      {
        L0A = L0;
        L1A = L1;
        L2A = L2;
        L3A = L3;
        L0 = (1 - gamma)*Close[i] + gamma*L0A;
        L1 = - gamma *L0 + L0A + gamma *L1A;
        L2 = - gamma *L1 + L1A + gamma *L2A;
        L3 = - gamma *L2 + L2A + gamma *L3A;
        //----
        CU = 0;
        CD = 0;
        //----
        if(L0 >= L1) 
            CU = L0 - L1; 
        else 
            CD = L1 - L0;
        //----
        if(L1 >= L2) 
            CU = CU + L1 - L2; 
        else 
            CD = CD + L2 - L1;
        //----
        if(L2 >= L3) 
            CU = CU + L2 - L3; 
        else 
            CD = CD + L3 - L2;
        //----
        if(CU + CD != 0) 
            LRSI = CU / (CU + CD);
        val1[i] = LRSI;
	       i--;
	     }
    return(rates_total);
  }
//+------------------------------------------------------------------+
打赏
版权所有转载请注明标题及链接:峰汇在线 » Laguerre.mq4
上一篇:
下一篇:
分享到: 更多 (0)

如您觉得此文不错请扫码打赏!

支付宝扫一扫打赏

微信扫一扫打赏