Price Data Components
Indicators Used
Miscellaneous
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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---