Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
Adaptosctry_v2
//+------------------------------------------------------------------+
//| Adaptosctry.mq4 - let it be |
//| Copyright © Telemah |
//| mailto:savemih@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © Telemah"
#property link "mailto:savemih@mail.ru"
//----
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 DarkTurquoise
#property indicator_color2 Red
#property indicator_color3 Yellow
//----
extern int CountBars=1000;
//extern double Po2=40; //Äëÿ âàðèàíòîâ ñ êîëè÷åñòâîì äâèæåíèÿ
//extern double Po1=120;
extern int nExtr1=3;
extern int nExtr2=6;
//extern int nFract1=2;
//extern int nFract2=6;
//extern int stochD=3; //Äëÿ ñòîõàñòèêà
//extern int stochslow=3;
//---- buffers
double Buf[];
double Buf1[];
double Buf2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0,Buf);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Buf1);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Buf2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Ind |
//+------------------------------------------------------------------+
int start()
{
SetIndexDrawBegin(0,Bars-CountBars+101);
SetIndexDrawBegin(1,Bars-CountBars+101);
SetIndexDrawBegin(2,Bars-CountBars+101);
int i,i1,i2,counted_bars=IndicatorCounted();
double con1,con2,Pe1,Pe2;
int iFlow[50],iFhigh[50],iEx[50],iExF[50],n,nl,nh,nf;
double BufCus[1000],BufFUP[1000],BufFLO[1000],pEx[50],pF[50],
pFhigh[50],pFlow[50],Fhigh[50],Flow[50],pEXhigh[50],pEXlow[50];
//----
if(CountBars<=101) return(0);
//---- initial zero
if(counted_bars<101)
{
for(i=1;i<=0;i++) Buf[CountBars-i]=0.0;
for(i=1;i<=0;i++) Buf1[CountBars-i]=0.0;
for(i=1;i<=0;i++) Buf2[CountBars-i]=0.0;
}
//----
i=CountBars-101-1;
// if(counted_bars>=101) i=Bars-counted_bars-1;
while(i>=0)
{
//++++++++++++++++++++++++++++++++++++++++++++++
//Äëÿ âàðèàíòîâ ñ êîëè÷åñòâîì äâèæåíèÿ
/*
for (i1=1;i1<=100;i1++)
{
con1+=MathAbs(Close[i+i1]-Open[i+i1]);
if (con1>=Po1*Point) {Pe1=i1;break;}
}
for (i2=1;i2<=100;i2++)
{
con2+=MathAbs(Close[i+i2]-Open[i+i2]);
if (con2>=Po2*Point) {Pe2=i2;break;}
}
con1=0;
con2=0;
*/
//+++++++++++++++++++++++++++++++++++++++++
//Äëÿ âàðèàíòîâ ñ ýêñòðåìóìàìè
BufCus[i]=iCustom(NULL,0,"FATL",CountBars,0,i);
for(i1=1;i1<=100;i1++)
{
if ((BufCus[i+i1]>BufCus[i+i1+1] && BufCus[i+i1+1]<BufCus[i+i1+2]) ||
(BufCus[i+i1]<BufCus[i+i1+1] && BufCus[i+i1+1]>BufCus[i+i1+2]))
{
n=n+1;iEx[n]=i1;pEx[n]=Close[i1];
if (n==nExtr1) {Pe1=iEx[n];}
if (n==nExtr2) {Pe2=iEx[n];}
}
/*
+++++++++++++++++++++++++++++++++++++++++++++++
if (BufCus[i+i1]>BufCus[i+i1+1] && BufCus[i+i1+1]<BufCus[i+i1+2])
{nl=nl+1;Flow[nl]=BufCus[i+i1+1];iFlow[nl]=i1;
pEXlow[nl]=Close[i1];}
if (BufCus[i+i1]<BufCus[i+i1+1] && BufCus[i+i1+1]>BufCus[i+i1+2])
{nh=nh+1;Fhigh[nh]=BufCus[i+i1+1];iFhigh[nh]=i1;
pEXhigh[nh]=Close[i1];}
+++++++++++++++++++++++++++++++++++++++++++++++
*/
}
n=0;
/*
+++++
nl=0;
nh=0;
+++++
*/
//++++++++++++++++++++++++++++++++++++++++
//Âàðèàíòû ñ êîëè÷åñòâîì ôðàêòàëîâ
/*
BufFUP[i]=iFractals(NULL,0,MODE_UPPER,i);
BufFLO[i]=iFractals(NULL,0,MODE_LOWER,i);
for (i1=3;i1<=103;i1++)
{
if (BufFUP[i+i1]!=0 || BufFLO[i+i1]!=0)
nf=nf+1;iExF[nf]=i1;pF[nf]=Close[i1]
if (nf==nFract1) {Pe1=iExF[nf];}
if (nf==nFract2) {Pe2=iExF[nf];}
}
nf=0;
*/
//++++++++++++++++++++++++++++++++++++++++
//Buf[i]=iCCI(NULL,0,Pe1,PRICE_CLOSE,i);
//Buf1[i]=iCCI(NULL,0,Pe2,PRICE_CLOSE,i);
Buf[i]=iRSI(NULL,0,Pe1,PRICE_CLOSE,i);
Buf1[i]=iRSI(NULL,0,Pe2,PRICE_CLOSE,i);
//Buf[i]=iStdDev(NULL,0,Pe1,MODE_SMA,0,PRICE_CLOSE,i);
//Buf1[i]=iStdDev(NULL,0,Pe2,MODE_SMA,0,PRICE_CLOSE,i);
//Buf[i]=iADX(NULL,0,Pe1,PRICE_CLOSE,MODE_MAIN,i);
//Buf1[i]=iADX(NULL,0,Pe2,PRICE_CLOSE,MODE_MAIN,i);
//Buf[i]=iStochastic(NULL,0,Pe1,stochD,stochslow,MODE_SMA,PRICE_CLOSE,MODE_MAIN,i);
//Buf1[i]=iStochastic(NULL,0,Pe2,stochD,stochslow,MODE_SMA,PRICE_CLOSE,MODE_MAIN,i);
//Buf[i]=iWPR(NULL,0,Pe1,i);
//Buf1[i]=iWPR(NULL,0,Pe2,i);
//Buf[i]=iForce(NULL,0,Pe1,MODE_SMA,PRICE_CLOSE,i);
//Buf1[i]=iForce(NULL,0,Pe2,MODE_SMA,PRICE_CLOSE,i);
//Buf[i]=iWPR(NULL,0,Pe1,i);
//Buf1[i]=iWPR(NULL,0,Pe2,i);
//Buf[i]=iRVI(NULL,0,Pe1,MODE_MAIN,i);
//Buf1[i]=iRVI(NULL,0,Pe2,MODE_MAIN,i);
//Buf[i]=iDeMarker(NULL,0,Pe1,i);
//Buf1[i]=iDeMarker(NULL,0,Pe2,i);
//Buf[i]=iMFI(NULL,0,Pe1,i);
//Buf1[i]=iMFI(NULL,0,Pe2,i);
//Buf[i]=iCustom(NULL,0,"J_TPO",Pe1,CountBars,0,i);
//Buf1[i]=iCustom(NULL,0,"J_TPO",Pe2,CountBars,0,i);
//Buf[i]=iCustom(NULL,0,"rsx",Pe1,0,i);
//Buf1[i]=iCustom(NULL,0,"rsx",Pe2,0,i);
Buf2[i]=(Buf[i]+Buf1[i])/2;
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
---