無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
インディケータ

NonLagAMA - MetaTrader 4のためのインディケータ

ビュー:
26660
評価:
(10)
パブリッシュ済み:
2008.12.05 07:52
アップデート済み:
2014.04.21 14:53
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
//+------------------------------------------------------------------+
//|                                                    NonLagAMA.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net/"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_width1 2
#property indicator_color2 RoyalBlue
#property indicator_width2 2
#property indicator_color3 Red
#property indicator_width3 2
//---- input parameters
extern int     Price         =0;
extern int     Length        =25;
extern int     Displace      =0;
extern int     Filter        =0;
extern int     Color         =1;
extern int     ColorBarBack  =2;
extern double  Deviation     =0;
//----
double Cycle= 4;
//---- indicator buffers
double MABuffer[];
double UpBuffer[];
double DnBuffer[];
double price[];
double trend[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
  int init()
  {
   int ft=0;
   string short_name;
//---- indicator line
   IndicatorBuffers(5);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,MABuffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,UpBuffer);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,DnBuffer);
   SetIndexBuffer(3,price);
   SetIndexBuffer(4,trend);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
   SetIndexArrow(0,159);
   SetIndexArrow(1,159);
   SetIndexArrow(2,159);
   SetIndexArrow(3,159);
//---- name for DataWindow and indicator subwindow label
   short_name="NonLagAma("+Length+")";
   IndicatorShortName(short_name);
   SetIndexLabel(0,"NLD");
   SetIndexLabel(1,"Up");
   SetIndexLabel(2,"Dn");
//----
   SetIndexShift(0,Displace);
   SetIndexShift(1,Displace);
   SetIndexShift(2,Displace);
   SetIndexDrawBegin(0,Length*Cycle+Length);
   SetIndexDrawBegin(1,Length*Cycle+Length);
   SetIndexDrawBegin(2,Length*Cycle+Length);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| NonLagMA_v4                                                      |
//+------------------------------------------------------------------+
int start()
  {
   int    i,shift, counted_bars=IndicatorCounted(),limit;
   double alfa, beta, t, Sum, Weight, step,g;
   double pi=3.1415926535;
//----
   double Coeff= 3*pi;
   int Phase=Length-1;
   double Len=Length*Cycle + Phase;
//----
   if(counted_bars > 0) limit=Bars-counted_bars;
   if(counted_bars < 0) return(0);
   if(counted_bars ==0) limit=Bars-Len-1;
   if(counted_bars < 1)
      for(i=1;i<Length*Cycle+Length;i++)
        {
         MABuffer[Bars-i]=0;
         UpBuffer[Bars-i]=0;
         DnBuffer[Bars-i]=0;
        }
   for(shift=limit;shift>=0;shift--)
     {
      Weight=0; Sum=0; t=0;
      for(i=0;i<=Len-1;i++)
        {
         g=1.0/(Coeff*t+1);
         if (t<=0.5)g=1;
         beta=MathCos(pi*t);
         alfa=g * beta;
         price[i]=iMA(NULL,0,1,0,MODE_SMA,Price,shift+i);
         Sum+=alfa*price[i];
         Weight+=alfa;
         if(t < 1)t+=1.0/(Phase-1);
         else if(t < Len-1) t+=(2*Cycle-1)/(Cycle*Length-1);
        }
      if (Weight > 0) MABuffer[shift]=(1.0+Deviation/100)*Sum/Weight;
      if (Filter>0)
        {
         if(MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter*Point)MABuffer[shift]=MABuffer[shift+1];
        }
      if (Color>0)
        {
         trend[shift]=trend[shift+1];
         if (MABuffer[shift]-MABuffer[shift+1] > Filter*Point) trend[shift]= 1;
         if (MABuffer[shift+1]-MABuffer[shift] > Filter*Point) trend[shift]=-1;
         if (trend[shift]>0)
           {
            UpBuffer[shift]=MABuffer[shift];
            if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
            DnBuffer[shift]=EMPTY_VALUE;
           }
         if (trend[shift]<0)
           {
            DnBuffer[shift]=MABuffer[shift];
            if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
            UpBuffer[shift]=EMPTY_VALUE;
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
Variation Index Variation Index

The indicator displays what dominates in a time series: the trend or the flat component or the series acts randomly.

JimsCloseOrders JimsCloseOrders

Simple EA to Close Orders

MultiStrend MultiStrend

Indicator MultiStrend. It works only with the Supertrend indicator.

Index Dollar Index Dollar

The indicator draws the dollar index on the chart. The indicator is intended to simplify the charts analysis.