Price Data Components
Indicators Used
Miscellaneous
1
Views
1
Downloads
0
Favorites
MultiCCI_PRICE_v5
//+------------------------------------------------------------------+
//| MultiCCI PRICE_v5.mq4 |
//| 26.04.2010ã. costy_ |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#property copyright "26.04.2010ã. costy_"
#property link "http://www.mql4.com/ru/users/costy_"
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_level1 150
#property indicator_level2 100
#property indicator_level3 50
#property indicator_level4 0
#property indicator_level5 -50
#property indicator_level6 -100
#property indicator_level7 -150
extern bool Ñîçäàâàòü_ïîäïèñè=true;
extern string xxxxxxõxxxxxxxxxxxxxxxxxxxxxxx="---------------------------------------------------------";
extern string _0_CCI_PRICE__1_CCI=" 2 RSI 3 MFI 4 WPR";
extern int Èíäèêàòîð=0;
extern string xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="---------------------------------------------------------";
extern int Ïåðèîä_CCI=55;//0 1
extern int Ïåðèîä_RSI=14;//2
extern int Ïåðèîä_MFI=14;//3
extern int Ïåðèîä_WPR=14;//4
extern string xxxxxxxxxxxxxxxxxxxxxxxxxxxxxõ="---------------------------------------------------------";
extern string Ìåòîä_âû÷èñëåíèÿ= "0 Ïðîñò 1 Ýêñ 2 Ñãë 3 Ëèí-âçâåøåííîå";
extern int Ìåòîä_Âû÷èñëåíèÿ=0;
extern string xxõxxxxxxxxxxxxxxxxxxxxxxxxxxõ="---------------------------------------------------------";
extern string Èñïîëüçóåìàÿ_öåíà= "0CLOSE,1OPEN,2HIGH,3LOW,4MEDIAN,5TYPICAL";
extern int Èñïîëüçóåìàÿ_öeíà=0;
extern string xxxxxxxxxxxxxxxxxxxõxxxxxxxxxx="---------------------------------------------------------";
extern string Ò="Òàéìôðåéì 0-òåêóùèé";
extern int T=0;
extern string Òîëüêî_äëÿ_CCI_PRICE="Êîýô. Øóìà ";
extern int X=3;
extern color Color1 = Red;
extern color Color2 = Chocolate;
extern color Color3 = Orange;
extern color Color4 = ForestGreen;
extern color Color5 = RoyalBlue;
extern color Color6 = Blue;
extern color Color7 = DarkOrchid;
extern color Color8 = Magenta;
//----
int Ðàññòîÿíèå_ìåæ_çíà÷êàìè=13;
int òîëùèíà=1,òîëùèíà_òåêóùåãî_ôèí=3,ðàçøðèô=10,ðàçøðèô_òåêóùåãî_ôèí=12;
double ind_buf_1[],ind_buf_2[],ind_buf_3[],ind_buf_4[],ind_buf_5[],ind_buf_6[],ind_buf_7[],ind_buf_8[],ind_buf[][8];
color colore[8];
string name_object[8],Short,SymbolsList[],text[8];
int i,buf,labe[8];
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,ind_buf_1); SetIndexBuffer(1,ind_buf_2); SetIndexBuffer(2,ind_buf_3); SetIndexBuffer(3,ind_buf_4); SetIndexBuffer(4,ind_buf_5); SetIndexBuffer(5,ind_buf_6); SetIndexBuffer(6,ind_buf_7); SetIndexBuffer(7,ind_buf_8);
switch(Èíäèêàòîð)
{
case 0: Short="MultiCCI PRICE #"+MathRand(); break;
case 1: Short="MultiCCI("+Ïåðèîä_CCI+") #" +MathRand(); break;
case 2: Short="MultiRSI("+Ïåðèîä_RSI+") #" +MathRand(); break;
case 3: Short="MultiMFI("+Ïåðèîä_MFI+") #" +MathRand(); break;
case 4: Short="Ïåðèîä_WPR("+Ïåðèîä_WPR+") #"+MathRand(); break;
default: Èíäèêàòîð=0; Short="MultiCCI PRICE #"+MathRand(); break;
}
IndicatorShortName(Short);
for(int dd=0; dd<8; dd++)labe[dd]=dd*Ðàññòîÿíèå_ìåæ_çíà÷êàìè;
if(SymbolsList(SymbolsList,true)==-1){ Alert("Îøèáêà îòêðûòèÿ ôàéëà â SymbolsList(string &Symbols[], bool Selected)"); return(-1);}
colore[0]=Color1;colore[1]=Color2;colore[2]=Color3;colore[3]=Color4; colore[4]=Color5;colore[5]=Color6;colore[6]=Color7;colore[7]=Color8;
for(i=0; i<8; i++)
{
name_object[i]="label "+MathRand()+i;
SetIndexLabel(i,SymbolsList[i]);
if(SymbolsList[i]==Symbol()){ SetIndexStyle(i,DRAW_LINE,STYLE_SOLID,òîëùèíà_òåêóùåãî_ôèí,colore[i]); continue;}
SetIndexStyle(i,DRAW_LINE,STYLE_SOLID,òîëùèíà,colore[i]);
}
return(0);
}
//+------------------------------------------------------------------+
int deinit() { for(i=0; i<50000; i++)ObjectDelete(name_object[i]);Comment(""); return(0); }
//+------------------------------------------------------------------+
int SymbolsList(string &Symbols[],bool Selected)
{
int Offset,SymbolsNumber; string SymbolsFileName;
if(Selected) SymbolsFileName="symbols.sel"; else SymbolsFileName="symbols.raw";
int hFile=FileOpenHistory(SymbolsFileName,FILE_BIN|FILE_READ);
if(hFile<0) return(-1); if(Selected) { SymbolsNumber=(FileSize(hFile)-4)/128; Offset=116; }
else { SymbolsNumber=FileSize(hFile)/1936; Offset=1924; }
ArrayResize(Symbols,SymbolsNumber);
if(Selected) FileSeek(hFile,4,SEEK_SET);
for(i=0; i<SymbolsNumber; i++){Symbols[i]=FileReadString(hFile,12); FileSeek(hFile,Offset,SEEK_CUR);}
FileClose(hFile);
return(SymbolsNumber);
}
//+------------------------------------------------------------------+
int start()
{
// îãðàíè÷èì ïåðåñ÷åò ïîñëåäíèì áàðîì
int counted_bars=IndicatorCounted();
if(counted_bars>5) counted_bars-=5;
int limit=Bars-counted_bars;
if(counted_bars==0) limit--;
// ò.ê èíäèêàòîð ìóëüòèâàëþòíûé, ïðîâåðèì äîñòóïíóþ èñòîðèþ
if(limit>5)
for(buf=0; buf<ArrayRange(ind_buf,1); buf++)
for(i=0; i<limit; i++)
if(iClose(SymbolsList[buf],0,i)==0){ if(limit>i)limit=i-5; break;}
if(limit<5)Alert("Ñëèøêîì ìàëî èñòîðèè, ïðîâåðüòå àðõèâ êîòèðîâîê!");
ArrayResize(ind_buf,limit);
// çàïîëíèì äâóìåðíûé ìàññèâ çíà÷åíèÿìè èíäåêñ - èíäèêàòîð ñîîòâåòñòâåííî
for(buf=0; buf<ArrayRange(ind_buf,1); buf++)
{
for(i=0; i<limit; i++)
switch(Èíäèêàòîð)
{
case 0: ind_buf[i][buf]=(iMA(SymbolsList[buf], T , X, 0, Ìåòîä_Âû÷èñëåíèÿ, Èñïîëüçóåìàÿ_öeíà, iBarShift(SymbolsList[i],T,Time[i],FALSE )) -iMA(SymbolsList[buf], T , Ïåðèîä_CCI, 0, Ìåòîä_Âû÷èñëåíèÿ, Èñïîëüçóåìàÿ_öeíà, iBarShift(SymbolsList[buf],T,Time[i],FALSE )))/MarketInfo(SymbolsList[buf],MODE_POINT); break;
case 1: ind_buf[i][buf]= iCCI(SymbolsList[buf], T , Ïåðèîä_CCI, Èñïîëüçóåìàÿ_öeíà, iBarShift(SymbolsList[buf],T,Time[i],FALSE )); break;
case 2: ind_buf[i][buf]= iRSI(SymbolsList[buf], T , Ïåðèîä_RSI, Èñïîëüçóåìàÿ_öeíà, iBarShift(SymbolsList[buf],T,Time[i],FALSE )); break;
case 3: ind_buf[i][buf]= iMFI(SymbolsList[buf], T , Ïåðèîä_MFI, iBarShift(SymbolsList[buf],T,Time[i],FALSE )); break;
case 4: ind_buf[i][buf]= iWPR(SymbolsList[buf], T , Ïåðèîä_WPR, iBarShift(SymbolsList[buf],T,Time[i],FALSE )); break;
}
}
// ïðèñâîèì çíà÷åíèÿ èíäèêàòîðíûì áóôåðàì
for(i=0; i<limit; i++){ind_buf_1[i]=ind_buf[i][0]; ind_buf_2[i]=ind_buf[i][1]; ind_buf_3[i]=ind_buf[i][2]; ind_buf_4[i]=ind_buf[i][3]; ind_buf_5[i]=ind_buf[i][4]; ind_buf_6[i]=ind_buf[i][5]; ind_buf_7[i]=ind_buf[i][6]; ind_buf_8[i]=ind_buf[i][7]; }
if(Ñîçäàâàòü_ïîäïèñè)CreateLabels();
return(0);
}
//+------------------------------------------------------------------+
void CreateLabels()
{
// ïðèñâîèì çíà÷åíèÿ èíäèêàòîðíûõ áóôåðîâ òåêñòó ïîäïèñÿì
for(buf=0; buf<8; buf++) text[buf]=DoubleToStr(ind_buf[0][buf],2);
// ñîçäàäèì ïîäïèñè
for(i=0; i<ArrayRange(ind_buf,1); i++)
{
òîëùèíà=1;ðàçøðèô=10;
if(SymbolsList[i]==Symbol()) {òîëùèíà=òîëùèíà_òåêóùåãî_ôèí;ðàçøðèô=ðàçøðèô_òåêóùåãî_ôèí;}
ObjectDelete(name_object[i]);
ObjectCreate(name_object[i],OBJ_LABEL,WindowFind(Short),0,0);
ObjectSet(name_object[i],OBJPROP_CORNER,1);
ObjectSet(name_object[i],OBJPROP_YDISTANCE,labe[i]+5);
ObjectSet(name_object[i],OBJPROP_XDISTANCE,5);
ObjectSetText(name_object[i],text[i]+" "+SymbolsList[i],ðàçøðèô,"Times New Roman",colore[i]);
}
}
//+------------------------------------------------------------------+
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
---