Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
mindhero_v1
//+------------------------------------------------------------------+
//| Mindhero.mq4 |
//| www.mindrends.com |
//| superhero |
//+------------------------------------------------------------------+
#property copyright "Mindherostar Inc."
#property link "www.mindrends.com"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int NumBars=500;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double spread;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexArrow(1,234);
spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int artp=7;
double dartp=7.0;
double cecf=0.7;
int satb=0;
int Shift=0;
bool river=True;
double Emaxtra=0;
double widcha=0;
double TR=0;
double Values[];
int glava=0;
double ATR=0;
int J=0;
double Weight=0;
double r=0;
double r1=0;
int p=0;
int Curr=0;
double Range1=0;
double s=2;
double f=10;
double val1=0;
double val2=0;
double h11=0;
double h12=0;
double h13=0;
double const1=0;
double orig=0;
double st=0;
double h2=0;
double h1=0;
double h10=0;
double sxs=0;
double sms=0;
double temp=0;
double h5=0;
double r1s=0;
double r2s=0;
double r3s=0;
double r4s=0;
double pt=0;
double pts=0;
double r2=0;
double r3=0;
double r4=0;
double tt=0;
//----
// if(Bars < NumBars) satb=Bars; else satb=NumBars;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
satb = Bars - counted_bars;
if(counted_bars==0) satb-=1+MathMax(3,NumBars);
int xsize=ArraySize(ExtMapBuffer1);
ArrayResize(Values,xsize);
if(Close[satb - 2] > Close[satb - 1]) river=True; else river=False;
Emaxtra=Close[satb - 2];
Shift=satb-3;
while(Shift>=0)
{
TR=spread+ High[Shift] - Low[Shift];
if(MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR)TR=MathAbs(spread+ High[Shift] - Close[Shift + 1]);
if(MathAbs(Low[Shift] - Close[Shift + 1]) > TR) TR=MathAbs(Low[Shift] - Close[Shift + 1]);
if (Shift==satb - 3)
{
for(J=0;Shift<=artp-1;J++)
{
Values[J]=TR;
}
}
Values[glava]=TR;
ATR=0;
Weight=artp;
Curr=glava;
for(J=0;J<=artp - 1;J++)
{
ATR+=Values[Curr] * Weight;
Weight-=1.0;
Curr--;
if (Curr==-1) Curr=artp - 1;
}
ATR=2.0 * ATR/(dartp * (dartp + 1.0));
glava++;
if (glava==artp) glava=0;
widcha=cecf * ATR;
if (river && Low[Shift] < Emaxtra - widcha)
{
river=False;
Emaxtra=spread+ High[Shift];
}
if (!river && spread+ High[Shift] > Emaxtra + widcha)
{
river=True;
Emaxtra=Low[Shift];
}
if (river && Low[Shift] > Emaxtra)
{
Emaxtra=Low[Shift];
}
if (!river && spread+ High[Shift] < Emaxtra)
{
Emaxtra=spread+ High[Shift];
}
Range1=iATR(NULL,0,10,Shift);
val1=0;
val2=0;
if (river)
{
if (p!=1) r1=Low[Shift] - Range1 * s/3.0;
if (p==1) r1=-1.0;
if (r1 > 0)
{
val1=r1;
val2=0;
}
else
{
val1=0;
val2=0;
}
ExtMapBuffer1[Shift]=val1;
p=1;
}
else
{
if (p!=2) r1=spread+ High[Shift] + Range1 * s/3.0;
if (p==2) r1=-1.0;
if (r1 > 0)
{
val1=0;
val2=r1;
}
else
{
val1=0;
val2=0;
}
ExtMapBuffer2[Shift]=val2;
p=2;
}
Shift--;
}
//----
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
---