corelation_v1

Author: Copyright � 2008, Borys Chekmasov
Price Data Components
Series array that contains close prices for each bar
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
corelation_v1
//+---------------------------------------------------------------------------------+
//|                                                   corelation.mq4                |
//|                                Copyright © 2008, Borys Chekmasov                |
//|                                     http://uatrader.blogspot.com                |
//+---------------------------------------------------------------------------------+
// Èíäèêàòîð ïðåäíàçíà÷åí äëÿ ïîèñêà êîðåëÿöèé ìåæäó ðàçëè÷íûìè èñòðóìåíòàìè        |
// Ïîçâîëÿåò íàêëàäûâàòü ãðàôèê îäíîãî èíñòðóìåíòà ïîâåðõ äðóãîãî                   |
// Âõîäíûå ïàðàìåòðû:
// simbol_name - òèêåð êîòîðûé íàêëàäûâàåòñÿ íà ãðàôèê
// bars_for_autoscale - êîëè÷åñòâî áàðîâ, ïî êîòîðûì ïðîèçâîäèòñÿ ìàññøòàáèðîâàíèå
// åñëè íîëü, òî ìàêñèìàëüíîå êîëè÷åñòâî áàðîâ
// inverse - ïåðåâîðà÷èâàåò ãðàôèê ââåðõ íîãàìè
// MA - ïîêàçûâàòü èëè íåò ñêîëüçÿùóþ ñðåäíþþ äëÿ íàêëàäûâàåìîãî ãðàôèêà
// MAPeriod - ïåðèîä ñêîëüçÿùåé ñðåäíåé
// MAOnly - ïîêàçûâàòü òîëüêî ñêîëüçÿùóþ ñðåäíþþ (ñêðûâàåò ãðàôèê)
#property copyright "Copyright © 2008, Borys Chekmasov"
#property link      "http://uatrader.blogspot.com"
//---
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrGold
#property indicator_color2 clrDodgerBlue
//âõîäíûå ïàðàìåòðû
extern string simbol_name="EURUSD";
extern int bars_for_autoscale=200;
extern bool inverse=false;
extern bool MA=false;
extern int MAPeriod=14;
extern bool MAOnly = false;
//---
double simbolBuffer[];
double MABuffer[];
//+------------------------------------------------------------------+
//| èíèöèàëèçàöèÿ                                                    |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0,simbolBuffer);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(1,MABuffer);
   SetIndexStyle(1,DRAW_LINE);
   return (0);
  }
//+------------------------------------------------------------------+
//| îñíîâíîé öèêë                                                    |
//+------------------------------------------------------------------+
int start()
  {
   double simbol_scale=1;
   double simbol_offset=0;
   int i,k;
   int cb=IndicatorCounted();
   i = Bars-cb-1;
   k = bars_for_autoscale;
   if(bars_for_autoscale==0) k=Bars;
   if(bars_for_autoscale>=Bars) k=Bars-1;

   double max_scale=iClose(simbol_name,0,1);
   double min_scale=iClose(simbol_name,0,1);
   double max_scale2=Close[1];
   double min_scale2=Close[1];
   while(k>=0)
     {

      if(max_scale<iClose(simbol_name,0,k)) max_scale=iClose(simbol_name,0,k);
      if(min_scale>iClose(simbol_name,0,k)) min_scale=iClose(simbol_name,0,k);
      if(max_scale2<Close[k])max_scale2=Close[k];
      if(min_scale2>Close[k])min_scale2=Close[k];


      k--;
     }

   simbol_scale=(max_scale2-min_scale2)/(max_scale-min_scale);
   if(!inverse)
     {
      simbol_offset=max_scale2-simbol_scale*max_scale;
     }
   else
     {
      simbol_offset=max_scale2+simbol_scale*min_scale;
     }

   while(i>=0)
     {

      if(!inverse)
        {
         if(!MAOnly) simbolBuffer[i]=simbol_scale*(iClose(simbol_name,0,i))+simbol_offset;
         if(MA)MABuffer[i]=(iMA(simbol_name,0,MAPeriod,0,0,PRICE_CLOSE,i))*simbol_scale+simbol_offset;
        }
      else
        {
         if(!MAOnly) simbolBuffer[i]=simbol_offset-simbol_scale*(iClose(simbol_name,0,i));
         if(MA)MABuffer[i]=simbol_offset-simbol_scale*(iMA(simbol_name,0,MAPeriod,0,0,PRICE_CLOSE,i));
        }
      i--;
     }

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