Download Mindrends indicators

minWe’ve tested this mq4 and it functions properly with Meta Trader 4 and MT5 program and probably will work on all Meta Trader editions.

It’s also appropriate for you to definitely rate or make some comments concerning the indicator whether Mindrends the best indicator for Forex for yourself or not. Comments and suggestions are published to the Mindrends indicator comment section. A few lines will do, it can be ways how one can make use of it or even the best means to trade with it. Your sincere ratings and also feedbacks matter because it will help other foreign currency investors to select indicators.

Obviously, almost all FX traders will search for greater indicators that will help them trade much more and correctly. And we’ll be very pleased to know that this free Mindrends indicator is helping traders in getting the greatest deals for them to increase their income in return. Moreover, we make sure the Forex indicators just like Mindrends are published in our site. By doing this, everybody could download it for free and help them make savvy choices and become greater traders in exchange.

 

[php]</pre>
//+——————————————————————+
//| 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 counted_bars=IndicatorCounted();
//—-

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[100];
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 const=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;
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);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *