Author: Copyright � 2006, MetaQuotes Software Corp.
RSL1
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
1 Views
0 Downloads
0 Favorites
RSL1
//+------------------------------------------------------------------+
//|                                                         RSL1.mq4 |
//|                      Copyright © 2006, Õàðèòîíîâ À.             |
//|                                        HaritonovAB@rambler.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "HaritonovAB@rambler.ru"

#property indicator_chart_window
#property indicator_buffers 1

//---- input parameters
extern int       MA_period=20;                              // Ïåðèîä îïîðíîé ñêîëüçÿùåé ñðåäíåé (MA)
extern double    LHistoCor=1.0;                             // Ìíîæèòåëü êîððåêòèðîâêè âèäèìîé äëèíû ãèñòîãðàììû 
extern color     Hcolor=Red;                                // Öâåò ãèñòîãðàììû
double MA[];
int RS[];
int FS,n;
double maxHigh,minLow;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
  IndicatorBuffers(1);
  SetIndexStyle(0,DRAW_NONE);
  SetIndexBuffer(0,MA);
int Asize;
maxHigh=High[Highest(NULL,0,MODE_HIGH,WHOLE_ARRAY,0)];
minLow =Low[Lowest(NULL,0,MODE_LOW,WHOLE_ARRAY,0)];
Asize= (maxHigh - minLow)/Point;
ArrayResize(RS,Asize);
ArrayInitialize(RS, 0); 
n=0;
Print(Asize,"   ",maxHigh,"   ",minLow);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectsDeleteAll(0, OBJ_RECTANGLE); 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
 {
int i, j,k,t,counted_bars=IndicatorCounted();
double mH,mL,maxRS;
mH=minLow;mL=maxHigh;
string LineName;
  //----
  if(Bars<=MA_period) return(0);
  //---- initial zero
  if(counted_bars<MA_period)
  for(i=1;i<=0;i++)MA[Bars-i]=0.0;
  //----
  i=Bars-MA_period-1;
  if(counted_bars>=MA_period)i=Bars-counted_bars-1;
  
  while(i>=1) {
 MA[i]=iMA(NULL,0,13,0,MODE_EMA,PRICE_MEDIAN,i);
if(High[i]>mH)mH=High[i];if((MA[i]>MA[i+1])&&(MA[i+1]<MA[i+2])){k=(mL-minLow)/Point;RS[k]++;mH=mL;}
if(Low[i]<mL)mL=Low[i];  if((MA[i]<MA[i+1])&&(MA[i+1]>MA[i+2])){k=(mH-minLow)/Point;RS[k]++;mL=mH;}

         i--; }
        ObjectsDeleteAll(0, OBJ_RECTANGLE); 
        t=Period()*60*LHistoCor;
        j=(maxHigh-minLow)/Point-1;Print(j);
        while(j>=0){
        LineName="P_line"+j;
         ObjectCreate(LineName,OBJ_RECTANGLE,0,Time[FirstVisibleBar( )],minLow+j*Point,Time[FirstVisibleBar( )]+t*RS[j],minLow+(j+0.4)*Point);
         ObjectSet(LineName,OBJPROP_COLOR,Hcolor);// çàäàäèì öâåò ëèíèè 
         ObjectSet(LineName, OBJPROP_STYLE, STYLE_DOT);
         j--;}
 //----
   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 ---