Author: Copyright � 2010, Fomenko
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
Val_Bands
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ
//|   Val_Bands.mq4                                                           |
//|   Èíäèêàòîð âîëàíòèëüíîñòè äëèíû ñâå÷åé:                                  |
//|      - êðàñíàÿ ãèñòîãðàììà - äëèíà ñâå÷è â ïèïñàõ                         |
//|      - ëèíèè: ýòî ñðåäíèå îò äëèíû ñâå÷åé ñî ñòàíäàðòíûì îòêëîíåíèåì      |
//|    Íàñòðîéêè - àíàëîãè÷íû êàíàëó Áîëèíäæåðà                               |
//|    Èñïîëüçîâàíèå. Óäîáåí äëÿ îòñëåæèàíèÿ ãýïîâ íà ðûíêå. Çà ãýï ñ÷èòåòñÿ  |
//|                    âñå, ÷òî âûøå æåëòîé ëèíèè                             |
//|      - âûõîä çà âåðõíþþ ãðàíèöó - à) ïîäàðîê â ÒÐ (åñëè ïî ïîçèöèè);      |
//|                                   á) SL (åñëè ïðîòèâ ïîçèöèè;             | 
//|                                   â) çàïðåò âõîäà â ýòîé òî÷êå            |
//|      - âûõîä çà íèæíþþ ãðàíèöó - áîêîâèê                                  |
//|      - ïåðåñå÷åíèå ñíèçó ââåðõ íèæíåé ãðàíèöû - íà÷àëî òðåíäà.            |
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ
#property copyright "Copyright © 2010, Fomenko"
#property link      "http://faa1947@mail.ru"

// ----------------- Îòäåëüíîå îêíî äëÿ èíäèêàòîðà ----------------------------
#property   indicator_separate_window
// ---------------- Êîë-âî âèäèìûõ áóôåðîâ èíäèêàòîðà -------------------------
#property   indicator_buffers 4
// ---------------- Óñòàíîâêà öâåòà èíäèêàòîðà --------------------------------
#property   indicator_color1           LightSeaGreen
#property   indicator_color2           Yellow 
#property   indicator_color3           Orchid
#property   indicator_color4           Red
// ---------------- Óñòàíîâêà øèðèíû ëèíèè -----------------------------------
#property   indicator_width1           2
#property   indicator_width2           1
#property   indicator_width3           1
#property   indicator_width4           1
// ---------------- Óñòàíîâêà ñòèëÿ ëèíèè -----------------------------------
#property   indicator_style1           0
#property   indicator_style2           0
#property   indicator_style3           0
#property   indicator_style4           0
//----------------- Âíåøíèå íàñòðîéêè èíäèêàòîðà ==========--------------------
extern      int    BandsPeriod      =  14;      // Ïåðèîä ðàñ÷åòà
extern      double BandsDeviations  =  1.0;     // Âåëè÷èíà ñòàíäàðòíîãî îòêëîíåíèÿ
int    BandsShift       =  0;       // Ñäâèã îòíîñèòåëüíî ãðàôèêà
//----------------- Îáúÿâëåíèå áóôåðîâ èíèäèêàòîðîâ --------------------------
double MovingBuffer[];
double UpperBuffer[];
double LowerBuffer[];
double Val_BarsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   IndicatorDigits(1);
//--------- Òðè âèäèìûõ áóôåðà --------------------------------------
   IndicatorBuffers(4);
//---------- Óñòàíîâêà ïàðàìåòðîâ ðèñîâàíèÿ -------------------------
   SetIndexStyle(0,DRAW_LINE);
   SetIndexDrawBegin(0,BandsPeriod+BandsShift);

   SetIndexStyle(1,DRAW_LINE);
   SetIndexDrawBegin(1,BandsPeriod+BandsShift);

   SetIndexStyle(2,DRAW_LINE);
   SetIndexDrawBegin(2,BandsPeriod+BandsShift);

   SetIndexStyle(3,DRAW_HISTOGRAM);
   SetIndexDrawBegin(3,BandsPeriod+BandsShift);
//---------- Ïðèâÿçûâàåì íîìåð áóôåðà ê åãî èìåíè -------------------
   SetIndexBuffer(0,MovingBuffer);
   SetIndexBuffer(1,UpperBuffer);
   SetIndexBuffer(2,LowerBuffer);
   SetIndexBuffer(3,Val_BarsBuffer);
// ----------- Óñòàíàâëèâàåì ïåðâîíà÷àëüíûå çíà÷åíèÿ ---------------
   SetIndexEmptyValue      (0,   0.0);
   SetIndexEmptyValue      (1,   0.0);
   SetIndexEmptyValue      (2,   0.0);
   SetIndexEmptyValue      (3,   0.0);
//------------------ Ìåòêà äëÿ ëèíèè èíäèêàòîðà ---------------------
   SetIndexLabel(0,"Mov");
   SetIndexLabel(1,"Up");
   SetIndexLabel(2,"Down");

   return(0);
  }
//+------------------------------------------------------------------+
//| Bollinger Bands                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int      i,
   k;
   double   deviation;
   double   sum,
   oldval,
   newres;
//----
   if(Bars<=BandsPeriod) return(0);
//---------------- Âû÷èñëÿåì ñðåäíþþ --------------------------------
   
   int counted_bars = IndicatorCounted();
   if(counted_bars < 0)  return(-1);
   if(counted_bars > 0)   counted_bars--;
   int limit = Bars - counted_bars;
   if(counted_bars==0) limit-=1+BandsPeriod;   
      
   for(i=0;    i<limit;   i++)
      Val_BarsBuffer[i]=(High[i]-Low[i])/Point;
   for(i=0;    i<limit;   i++)
      MovingBuffer[i]=iMAOnArray(Val_BarsBuffer,
                                 Bars,
                                 BandsPeriod,
                                 BandsShift,
                                 MODE_SMA,// MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA
                                 i);
//--------------- Âû÷èñëÿåì ñòîðîíû êàíàëà ----------------------------
   i=limit;
   if(counted_bars>BandsPeriod-1) i=Bars-counted_bars-1;
   while(i>=0)
     {
      sum            =  0.0;
      k              =  i  +  BandsPeriod -  1;
      oldval         =  MovingBuffer[i];
      while(k>=i)
        {
         newres=Val_BarsBuffer[k]-oldval;
         sum+=newres   *newres;
         k--;
        }
      deviation      =  BandsDeviations   *  MathSqrt(sum   /  BandsPeriod);
      UpperBuffer[i] =  oldval   +  deviation;
      LowerBuffer[i] =  oldval   -  deviation;
      i--;
     }
//----------------- Èíäèêàòîð âû÷èñëåí --------------------------------
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {

   return(0);
  }
//+------------------------------------------------------------------+

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 ---