Author: Copyright � 2010, LeMan.
Indicators Used
Moving average indicatorMoving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
DV
//+------------------------------------------------------------------+
//|                                                    variation.mq4 |
//|                                         Copyright © 2010, LeMan. |
//|                                                 b-market@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, LeMan."
#property link      "b-market@mail.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Aqua
#property indicator_width1 2

//---- input parameters
extern bool SMOOTH=true;
extern int       N=20,
                 SmoothPower=0; //ñòåïåíü ñãëàæèâàíèÿ ñèãíàëà
//---- buffers
double DV[];
double B1[];
double B2[];



//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  string short_name;
  IndicatorDigits(Digits+2);
  IndicatorBuffers(3);
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,DV);
   SetIndexBuffer(1,B1);
   SetIndexBuffer(2,B2);
//----
   if (N <= 0) N = 20;   
//----
   SetIndexDrawBegin(0, N*2); 
//----
   short_name = "Variation (" + N +")";
   IndicatorShortName(short_name);
   SetIndexLabel(0, short_name);     
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
   int limit=Bars-N-1,counted_bars=IndicatorCounted();
   if(counted_bars>0) limit=Bars-counted_bars-1;
   for (int i=limit;i>=0;i--) {
      double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);
      B2[i] = Close[i]-ma;
   }  
//----
   i=Bars-N*2-1;
   if(counted_bars>0) i=Bars-counted_bars-1;
   while (i >= 0) {
      double vr=iMAOnArray(B2,Bars,N,0,MODE_SMA,i);
      double mov=iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i);
      B1[i]=1000*(Close[i]-(mov+vr));
      i--;
   }    
//----
   i=Bars-N*2-60;
   if(counted_bars>0) i=Bars-counted_bars-1;
   if(SMOOTH==true) {while(i>=0) {DV[i]=SP(i); i--;}}
   else {while(i>=0) {DV[i]=B1[i]; i--;}}
//----
   return(0);
  }
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//  
  
//+------------------------------------------------------------------+
//| âîçâðàùàåò çàïðàøèâàåìûé ôèëüòð ñ ðàçíîé ñòåïåíüþ ñãëàæèâàíèÿ    |
//+------------------------------------------------------------------+
double SP(int i)
  {
//----
  double res;
  switch (SmoothPower)
    {
    case 1:
res= 
  0.2926875484300*B1[i]
 +0.2698679548204*B1[i+1]
 +0.2277786802786*B1[i+2]
 +0.1726588586020*B1[i+3]
 +0.1124127695806*B1[i+4]
 +0.0550645669333*B1[i+5]
 +0.00733791069745*B1[i+6]
 -0.02637426808863*B1[i+7]
 -0.0445334647733*B1[i+8]
 -0.0483673837716*B1[i+9]
 -0.0412219004631*B1[i+10]
 -0.02759007317598*B1[i+11]
 -0.01206738017651*B1[i+12]
 +0.001567315986223*B1[i+13]
 +0.01094916192054*B1[i+14]
 +0.01530469318242*B1[i+15]
 +0.01532526278128*B1[i+16]
 +0.01296015381098*B1[i+17]
 +0.01157140552294*B1[i+18]
 -0.00533181209765*B1[i+19];break;
 
      case 2: 
res= 
  0.2447098565978*B1[i]
 +0.2313977400697*B1[i+1]
 +0.2061379694732*B1[i+2]
 +0.1716623034064*B1[i+3]
 +0.1314690790360*B1[i+4]
 +0.0895038754956*B1[i+5]
 +0.0496009165125*B1[i+6]
 +0.01502270569607*B1[i+7]
 -0.01188033734430*B1[i+8]
 -0.02989873856137*B1[i+9]
 -0.0389896710490*B1[i+10]
 -0.0401411362639*B1[i+11]
 -0.0351196808580*B1[i+12]
 -0.02611613850342*B1[i+13]
 -0.01539056955666*B1[i+14]
 -0.00495353651394*B1[i+15]
 +0.00368588764825*B1[i+16]
 +0.00963614049782*B1[i+17]
 +0.01265138888314*B1[i+18]
 +0.01307496106868*B1[i+19]
 +0.01169702291063*B1[i+20]
 +0.00974841844086*B1[i+21]
 +0.00898900012545*B1[i+22]
 -0.00649745721156*B1[i+23]; break;
 
      case 3: 
res=
  0.2101888714743*B1[i]
 +0.2017361306871*B1[i+1]
 +0.1854987469779*B1[i+2]
 +0.1627557943437*B1[i+3]
 +0.1352455218956*B1[i+4]
 +0.1049955517302*B1[i+5]
 +0.0741580960823*B1[i+6]
 +0.0448262586090*B1[i+7]
 +0.01870440453637*B1[i+8]
 -0.002814841280245*B1[i+9]
 -0.01891352345654*B1[i+10]
 -0.02929206622741*B1[i+11]
 -0.0341888300133*B1[i+12]
 -0.0342703255777*B1[i+13]
 -0.03055656616909*B1[i+14]
 -0.02422648959598*B1[i+15]
 -0.01651476470542*B1[i+16]
 -0.00857503584404*B1[i+17]
 -0.001351831295525*B1[i+18]
 +0.00448511071596*B1[i+19]
 +0.00855374511399*B1[i+20]
 +0.01076725654789*B1[i+21]
 +0.01131091969998*B1[i+22]
 +0.01057394212462*B1[i+23]
 +0.00912947281517*B1[i+24]
 +0.00771484446233*B1[i+25]
 +0.00732318993223*B1[i+26]
 -0.00726358358348*B1[i+27]; break;
 
      case 4: 
res=
  0.1841600001487*B1[i]
 +0.1784754786728*B1[i+1]
 +0.1674508960246*B1[i+2]
 +0.1517504699970*B1[i+3]
 +0.1323034848757*B1[i+4]
 +0.1102401824660*B1[i+5]
 +0.0867964146007*B1[i+6]
 +0.0632389269284*B1[i+7]
 +0.0407389647190*B1[i+8]
 +0.02035075474450*B1[i+9]
 +0.002915227087755*B1[i+10]
 -0.01100443994875*B1[i+11]
 -0.02116075293157*B1[i+12]
 -0.02747786871251*B1[i+13]
 -0.03024034479978*B1[i+14]
 -0.02988490637108*B1[i+15]
 -0.02702558542347*B1[i+16]
 -0.02236077351054*B1[i+17]
 -0.01662176948519*B1[i+18]
 -0.01050105629699*B1[i+19]
 -0.00460605501191*B1[i+20]
 +0.000582766458037*B1[i+21]
 +0.00473324688655*B1[i+22]
 +0.00766855376673*B1[i+23]
 +0.00936273985238*B1[i+24]
 +0.00991966879705*B1[i+25]
 +0.00955690928799*B1[i+26]
 +0.00857195408578*B1[i+27]
 +0.00734849040305*B1[i+28]
 +0.00634910972836*B1[i+29]
 +0.00617002099346*B1[i+30]
 -0.00780070803276*B1[i+31]; break; 
 
      case 5: 
res=
  0.1638504429550*B1[i]
 +0.1598485090620*B1[i+1]
 +0.1520285056667*B1[i+2]
 +0.1407759621461*B1[i+3]
 +0.1266145946036*B1[i+4]
 +0.1101999467868*B1[i+5]
 +0.0922810246421*B1[i+6]
 +0.0736414430377*B1[i+7]
 +0.0550613836268*B1[i+8]
 +0.0372780690048*B1[i+9]
 +0.02094281812508*B1[i+10]
 +0.00658930585105*B1[i+11]
 -0.00538855535197*B1[i+12]
 -0.01474498292814*B1[i+13]
 -0.02139199173398*B1[i+14]
 -0.02541417253316*B1[i+15]
 -0.02702341057229*B1[i+16]
 -0.02647614727071*B1[i+17]
 -0.02421775125345*B1[i+18]
 -0.02065411010395*B1[i+19]
 -0.01625074823286*B1[i+20]
 -0.01145130552469*B1[i+21]
 -0.00665356586398*B1[i+22]
 -0.002196710270528*B1[i+23]
 +0.001656596678561*B1[i+24]
 +0.00473296009497*B1[i+25]
 +0.00694308970535*B1[i+26]
 +0.00827947138512*B1[i+27]
 +0.00880879507493*B1[i+28]
 +0.00865791955067*B1[i+29]
 +0.00800414344065*B1[i+30]
 +0.00706330074106*B1[i+31]
 +0.00608814048308*B1[i+32]
 +0.00538380036114*B1[i+33]
 +0.00532891349043*B1[i+34]
 -0.00819568487412*B1[i+35]; break;
 
      case 6: 
res=
  0.1475657670368*B1[i]
 +0.1446405411673*B1[i+1]
 +0.1389042575727*B1[i+2]
 +0.1305751002746*B1[i+3]
 +0.1199864911731*B1[i+4]
 +0.1075255410806*B1[i+5]
 +0.0936615730647*B1[i+6]
 +0.0788949093050*B1[i+7]
 +0.0637465101034*B1[i+8]
 +0.0487276238639*B1[i+9]
 +0.0343174315294*B1[i+10]
 +0.02094370638877*B1[i+11]
 +0.00896531966221*B1[i+12]
 -0.001341999129024*B1[i+13]
 -0.00978712653663*B1[i+14]
 -0.01627791183058*B1[i+15]
 -0.02080151436502*B1[i+16]
 -0.02343895781894*B1[i+17]
 -0.02435214700067*B1[i+18]
 -0.02376786389147*B1[i+19]
 -0.02193912806308*B1[i+20]
 -0.01912053352973*B1[i+21]
 -0.01567028095913*B1[i+22]
 -0.01183273845729*B1[i+23]
 -0.00790611190014*B1[i+24]
 -0.00412385952442*B1[i+25]
 -0.000685399211775*B1[i+26]
 +0.002260911767506*B1[i+27]
 +0.00461801537249*B1[i+28]
 +0.00633741616229*B1[i+29]
 +0.00741961543986*B1[i+30]
 +0.00790789206069*B1[i+31]
 +0.00788111695823*B1[i+32]
 +0.00745129870298*B1[i+33]
 +0.00674985662064*B1[i+34]
 +0.00593128562366*B1[i+35]
 +0.00517071741994*B1[i+36]
 +0.00467211882117*B1[i+37]
 +0.00468906740665*B1[i+38]
 -0.00849851236070*B1[i+39]; break; 
 
      case 7: 
res=
  0.1342157583828*B1[i]
 +0.1320168704847*B1[i+1]
 +0.1276873471586*B1[i+2]
 +0.1213643729739*B1[i+3]
 +0.1132520713460*B1[i+4]
 +0.1036083698498*B1[i+5]
 +0.0927280425508*B1[i+6]
 +0.0809406915977*B1[i+7]
 +0.0686105258715*B1[i+8]
 +0.0560701395588*B1[i+9]
 +0.0436869941553*B1[i+10]
 +0.0317716835118*B1[i+11]
 +0.02062340027452*B1[i+12]
 +0.01049287508919*B1[i+13]
 +0.001578073235404*B1[i+14]
 -0.00597507422440*B1[i+15]
 -0.01207707288043*B1[i+16]
 -0.01669798399142*B1[i+17]
 -0.01986198555101*B1[i+18]
 -0.02164119825031*B1[i+19]
 -0.02215230961811*B1[i+20]
 -0.02155191142867*B1[i+21]
 -0.02002808597329*B1[i+22]
 -0.01778220203770*B1[i+23]
 -0.01500325973440*B1[i+24]
 -0.01187583268349*B1[i+25]
 -0.00865026821576*B1[i+26]
 -0.00543510816909*B1[i+27]
 -0.002420531056597*B1[i+28]
 +0.0002889057085442*B1[i+29]
 +0.002599652575601*B1[i+30]
 +0.00445344386830*B1[i+31]
 +0.00582556501823*B1[i+32]
 +0.00671941035514*B1[i+33]
 +0.00716358274204*B1[i+34]
 +0.00721108593431*B1[i+35]
 +0.00693382886173*B1[i+36]
 +0.00641737976071*B1[i+37]
 +0.00576046002138*B1[i+38]
 +0.00507417448638*B1[i+39]
 +0.00448195239124*B1[i+40]
 +0.00412727462648*B1[i+41]
 +0.00418669196944*B1[i+42]
 -0.00873780054566*B1[i+43]; break;
 
      case 8: 
res=
  0.1230811432921*B1[i]
 +0.1213830265980*B1[i+1]
 +0.1180348688628*B1[i+2]
 +0.1131248477390*B1[i+3]
 +0.1067888736447*B1[i+4]
 +0.0991886630563*B1[i+5]
 +0.0905283970643*B1[i+6]
 +0.0810323992972*B1[i+7]
 +0.0709406523601*B1[i+8]
 +0.0605028783409*B1[i+9]
 +0.0499660517196*B1[i+10]
 +0.0395768971912*B1[i+11]
 +0.02956612933181*B1[i+12]
 +0.02012982828450*B1[i+13]
 +0.01146221166452*B1[i+14]
 +0.00369983285522*B1[i+15]
 -0.003038977187834*B1[i+16]
 -0.00868021984873*B1[i+17]
 -0.01318508621117*B1[i+18]
 -0.01655096644715*B1[i+19]
 -0.01881253249101*B1[i+20]
 -0.02003063357865*B1[i+21]
 -0.02029727780544*B1[i+22]
 -0.01972188576919*B1[i+23]
 -0.01843477354910*B1[i+24]
 -0.01658081992154*B1[i+25]
 -0.01430671529886*B1[i+26]
 -0.01175302972849*B1[i+27]
 -0.00904320119485*B1[i+28]
 -0.00630514721661*B1[i+29]
 -0.00369357675439*B1[i+30]
 -0.001242693518572*B1[i+31]
 +0.000926258391563*B1[i+32]
 +0.002776968147451*B1[i+33]
 +0.00426926013496*B1[i+34]
 +0.00538851571708*B1[i+35]
 +0.00613947934547*B1[i+36]
 +0.00654179765073*B1[i+37]
 +0.00663281051554*B1[i+38]
 +0.00645954126814*B1[i+39]
 +0.00608069576729*B1[i+40]
 +0.00556313321406*B1[i+41]
 +0.00497954512068*B1[i+42]
 +0.00441241979276*B1[i+43]
 +0.00395101867555*B1[i+44]
 +0.00369891645504*B1[i+45]
 +0.00378072162625*B1[i+46]
 -0.00893024660315*B1[i+47]; break;
 
      case 9: 
res=
  0.1136491141667*B1[i]
 +0.1123130870080*B1[i+1]
 +0.1096691394261*B1[i+2]
 +0.1057837207790*B1[i+3]
 +0.1007420961698*B1[i+4]
 +0.0946599675379*B1[i+5]
 +0.0876755484183*B1[i+6]
 +0.0799429655454*B1[i+7]
 +0.0716292336416*B1[i+8]
 +0.0629123835413*B1[i+9]
 +0.0539767262326*B1[i+10]
 +0.0450048491714*B1[i+11]
 +0.0361703734359*B1[i+12]
 +0.02763520549089*B1[i+13]
 +0.01955011451800*B1[i+14]
 +0.01205357915205*B1[i+15]
 +0.00525211553366*B1[i+16]
 -0.000770477101024*B1[i+17]
 -0.00593916191975*B1[i+18]
 -0.01022805895137*B1[i+19]
 -0.01361544672818*B1[i+20]
 -0.01611640231317*B1[i+21]
 -0.01776260795296*B1[i+22]
 -0.01860554342447*B1[i+23]
 -0.01871505916941*B1[i+24]
 -0.01817487448682*B1[i+25]
 -0.01707856129273*B1[i+26]
 -0.01552770218471*B1[i+27]
 -0.01362988259084*B1[i+28]
 -0.01149332680480*B1[i+29]
 -0.00921892385382*B1[i+30]
 -0.00689459719023*B1[i+31]
 -0.00459651305691*B1[i+32]
 -0.002411870743968*B1[i+33]
 -0.000431732873329*B1[i+34]
 +0.001353807064687*B1[i+35]
 +0.002857282707287*B1[i+36]
 +0.00408190921586*B1[i+37]
 +0.00501143566228*B1[i+38]
 +0.00565074521587*B1[i+39]
 +0.00601564306030*B1[i+40]
 +0.00613066979989*B1[i+41]
 +0.00602923574050*B1[i+42]
 +0.00575258932729*B1[i+43]
 +0.00534744169195*B1[i+44]
 +0.00486457915178*B1[i+45]
 +0.00435951288835*B1[i+46]
 +0.00389329662905*B1[i+47]
 +0.00353234960893*B1[i+48]
 +0.00335331131328*B1[i+49]
 +0.00344636014208*B1[i+50]
 -0.00908964634931*B1[i+51]; break; 
 
       default: 
 res=
  0.363644232288*B1[i]
 +0.319961361319*B1[i+1]
 +0.2429021537279*B1[i+2]
 +0.1499479402208*B1[i+3]
 +0.0606476023757*B1[i+4]
 -0.00876136797274*B1[i+5]
 -0.0492967601969*B1[i+6]
 -0.0606402244647*B1[i+7]
 -0.0496978153976*B1[i+8]
 -0.02724932305397*B1[i+9]
 -0.00400372352396*B1[i+10]
 +0.01244416185618*B1[i+11]
 +0.01927941647120*B1[i+12]
 +0.01821767237980*B1[i+13]
 +0.01598780862402*B1[i+14]
 -0.00338313465225*B1[i+15];
     
    }
  return(res);
//----    
  }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---