i-Ma_of_Day

Author: Copyright � 2010, MetaQuotes Software Corp.
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
i-Ma_of_Day
//+------------------------------------------------------------------+
//|                                                  i-Ma_of_Day.mq4 |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                              http://www.mql4.com/ru/users/costy_ |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.mql4.com/ru/users/costy_"


#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 RoyalBlue
#property indicator_color3 Blue
#property indicator_color4 ForestGreen
#property indicator_color5 RoyalBlue
#property indicator_color6 Blue
#property indicator_color7 Magenta
#property indicator_color8 Red
extern string     xxxxxxxxxxxxxxxxxxxõxxxxxxxxxx =  "---------------------------------------------------------";
extern bool      Îãðàíè÷èòü_êîë_âî_áàðîâ=true;   //òåêóùèì îòêðûòèåì äíÿ
extern bool      Day_  =true;
extern bool      Day2_ =true;
extern bool      Day3_ =true;
extern bool      Day4_ =false;
extern bool      Day5_ =false;
extern bool      Day6_ =false;
extern bool      Day7_ =false;
extern bool      Day8_ =false;

extern string     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxõ =  "---------------------------------------------------------";
extern string     Ìåòîä_âû÷èñëåíèÿ_ÌÀ = "0 Ïðîñò 1 Ýêñ 2 Ñãë 3 Ëèí-âçâåøåííîå";
extern int        Ìåòîä_óñðåäíåíèÿ_ÌÀ=0; 
extern int        Èñïîëüçóåìàÿ_öåíà_ÌÀ=4;

//----

double ma1_buffer [], ma2_buffer [], ma3_buffer [], ma4_buffer [],
       ma5_buffer [], ma6_buffer [], ma7_buffer [], ma8_buffer [],
       buffers_all [8];  

string lab_days[8]={"Day 1","Day 2","Day 3","Day 4","Day 5","Day 6","Day 7","Day 8"};
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init()  {
   for (int p = 0; p <= 7; p++)   SetIndexStyle(p,DRAW_LINE,STYLE_DASHDOT);

   SetIndexBuffer(0, ma1_buffer);   SetIndexBuffer(1, ma2_buffer);
   SetIndexBuffer(2, ma3_buffer);   SetIndexBuffer(3, ma4_buffer);
   SetIndexBuffer(4, ma5_buffer);   SetIndexBuffer(5, ma6_buffer);
   SetIndexBuffer(6, ma7_buffer);   SetIndexBuffer(7, ma8_buffer);
}
//+------------------------------------------------------------------+
void deinit()  { for ( int p = 0; p <= 7; p++)ObjectDelete(lab_days[p]); }
//+------------------------------------------------------------------+
void start() {
//+------------------------------------------------------------------+
    int Îãðàíè÷åíèå_ñåãîäíÿøíèì_äíåì = iBarShift(Symbol(), 0, iTime(Symbol(), PERIOD_D1, iBarShift(Symbol(), PERIOD_D1, Time[0])));
    if(Îãðàíè÷åíèå_ñåãîäíÿøíèì_äíåì<1)Îãðàíè÷åíèå_ñåãîäíÿøíèì_äíåì=1;
//+------------------------------------------------------------------+
   int limit = Bars - IndicatorCounted() - 1;
//+------------------------------------------------------------------+
   for (int i=limit; i>=0; i--)       {
       if(Îãðàíè÷èòü_êîë_âî_áàðîâ)
       if(i>Îãðàíè÷åíèå_ñåãîäíÿøíèì_äíåì) continue;
//+------------------------------------------------------------------+
         if(Day_)         {
         datetime BeginDay = iTime(Symbol(), PERIOD_D1,    // Ðàñ÷åò âðåìåíè íà÷àëà ñóòîê
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay = iBarShift(Symbol(), 0, BeginDay)-i;
         if(StartBarDay<1)StartBarDay=1;
         ma1_buffer[i] = iMA(Symbol(), 0 , StartBarDay, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day2_)         {
         datetime BeginDay2 = iTime(Symbol(), PERIOD_D1,1+    // Ðàñ÷åò âðåìåíè íà÷àëà 2 ñóòîê
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay2 = iBarShift(Symbol(), 0, BeginDay2)-i+1;
         if(StartBarDay2<1)StartBarDay2=1;
         ma2_buffer[i] = iMA(Symbol(), 0 , StartBarDay2, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day3_)         {
         datetime BeginDay3 = iTime(Symbol(), PERIOD_D1,2+    
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay3 = iBarShift(Symbol(), 0, BeginDay3)-i+1;
         if(StartBarDay3<1)StartBarDay3=1;
         ma3_buffer[i] = iMA(Symbol(), 0 , StartBarDay3, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day4_)         {
         datetime BeginDay4 = iTime(Symbol(), PERIOD_D1,3+    
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay4 = iBarShift(Symbol(), 0, BeginDay4)-i+1;
         if(StartBarDay4<1)StartBarDay4=1;
         ma4_buffer[i] = iMA(Symbol(), 0 , StartBarDay4, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day5_)         {
         datetime BeginDay5 = iTime(Symbol(), PERIOD_D1,4+    
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay5 = iBarShift(Symbol(), 0, BeginDay5)-i+1;
         if(StartBarDay5<1)StartBarDay5=1;
         ma5_buffer[i] = iMA(Symbol(), 0 , StartBarDay5, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day6_)         {
         datetime BeginDay6 = iTime(Symbol(), PERIOD_D1,5+    
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay6 = iBarShift(Symbol(), 0, BeginDay6)-i+1;
         if(StartBarDay6<1)StartBarDay6=1;
         ma6_buffer[i] = iMA(Symbol(), 0 , StartBarDay6, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day7_)         {
         datetime BeginDay7 = iTime(Symbol(), PERIOD_D1,6+   
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay7 = iBarShift(Symbol(), 0, BeginDay7)-i+1;
         if(StartBarDay7<1)StartBarDay7=1;
         ma7_buffer[i] = iMA(Symbol(), 0 , StartBarDay7, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
         if(Day8_)         {
         datetime BeginDay8 = iTime(Symbol(), PERIOD_D1,7+    
                                  iBarShift(Symbol(), PERIOD_D1, Time[i]));   
         int StartBarDay8 = iBarShift(Symbol(), 0, BeginDay8)-i+1;
         if(StartBarDay8<1)StartBarDay8=1;
         ma8_buffer[i] = iMA(Symbol(), 0 , StartBarDay8, 0, Ìåòîä_óñðåäíåíèÿ_ÌÀ, Èñïîëüçóåìàÿ_öåíà_ÌÀ, i);
         }
//+------------------------------------------------------------------+
        }
   buffers_all [0] =  ma1_buffer[0];  
   buffers_all [1] =  ma2_buffer[0];  
   buffers_all [2] =  ma3_buffer[0];  
   buffers_all [3] =  ma4_buffer[0];  
   buffers_all [4] =  ma5_buffer[0];  
   buffers_all [5] =  ma6_buffer[0];  
   buffers_all [6] =  ma7_buffer[0];  
   buffers_all [7] =  ma8_buffer[0];  
 for ( int p = 0; p <= 7; p++)   {
   if (ObjectFind(lab_days[p])==-1) ObjectCreate(lab_days[p],OBJ_TEXT,0,0,0);
   ObjectMove(lab_days[p],0,Time[0], buffers_all[p]+4*Point);
   ObjectSetText(lab_days[p],"               <-<"+lab_days[p], 8, "Verdana", Gold);
   }
}
//+------------------------------------------------------------------+ 

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