KiS_Avg_v2
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
KiS_Avg_v2
//+------------------------------------------------------------------+
//| KiS_max_min_Avg.mq4                                              |
//+------------------------------------------------------------------+
/*
Name := KiS_max_min_Avg
Author := KCBT
Link := http://www.kcbt.ru/forum/index.php?
*/
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 MediumOrchid
#property indicator_color2 Aqua
#property indicator_color3 MediumOrchid
//---- indicator buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0, ExtMapBuffer1);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(1, ExtMapBuffer2);
   SetIndexStyle(1, DRAW_LINE);
   SetIndexBuffer(2, ExtMapBuffer3);
   SetIndexStyle(2, DRAW_LINE);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   Comment("");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+
int start()
  {
   int shift, i, CurDay, BarCount;
   double DayMax, DayMin;
   double DayOpen, DayClose, Avg;
//----
     for(shift=Bars-1; shift>=0; shift--) 
     {
        if (CurDay!=TimeDay(Time[shift])) 
        {
           for(i=BarCount; i>=0; i--) 
           {
            ExtMapBuffer1[shift+i]=DayMax;
            ExtMapBuffer2[shift+i]=(DayMax+DayMin)/2;
            ExtMapBuffer3[shift+i]=DayMin;
           }
         CurDay=TimeDay(Time[shift]);
         BarCount=0;
         DayMax=0;
         DayMin=1000; //Çàðàíåå áîëüøå, ÷òîá óìåíüøèëñÿ â ïðîöåññå
         DayOpen=Open[shift];
        }
      if (DayMax < High[shift]) {DayMax=High[shift];}
      if (DayMin > Low[shift]) {DayMin=Low[shift];}
      BarCount=BarCount + 1;
     }
   // ýòî äîðèñîâêà ïîñëåäíåãî, íåçàâåðøåííîãî åùå, äíÿ
     for(i=BarCount; i>=0; i--) 
     {
      ExtMapBuffer1[shift+i]=DayMax;
      ExtMapBuffer2[shift+i]=(DayMax+DayMin)/2;
      ExtMapBuffer3[shift+i]=DayMin;
     }
   DayClose=Close[0];
   Avg=(DayMax+DayMin)/2; //ñðåäíÿÿ çà òåêóùèé äåíü
//----
   Comment("Max:", DayMax," Min:", DayMin, "\n", "Avg:", Avg, " Width:", (DayMax-DayMin)/Point,"\n","Îò Avg äî Open:",MathRound(MathAbs(Avg-DayOpen)/Point),"\n","Îò Avg äî Close:",MathRound(MathAbs(Avg-DayClose)/Point));
   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 ---