Download WP RSI Signal Alarm indicators

wpThe WP RSI Signal Alarm is really a fantastic indicator because we can simply found it on the internet and the greatest thing about it is that it is a free foreign exchange trading indicator.

The mq4 functions in MT4 and also MT5 (Metatrader 5) program, also along with other Meta Trader platforms.

Additionally it is appropriate for you to definitely rate or make some comments about the indicator whether WP RSI Signal Alarm the best indicator for Forex for you or otherwise not. Comments and suggestions are listed in the WP RSI Signal Alarm indicator comment section. A few lines will do, it may be ways how one can use it or the best means to trade with it. The best indicator will be picked by Forex investors with the aid of your comments in connection with products.

We, the currency exchange traders are continually looking for much better indicators for a more correct trade. And we’re expecting that you’ll be helped by this WP RSI Signal Alarm indicator in locating a more accurate trade or having better decisions for trade as well as earn greater earnings. We aim to locate all the best Forex indicators just like WP RSI Signal Alarm. As soon as we find one, we’ll upload them instantly to our internet site in order for individuals to have accessibility on its free download and have greater traders

 

[php]</pre>
//+——————————————————————+
//| WPRSIsignal(SoundAlarm).mq4|
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+——————————————————————+
#property copyright “Copyright © 2004, MetaQuotes Software Corp.”
#property link “http://www.metaquotes.net”
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
//—- input parameters
extern int WPRSIperiod=27;
extern int filterUP =10;
extern int filterDN =10;
extern bool UseSound =false;
//—- buffers
extern string SoundFile =”Alert.wav”;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double alert;

//—-
//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
SetIndexStyle(0, DRAW_ARROW, 0, 1);
SetIndexArrow(0, 233);
SetIndexBuffer(0, ExtMapBuffer1);
//—-
SetIndexStyle(1, DRAW_ARROW, 0, 1);
SetIndexArrow(1, 234);
SetIndexBuffer(1, ExtMapBuffer2);
//—- name for DataWindow and indicator subwindow label
IndicatorShortName(“WPRSI”);
SetIndexLabel(0, “wprsiUP” + WPRSIperiod + “”);
SetIndexLabel(1, “wprsiDN” + WPRSIperiod + “”);
//—-

return(0);
}
//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//—- check for possible errors
if(counted_bars < 0)
return(-1);
//—- last counted bar will be recounted
if(counted_bars > 0)
counted_bars–;
limit=Bars – counted_bars;
//—-
for(int i=1; i < limit; i++)
{

//—-
if( (iWPR(NULL,0,WPRSIperiod,i)>-20)&&(iWPR(NULL,0,WPRSIperiod,i+1)<-20)&&(iRSI(NULL,0,WPRSIperiod,PRICE_MEDIAN,i)>50) )
{
double z=0;
for(int k=2;k<=filterUP+2;k++)
{

if(iWPR(NULL,0,WPRSIperiod,k+i)>-20){z=1; }

}

if(z==0)
{
ExtMapBuffer1[i]=Low[i] – (High[i]-Low[i])/2;
if(i==1&&(alert!=Time[1]))
{
if(UseSound){PlaySound(SoundFile);Alert(“Start Long”);}
}
alert=Time[1];

}

}

&nbsp;

//—-
if( (iWPR(NULL,0,WPRSIperiod,i+1)>-80)&&(iWPR(NULL,0,WPRSIperiod,i)<-80)&&(iRSI(NULL,0,WPRSIperiod,PRICE_MEDIAN,i)<50) )

{
double h=0;
for(int c=2;c<=filterDN+2;c++)
{

if(iWPR(NULL,0,WPRSIperiod,c+i)<-80){h=1; }

}

if(h==0)
{

ExtMapBuffer2[i]=High[i] +(High[i]-Low[i])/2;
if(i==1&&(alert!=Time[1]))
{
if(UseSound){PlaySound(SoundFile);Alert(“Start Short”);}
}
alert=Time[1];
}
}

&nbsp;

&nbsp;

&nbsp;

}
//—-
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download FIR MA indicators

firWe’ve tested this mq4 code and it functions perfectly with MT4 (Metatrader 4) and MT5 (Metatrader 5) software and probably works on all MT editions.

It is also recommended for you to definitely rate or make some comments with regards to the indicator regardless of whether FIR MA the very best indicator for Forex for yourself or otherwise. The FIR MA indicator remark section caters all the comments and suggestions provided. A couple of lines will do, it can be ways about how one can use it or the very best means to trade with it. The very best indicator will be picked by FX traders with the aid of your comments in connection with products.

Of course, currency exchange investors will simply want to get the best indicators to deliver success in this venture. Henceforth our aim will be to boost the experience to provide the traders the very best experience feasible Together with the advancements, we’re also searching for better indicators just like the FIR MA. Once we have discovered such indicators, then we will upload it to our website so that traders like you can download and make use of them.

 

[php]</pre>
//+——————————————————————+
//| FIR_MA.mq4 |
//| v.1 09/04/2006 |
//+——————————————————————+
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
//Global constants
#define pi 3.141592653589793238462643383279502884197169399375105820974944592
//Input parameters
extern int Periods = 4; // 1/(2*Periods) sets the filter bandwidth
extern int Taps = 21; // must be an odd number
extern int Window = 4; // selects windowing function
//Indicator buffers
double FIRMA[];
//+——————————————————————+
//| |
//+——————————————————————+
int init()
{
ArrayInitialize(FIRMA, EMPTY_VALUE);
IndicatorBuffers(1);
SetIndexBuffer(0, FIRMA);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);
IndicatorShortName(“FIRMA”);
SetIndexShift(0, -(Taps – 1) / 2);
return(0);
}
//+——————————————————————+
//| |
//+——————————————————————+
int deinit()
{
return(0);
}
//+——————————————————————+
//| |
//+——————————————————————+
int start()
{
double w[];
ArrayResize(w, Taps);
double wsum = 0.0;
for(int k = 0; k < Taps; k++)
{
switch(Window)
{
// Rectangular window
case 1: w[k] = 1.0; break;
// Hanning window
case 2: w[k] = 0.50 – 0.50*MathCos(2.0*pi*k / Taps); break;
// Hamming window
case 3: w[k] = 0.54 – 0.46*MathCos(2.0*pi*k / Taps); break;
//Blackman window
case 4: w[k] = 0.42 – 0.50*MathCos(2.0*pi*k / Taps) +
0.08*MathCos(4.0*pi*k / Taps); break;
//Blackman-Harris window
case 5: w[k] = 0.35875 – 0.48829*MathCos(2.0*pi*k / Taps) +
0.14128*MathCos(4.0*pi*k / Taps) –
0.01168*MathCos(6.0*pi*k / Taps); break;
//Rectangular window
default: w[k] = 1;break;
}
if(k != Taps / 2.0)
w[k] = w[k]*MathSin(pi*(k – Taps / 2.0) / Periods) / pi / (k – Taps / 2.0);
wsum+=w[k];
}
int i = Bars – 1 – IndicatorCounted();
while(i >= 0)
{
if(i <= Bars – Taps)
{
FIRMA[i] = 0.0;
for(k = 0; k < Taps; k++)
FIRMA[i] += Close[i+k]*w[k] / wsum;
}
i–;
}
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download Zlagmacd indicators

alazWe have tried this mq4 and it functions perfectly with MT4 and MT5 (Metatrader 5) edition and probably will work on all Meta Trader editions.

The Zlagmacd indicator is incredibly available to just about any comments and recommendations. The Zlagmacd indicator comment section caters each of the feedback as well as suggestions provided. Any comment can do so long as it can help the trading business. Your sincere ratings as well as feedbacks matter because it will help other foreign currency traders to select indicators.

Our search for better indicators as currency exchange traders continue for a more exact trade. And with this free Zlagmacd indicator, we are hopeful that you’ll be aided in looking for a more correct trade or even having better decisions on trading and therefore, generating much more income. We’re trying our very best to locate other metatrader 4 indicators for free download just like Zlagmacd and upload them on our site so that individuals can download them free of charge and make better traders.

[php]</pre>
//+——————————————————————+
//| ZeroLag MACD.mq4 |
//| RD |
//| [email protected] |
//+——————————————————————+
#property copyright “RD”
#property link “[email protected]

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Orange
//—- input parameters
extern int FastEMA=12;
extern int SlowEMA=24;
extern int SignalEMA=9;
//—- buffers
double MACDBuffer[];
double SignalBuffer[];
double FastEMABuffer[];
double SlowEMABuffer[];
double SignalEMABuffer[];
//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
IndicatorBuffers(5);
SetIndexBuffer(0,MACDBuffer);
SetIndexBuffer(1,SignalBuffer);
SetIndexBuffer(2,FastEMABuffer);
SetIndexBuffer(3,SlowEMABuffer);
SetIndexBuffer(4,SignalEMABuffer);
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,2);
SetIndexStyle(1,DRAW_LINE,EMPTY,2);
SetIndexDrawBegin(0,SlowEMA);
SetIndexDrawBegin(1,SlowEMA);
IndicatorShortName(“ZeroLag MACD(“+FastEMA+”,”+SlowEMA+”,”+SignalEMA+”)”);
SetIndexLabel(0,”MACD”);
SetIndexLabel(1,”Signal”);
//—-
return(0);
}
//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars–;
limit=Bars-counted_bars;
double EMA,ZeroLagEMAp,ZeroLagEMAq;
for(int i=0; i<limit; i++)
{
FastEMABuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i);
SlowEMABuffer[i]=iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
}
for(i=0; i<limit; i++)
{
EMA=iMAOnArray(FastEMABuffer,Bars,FastEMA,0,MODE_EMA,i);
ZeroLagEMAp=FastEMABuffer[i]+FastEMABuffer[i]-EMA;
EMA=iMAOnArray(SlowEMABuffer,Bars,SlowEMA,0,MODE_EMA,i);
ZeroLagEMAq=SlowEMABuffer[i]+SlowEMABuffer[i]-EMA;
MACDBuffer[i]=ZeroLagEMAp – ZeroLagEMAq;
}
for(i=0; i<limit; i++)
SignalEMABuffer[i]=iMAOnArray(MACDBuffer,Bars,SignalEMA,0,MODE_EMA,i);
for(i=0; i<limit; i++)
{
EMA=iMAOnArray(SignalEMABuffer,Bars,SignalEMA,0,MODE_EMA,i);
SignalBuffer[i]=SignalEMABuffer[i]+SignalEMABuffer[i]-EMA;
}
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download H Aligator Clock indicators

h aligaAll MT platforms, deal with this mq4, even with Meta Trader 4 and Meta Trader 5 programs.

In case you have experience the use of this H Aligator Clock, particularly if you believe this indicator is best for Forex, marking its performance is inspired. We would also appreciate if you leave some testimonials, reviews, or some suggestions about using the H Aligator Clock indicator. With the aid of your reviews it will be easy for FX investors to select which indicators must they make use of.

Obviously, much better indicators that will help in trading much more the precise manner are exactly what the most of currency traders want to have. This is the time free H Aligator Clock indicator is necessary. It will also help traders in increasing the income that they could have in their internet business. Moreover, we ensure the Forex indicators like H Aligator Clock are published in our web page. With that said, it is possible for web marketers to download it without having to spend money making them to come up with wise decisions . Therefore, they will turn out to be exceptional traders.

[php]</pre>
//+——————————————————————+
//| Clock.mq4 |
//| Jerome |
//| [email protected] |
//+——————————————————————+
#property copyright “Jerome”
#property link “[email protected]

//——————————————————————
// Instructions
// BrokerTZ – Timezone of your Broker (in hours from GMT)
// LocalTz – Your timezone in hours from GMT
// DST – Is it daylight savings time?
// ShowLocal – Set to tru to show your local time zone
// corner – 0 = top left, 1 = top right, 2 = bottom left, 3 = bottom right
// topOff – pixels from top to show the clock
// labelColor- Color of label
// clockColor- Color of clock
//
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//—- input parameters
extern double BrokerTZ=-7;
extern double LocalTz=+1;
extern bool DST=true;
extern bool ShowLocal=true;
extern int corner=0;
extern int topOff=100;
extern color labelColor=Yellow;
extern color clockColor=White;

//—- buffers
double ExtMapBuffer1[];
int LondonTZ = 1;
int TokyoTZ = 9;
int NewYorkTZ = -4;

//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int counted_bars=IndicatorCounted();
//—-
int dstDelta=-1;
if ( DST )
dstDelta = 0;

datetime brokerTime = CurTime();
datetime GMT = brokerTime – (BrokerTZ+dstDelta)*3600;
datetime local = GMT + (LocalTz + dstDelta) * 3600;
datetime london = GMT + (LondonTZ + dstDelta) * 3600;
datetime tokyo = GMT + (TokyoTZ + dstDelta) * 3600;
datetime newyork = GMT + (NewYorkTZ + dstDelta) * 3600;

//Print( brokerTime, ” “, GMT, ” “, local, ” “, london, ” “, tokyo, ” “, newyork );
string GMTs = TimeToStr( GMT, TIME_MINUTES );
string locals = TimeToStr( local, TIME_MINUTES );
string londons = TimeToStr( london, TIME_MINUTES );
string tokyos = TimeToStr( tokyo, TIME_MINUTES );
string newyorks = TimeToStr( newyork, TIME_MINUTES );
string brokers = TimeToStr( CurTime(), TIME_MINUTES );

//string timeText = ” Local: ” + locals + ” GMT: ” +GMTs + ” | London:” +londons +
// ” | New York: ” +newyorks + ” | Tokyo: ” + tokyos ;

//ObjectSetText( “times”, timeText, 10, “Arial”, clockColor );
if ( ShowLocal ) {
ObjectSetText( “locl”, “Local:”, 10, “Arial”, labelColor );
ObjectSetText( “loct”, locals, 10, “Arial”, clockColor );
}
ObjectSetText( “gmtl”, “GMT”, 10, “Arial”, labelColor );
ObjectSetText( “gmtt”, GMTs, 10, “Arial”, clockColor );
ObjectSetText( “nyl”, “New York:”, 10, “Arial”, labelColor );
ObjectSetText( “nyt”, newyorks, 10, “Arial”, clockColor );
ObjectSetText( “lonl”, “London:”, 10, “Arial”, labelColor );
ObjectSetText( “lont”, londons, 10, “Arial”, clockColor );
ObjectSetText( “tokl”, “Tokyo:”, 10, “Arial”, labelColor );
ObjectSetText( “tokt”, tokyos, 10, “Arial”, clockColor );
ObjectSetText( “brol”, “Broker:”, 10, “Arial”, labelColor );
ObjectSetText( “brot”, brokers, 10, “Arial”, clockColor );

//—-
return(0);
}
//+——————————————————————+

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int ObjectMakeLabel( string n, int xoff, int yoff ) {
ObjectCreate( n, OBJ_LABEL, 0, 0, 0 );
ObjectSet( n, OBJPROP_CORNER, corner );
ObjectSet( n, OBJPROP_XDISTANCE, xoff );
ObjectSet( n, OBJPROP_YDISTANCE, yoff );
ObjectSet( n, OBJPROP_BACK, true );
}

int init()
{
//—- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);

int top=topOff;
if ( ShowLocal ) {
ObjectMakeLabel( “locl”, 90, top );
ObjectMakeLabel( “loct”, 45, top );
}
ObjectMakeLabel( “gmtl”, 90, top-15 );
ObjectMakeLabel( “gmtt”, 45, top-15 );
ObjectMakeLabel( “nyl”, 90, top-30 );
ObjectMakeLabel( “nyt”, 45, top-30 );
ObjectMakeLabel( “lonl”, 90, top-45 );
ObjectMakeLabel( “lont”, 45, top-45 );
ObjectMakeLabel( “tokl”, 90, top-60 );
ObjectMakeLabel( “tokt”, 45, top-60 );
ObjectMakeLabel( “brol”, 90, top-75 );
ObjectMakeLabel( “brot”, 45, top-75 );
//—-
return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-
ObjectDelete( “locl” );
ObjectDelete( “loct” );
ObjectDelete( “nyl” );
ObjectDelete( “nyt” );
ObjectDelete( “gmtl” );
ObjectDelete( “gmtt” );
ObjectDelete( “lonl” );
ObjectDelete( “lont” );
ObjectDelete( “tokl” );
ObjectDelete( “tokt” );
ObjectDelete( “brol” );
ObjectDelete( “brot” );
//—-
return(0);
}

&nbsp;
<pre>
[/php]

Click Here to Download

Download Wajdyss H L C Indicator V2 indicators

h l cIt will surely function with all the other MT programs because based upon our knowledgeable about this indicator, it truely does work perfectly with MT4 and Meta Trader 5 edition.

If you think Wajdyss H L C Indicator V2 as advantageous indicator for Forex, then you could rate the indicator and present some comments and views and publish it on the comment section. We will be delighted if you do that. Along with your remarks, ratings and testimonials, you can also assist other Forex investors to test such indicators.

In order to have the ideal results currency traders will first choose only the best indicator that will operate in sync with their projects. With that said, we’re also doing our very best to give you the finest experience thru the aid of this cost-free Wajdyss H L C Indicator V2 indicator. In addition, we’re continually searching for excellent Forex indicators like Wajdyss H L C Indicator V2. After all, the searching indicators will always be published to the side to assist the traders in completing their tasks and projects.

 

[php]</pre>
//+——————————————————————+
//| wajdyss_H_L_C_indicator.mq4 |
//| Copyright 2008 Wajdyss |
//| [email protected] |
//+——————————————————————+
#property copyright “Copyright 2008 Wajdyss”
#property link “[email protected]

#property indicator_chart_window
extern int TextSize=14;
extern color TextColor1=Black;
extern color TextColor2=Red;
extern color TextColor3=Blue;
extern color TextColor4=Black;
extern color TextColor5=Chartreuse;
extern color TextColor6=DodgerBlue;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
//—-

return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
Comment(“”);
ObjectDelete(“a label”);
ObjectDelete(“b label”);
ObjectDelete(“c label”);
ObjectDelete(“d label”);
ObjectDelete(“e label”);
ObjectDelete(“f label”);
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
double H=iHigh(Symbol(),PERIOD_D1,0);
int H2=H;
//a
if(ObjectFind(“a label”) != 0)
{
ObjectCreate(“a label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“a label”,”بسم الله الرحمن الرحيم” , TextSize, “Arial”, TextColor1);
ObjectSet(“a label”, OBJPROP_XDISTANCE,350);
ObjectSet(“a label”, OBJPROP_YDISTANCE,0);
}
else
{
ObjectMove(“a label”, 0, 0,0);
}

//b
if(ObjectFind(“b label”) != 0)
{
ObjectCreate(“b label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“b label”,”wajdyss_H_L_C_indicator” , TextSize, “Arial”, TextColor2);
ObjectSet(“b label”, OBJPROP_XDISTANCE,315);
ObjectSet(“b label”, OBJPROP_YDISTANCE,25);
}
else
{
ObjectMove(“b label”, 0, 0,0);
}

// c
if(ObjectFind(“c label”) != 0)
{
ObjectCreate(“c label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“c label”,”[email protected]” , TextSize, “Arial”, TextColor3);
ObjectSet(“c label”, OBJPROP_XDISTANCE,335);
ObjectSet(“c label”, OBJPROP_YDISTANCE,50);
}
else
{
ObjectMove(“c label”, 0, 0,0);
}

if (Period()>1440) return(0);
ObjectDelete(“d label”);
ObjectCreate(“d label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“d label”,”today high = “+DoubleToStr(iHigh(Symbol(),PERIOD_D1,0),Digits) , TextSize, “Arial”, TextColor4);
ObjectSet(“d label”, OBJPROP_XDISTANCE,340);
ObjectSet(“d label”, OBJPROP_YDISTANCE,75);
ObjectDelete(“e label”);
ObjectCreate(“e label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“e label”,”today low = “+DoubleToStr(iLow(Symbol(),PERIOD_D1,0),Digits) , TextSize, “Arial”, TextColor5);
ObjectSet(“e label”, OBJPROP_XDISTANCE,345);
ObjectSet(“e label”, OBJPROP_YDISTANCE,100);

ObjectDelete(“f label”);
ObjectCreate(“f label”, OBJ_LABEL, 0,0,0);
ObjectSetText(“f label”,”today close = “+DoubleToStr(iClose(Symbol(),PERIOD_D1,0),Digits) , TextSize, “Arial”, TextColor6);
ObjectSet(“f label”, OBJPROP_XDISTANCE,340);
ObjectSet(“f label”, OBJPROP_YDISTANCE,125);

return(0);
}
<pre>[/php]

Click Here to Download

Download Tick On Chart indicators

tocThis Tick On Chart really peaked our interest after experiencing such an incredible indicator which was sold for nothing. Therefore we consider this as a cost-free FX trading indicator.

The mql file functions in MT4 and MT5 (Metatrader 5) software, also along with other Meta Trader programs.

If you are settled to use this Tick On Chart and see this indicator for Forex helpful, we’ll be joyful if you can rate the indicator and as well feel free to add some of your feedbacks or opinions, just post it in the comment section. Through the help of your comments, ratings, and reviews, other FX traders can quickly decide whether try out such indicators or perhaps not.

Determing the best indicators may be the priority of Forex traders. Best decisions are manufactured based on the trading industry by obtaining free Tick On Chart indicator. Placing the Forex indicators for example Tick On Chart inside the web allows individuals to have quick access on it. These are downloadable without any cost attach making much greater traders.

[php]</pre>
//+——————————————————————+
//| Tick_on_Chart.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+——————————————————————+
#property copyright “Copyright © 2005, MetaQuotes Software Corp.”
#property link “http://www.metaquotes.net”

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Cornsilk
#property indicator_color2 Red
//—- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int tik,t;
double buf[],MaxB,MinB=1000;
extern int period=200;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(1,ExtMapBuffer2);

//—-
return(0);
}
//+——————————————————————+
//| Custor indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int i,b;
//—-
t++;
b=period;
ArrayResize(buf,b);

if(tik==0)
{
for(i=0;i<b;i++)
{
buf[i]=Bid;
}
ExtMapBuffer2[0]=Bid+5*Point;
ExtMapBuffer2[1]=Bid-5*Point;
tik=1;
}
MaxB=0;MinB=1000;
for(i=b-1;i>0;i–)
{
buf[i]=buf[i-1];
if(MaxB<buf[i])MaxB=buf[i];
if(MinB>buf[i])MinB=buf[i];
}
buf[0]=Bid;
for(i=0;i<b;i++)
{
ExtMapBuffer1[i]=buf[i];
}
if(MathCeil(t/10)*10==t)
{
for(i=b;i<Bars;i++)
{
ExtMapBuffer1[i]=Bid;
}
ArrayInitialize(ExtMapBuffer2,Bid);
if(MaxB-Bid<5*Point)ExtMapBuffer2[0]=Bid+5*Point;
if(Bid-MinB<5*Point)ExtMapBuffer2[1]=Bid-5*Point;
//Print(MaxB,”+”,Bid,”+”,MinB);
}
//—-
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download Predict indicators

prereWhen we carry out a test on this mq4, we have determined its compatibility with Meta Trader 4 and Meta Trader 5 edition and also perhaps, all MT platforms will be suitable to it.

In the event that you’ve tested making use of this Predict, then you should take some time in rating this indicator particularly if you find it a highly effective indicator for Forex. Any thoughts and tips pertaining to the use of the Predict indicator is encouraged. Using the help of your comments and reviews foreign currency investors will be provided a greater idea on which indicator would be better for them.

Obviously, FX investors would want to have the greatest indicators to deliver success with this venture. For that fact, we’re trying to provide you just the best with the aid of our cost-free Predict indicator. Furthermore, we are continually looking for great Forex indicators just like Predict. After all, the searching indicators will be published to the side to aid the traders in completing their tasks and projects.

[php]</pre>
//+——————————————————————+
//| Created by Ronald Verwer. |
//| Predict.mq4 |
//| Copyright; 2006 © by Ronald Verwer/ROVERCOM |
//+——————————————————————+

#property copyright “Copyright 2006 © Ronald Verwer / ROVERCOM”

#property indicator_chart_window
#property indicator_buffers 3

#property indicator_color1 Blue
#property indicator_color2 Magenta
#property indicator_color3 Orange
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2

extern int BuyLevel = 56;
extern int SellLevel = 56;

extern bool Use_Single_Arrows = false;//true;

double Up[];
double Dn[];
double Fl[];
double Drctn[];

//+——————————————————————+
//| Indicator Initialization Function |
//+——————————————————————+

int init()
{
IndicatorBuffers(4);
SetIndexStyle(0,DRAW_ARROW,0,2);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW,0,2);
SetIndexArrow(1,234);
SetIndexStyle(2,DRAW_ARROW,0,2);
SetIndexArrow(2,159);

SetIndexBuffer(0,Up);
SetIndexBuffer(1,Dn);
SetIndexBuffer(2,Fl);
SetIndexBuffer(3,Drctn);

IndicatorShortName(“Prediction”);
SetIndexLabel(0,”Up”);
SetIndexLabel(1,”Dn”);
SetIndexLabel(2,”Flat”);
//—-
SetIndexDrawBegin(0,10);
SetIndexDrawBegin(1,10);
SetIndexDrawBegin(2,10);
//—-
return(0);
}

//+——————————————————————+
//| Indicator De-Initialization Function |
//+——————————————————————+

int deinit()
{
return(0);
}

//+——————————————————————+
//| EMA_Levels |
//+——————————————————————+

int start()
{
int i,limit;
double D1,D2,Pr;
string Txt;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars–;
limit=Bars-counted_bars;

for(i=limit;i>=0;i–)
{
Up[i] = EMPTY_VALUE;
Dn[i] = EMPTY_VALUE;
Fl[i] = EMPTY_VALUE;

D1=(Close[i+1]+Close[i+2])/2;
D2=(Close[i+1]+Close[i+2]+Close[i+3]+Close[i+4]+Close[i+5])/5;
if(Close[i+1]!=0)
Pr=((MathAbs(D1-D2)/Close[i+1]*125.75 + 0.54528)*10000)/100;

if(D1>D2 && Pr>BuyLevel)
{
Drctn[i] = 1;
if(Drctn[i] != Drctn[i+1] || !Use_Single_Arrows)
Up[i] = Low[i] – 4 * Point;
}
else if(D1<D2 && Pr>SellLevel)
{
Drctn[i] = -1;
if(Drctn[i] != Drctn[i+1] || !Use_Single_Arrows)
Dn[i] = High[i] + 4 * Point;
}
else if(Pr>50 && Pr<60)
{
Drctn[i] = 0;
if(Drctn[i+1]==1)
Fl[i] = Low[i] – 4 * Point;
else if(Drctn[i+1]==-1)
Fl[i] = High[i] + 4 * Point;
}
else
Drctn[i] = 0;
}
if(Drctn[0]==-1) Txt=”Short”;
else if(Drctn[0]==1) Txt=”Long”;
else Txt=”Flat”;

Comment(“Predictions: Pr = “+DoubleToStr(Pr,3)+” ; Current Signal = “+Txt);
return(0);
}

//—-
<pre>
[/php]

Click Here to Download

Download FNCD indicators

fncdAlmost certainly this mql file will work with the diverse types of MT out there, after successfully testing it with MT4 and MT5 (Metatrader 5). Using the data collected from tests , we can be positive that there will no issues with the compatibility with product

In case you like or find this FNCD is a great indicator for Forex please don’t fail to remember to rate the indicator. Kindly comment in our posts with regards to RS indicator. Possibly, you’d post on using it appropriately or exactly what the best option for trading with it. Your honest ratings and also reviews are always necessary since it will always help other currency investors to take or choose indicators.

We as FX investors are up to getting the very best indicators to possess a precise trading. We are hoping that with this no charge FNCD indicator, you’re going to get the right aide for you to have far better trading decisions and also trade much more correctly and of course have greater income. Placing the Forex indicators such as FNCD inside the web allows individuals to have easy accessibility on it. They are downloadable with no cost attach making much greater traders.

 

[php]</pre>
//+——————————————————————+
//| FNCD.mq4 |
//| Belomor |
//| [email protected] |
//+——————————————————————+
#property copyright “Belomor”
#property link “[email protected]

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 Red
#property indicator_level1 1
#property indicator_level2 2
#property indicator_level3 -1
#property indicator_level4 -2
//—- input parameters
extern int FN=34;
extern double Deviation=3.0;
extern int FastEMA=5;
extern int SlowEMA=13;
//—- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- indicators
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ExtMapBuffer3);
if(FN<2)
FN=2;
if(Deviation<0)
Deviation=1;
if(FastEMA<1)
FastEMA=1;
if(SlowEMA<1)
SlowEMA=1;
IndicatorShortName(“FNCD (“+FN+”,”+FastEMA+”,”+SlowEMA+”)”);
SetIndexDrawBegin(0,FN+FastEMA);
SetIndexDrawBegin(1,FN+SlowEMA);
SetIndexLabel(0,”Fast FN”);
SetIndexLabel(1,”Slow FN”);
IndicatorDigits(4);
//—-
return(0);
}

double NormalizedX(int F_period, int i)
{
double result;
double A;
double S;
double C;
if(i<Bars-F_period)
{
C=Close[i];
A=iMA(NULL,0,F_period,0,MODE_SMA,PRICE_CLOSE,i);
S=iStdDev(NULL,0,F_period,MODE_SMA,0,PRICE_CLOSE,i);
result=(C-A)/S;
}
else
result=0;
return(result);
}

double FisherNormalizedX(int F_period, double Dev, int i)
{
double result;
double X;
if(i<Bars-F_period && Dev>0)
{
X=NormalizedX(F_period,i)/Dev;
if(X>0.99)
X=0.99;
if(X<-0.99)
X=-0.99;
result=0.5*MathLog((1+X)/(1-X));
}
else
result=0;
return(result);
}

//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//—- check for possible errors
if(counted_bars<0) return(-1);
//—- last counted bar will be recounted
if(counted_bars>0) counted_bars–;
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
ExtMapBuffer3[i]=FisherNormalizedX(FN,Deviation,i);
for(i=0; i<limit; i++)
{
ExtMapBuffer1[i]=iMAOnArray(ExtMapBuffer3,Bars,FastEMA,0,MODE_EMA,i);
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer3,Bars,SlowEMA,0,MODE_EMA,i);
}
//—- done
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download CCI MA Smoothed indicators

ccccc maIt’ll surely function with all other MT versions mainly because based upon our knowledgeable with this mq4, it really works very well with Meta Trader 4 and MT5 software.

Additionally it is suitable for you to definitely rate or make some comments concerning the indicator no matter whether CCI MA Smoothed the very best indicator for Forex for you personally or not. The CCI MA Smoothed indicator review section caters each of the reviews and also suggestions given. Virtually any comment can do as long as it can benefit the trading business. FX investors will ponder upon your comments and also feedbacks to get and make use of the best indicator.

We as FX investors are up to getting the ideal indicators to have a precise trading. Making the ideal decisions in the trading industry will be achieved by making use of the costless CCI MA Smoothed indicator. We’re also making the very best we can do to look for Forex indicators like CCI MA Smoothed and place them on our webpage for straightforward access people. Every thing put into the web are freely downloadable and will be the right path to have much better traders.

[php]</pre>
//+——————————————————————+
//| CCI.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+——————————————————————+
#property copyright “Copyright © 2004, MetaQuotes Software Corp.”
#property link “http://www.metaquotes.net/”
//—-
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Yellow
#property indicator_color2 Aqua

//—- input parameters
//—- indicator parameters
extern string m = “–Moving Average Types–“;
extern string m0 = ” 0 = SMA”;
extern string m1 = ” 1 = EMA”;
extern string m2 = ” 2 = SMMA”;
extern string m3 = ” 3 = LWMA”;
extern string m4 = ” 4 = LSMA”;
extern int MA_Type=0;
extern string p = “–Applied Price Types–“;
extern string p0 = ” 0 = close”;
extern string p1 = ” 1 = open”;
extern string p2 = ” 2 = high”;
extern string p3 = ” 3 = low”;
extern string p4 = ” 4 = median(high+low)/2″;
extern string p5 = ” 5 = typical(high+low+close)/3″;
extern string p6 = ” 6 = weighted(high+low+close+close)/4″;
extern int MA_AppliedPrice = 0;
extern string c = “–CCI Inputs–“;
extern int CCIPeriod = 14;
extern int SmoothingMA_Type = 2;
extern int SmoothingMA_Period = 3;

//—- buffers
double CCIBuffer[];
double CCIBufferSmoothed[];
double RelBuffer[];
double DevBuffer[];
double MovBuffer[];

int MA_Mode;
string strMAType;
int SmoothingMode;

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
string short_name;
//—- 3 additional buffers are used for counting.
IndicatorBuffers(5);
SetIndexBuffer(1, RelBuffer);
SetIndexBuffer(2, DevBuffer);
SetIndexBuffer(3, MovBuffer);
//—- indicator lines
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, CCIBuffer);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, CCIBufferSmoothed);
//—-
if(CCIPeriod <= 0)
CCIPeriod = 14;

SmoothingMode = SmoothingMA_Type;
if (SmoothingMA_Type > 3) SmoothingMode = 2;
//—-
SetIndexDrawBegin(0, CCIPeriod);

//—- name for DataWindow and indicator subwindow label
switch (MA_Type)
{
case 1: strMAType=”EMA”; MA_Mode=MODE_EMA; break;
case 2: strMAType=”SMMA”; MA_Mode=MODE_SMMA; break;
case 3: strMAType=”LWMA”; MA_Mode=MODE_LWMA; break;
case 4: strMAType=”LSMA”; break;
default: strMAType=”SMA”; MA_Mode=MODE_SMA; break;
}
short_name = “CCI-” +strMAType+ ” (” +CCIPeriod + “) “;
IndicatorShortName(short_name);
SetIndexLabel(0, short_name);
//—-
return(0);
}

//+————————————————————————+
//| LSMA – Least Squares Moving Average function calculation |
//| LSMA_In_Color Indicator plots the end of the linear regression line |
//+————————————————————————+

//+——————————————————————+
//| LSMA with PriceMode |
//| PrMode 0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, |
//| 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4 |
//+——————————————————————+

double LSMA(int TimeFrame, int Rperiod, int prMode, int shift)
{
int i, myShift;
double sum, pr;
int length;
double lengthvar;
double tmp;
double wt;

length = Rperiod;

sum = 0;
for(i = length; i >= 1 ; i–)
{
lengthvar = length + 1;
lengthvar /= 3;
tmp = 0;
myShift = length – i + shift;
switch (prMode)
{
case 0: pr = iClose(NULL,TimeFrame,myShift);break;
case 1: pr = iOpen(NULL,TimeFrame,myShift);break;
case 2: pr = iHigh(NULL,TimeFrame,myShift);break;
case 3: pr = iLow(NULL,TimeFrame,myShift);break;
case 4: pr = (iHigh(NULL,TimeFrame,myShift) + iLow(NULL,TimeFrame,myShift))/2;break;
case 5: pr = (iHigh(NULL,TimeFrame,myShift) + iLow(NULL,TimeFrame,myShift) + iClose(NULL,TimeFrame,myShift))/3;break;
case 6: pr = (iHigh(NULL,TimeFrame,myShift) + iLow(NULL,TimeFrame,myShift) + iClose(NULL,TimeFrame,myShift) + iClose(NULL,TimeFrame,myShift))/4;break;
}
tmp = ( i – lengthvar)*pr;
sum+=tmp;
}
wt = sum*6/(length*(length+1));
wt = MathFloor(wt/Point)*Point;

return(wt);
}

//+——————————————————————+
//| Commodity Channel Index |
//+——————————————————————+
int start()
{
int i, k, counted_bars = IndicatorCounted();
double price, sum, mul;
if(CCIPeriod <= 1)
return(0);
if(Bars <= CCIPeriod)
return(0);
//—- initial zero
if(counted_bars < 1)
{
for(i = 1; i <= CCIPeriod; i++)
CCIBuffer[Bars-i] = 0.0;
for(i = 1; i <= CCIPeriod; i++)
DevBuffer[Bars-i] = 0.0;
for(i = 1; i <= CCIPeriod; i++)
MovBuffer[Bars-i] =0.0;
}
//—- last counted bar will be recounted
int limit = Bars – counted_bars;
if(counted_bars > 0)
limit++;
//—- moving average
for(i = 0; i < limit; i++)
{
if (MA_Type == 4)
MovBuffer[i]=LSMA(0, CCIPeriod, MA_AppliedPrice,i);
else
MovBuffer[i]=iMA(NULL,0,CCIPeriod,0,MA_Mode,MA_AppliedPrice,i);
}
//—- standard deviations
i = Bars – CCIPeriod + 1;
if(counted_bars > CCIPeriod – 1)
i = Bars – counted_bars – 1;
mul = 0.015 / CCIPeriod;
while(i >= 0)
{
sum = 0.0;
k = i + CCIPeriod – 1;
while(k >= i)
{
price =(High[k] + Low[k] + Close[k]) / 3;
sum += MathAbs(price – MovBuffer[i]);
k–;
}
DevBuffer[i] = sum*mul;
i–;
}
i = Bars – CCIPeriod + 1;
if(counted_bars > CCIPeriod – 1)
i = Bars – counted_bars – 1;
while(i >= 0)
{
price = (High[i] + Low[i] + Close[i]) / 3;
RelBuffer[i] = price – MovBuffer[i];
i–;
}
//—- cci counting
i = Bars – CCIPeriod + 1;
if(counted_bars > CCIPeriod – 1)
i = Bars – counted_bars – 1;
while(i >= 0)
{
if(DevBuffer[i] == 0.0)
CCIBuffer[i] = 0.0;
else
CCIBuffer[i] = RelBuffer[i] / DevBuffer[i];
i–;
}

//—- cci smoothing
i = Bars – CCIPeriod + 1;
if(counted_bars > CCIPeriod – 1)
i = Bars – counted_bars – 1;
while(i >= 0)
{
CCIBufferSmoothed[i] = iMAOnArray(CCIBuffer, 0, SmoothingMA_Period, 0, SmoothingMode, i);
i–;
}

//—-
return(0);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download

Download MTF MARSI V020 indicators

v020We are stunned that this mq4 code have functioned perfectly with Meta Trader 4 as well as MT5 (Metatrader 5) platform right after trying it. And more probably, it might also operate along with some other MT editions.

Comments concerning the MTF MARSI V020 indicator is going to be most appreciated. Comments and suggestions are submitted to the MTF MARSI V020 indicator comment section. Several lines will do, it could be ways about how one can use it or the best means to trade with it. The very best indicator will probably be picked by currency exchange investors with the aid of your comments regarding the products.

Discovering the right indicators may be the priority of foreign currency traders. Best decisions are created based on the trading industry by obtaining free MTF MARSI V020 indicator. Placing the Forex indicators including MTF MARSI V020 within the web allows people to have easy accessibility on it.

 

[php]</pre>
//+——————————————————————+
//| MTF_MARSI_v0.10.mq4 |
//| RL |
//| http:// |
//| 28.jul.2009 – add modeMA = EMA (1) |
//+——————————————————————+
#property copyright “RL (Rafaell)”
#property link “http://”

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Gold

#property indicator_level1 30
#property indicator_level2 70
#property indicator_levelcolor DarkSlateGray

extern int RSIPeriod = 14;

extern int MARSIPeriod =8;
extern int ModeMA = MODE_EMA; //Avalible: 0-SMA, 1-EMA

extern int showBars =1;
extern int fontsize = 10;
extern int Side = 1;
extern int Y = 5;
extern int X = 5;
extern color maRsiCoolor = Gold;
extern color rsiCoolor = Blue;
extern color BarLabel_color = DarkGreen;
extern int minBars = 250;

int tf[] = {1, 5, 15, 30, 60, 240};
double rsi1[],
rsi5[],
rsi15[],
rsi30[],
rsi1H[],
rsi4H[];
double maRsi1[],
maRsi5[],
maRsi15[],
maRsi30[],
maRsi1H[],
maRsi4H[];
double dRsi[];
double dMaRsi[];

string ind;
int i, j;
int pperiod;
int limit[6];
int cBars[6],
pBars[6];
color ncol[6];
int pTime ;

//—- buffers

//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{

if (ModeMA == MODE_EMA && minBars < 3*MARSIPeriod)
minBars = 3*MARSIPeriod;
//—- indicators

IndicatorBuffers(8);

SetIndexStyle(0,DRAW_LINE, Blue);
SetIndexLabel( 0, “RSI”+Period());
SetIndexBuffer(0, dRsi);
SetIndexStyle(1,DRAW_LINE, Green);
SetIndexLabel( 1, “MARSI”+Period());
SetIndexBuffer(1, dMaRsi);
SetIndexBuffer(2, rsi1);
SetIndexBuffer(3, rsi5);
SetIndexBuffer(4, rsi15);
SetIndexBuffer(5, rsi30);
SetIndexBuffer(6, rsi1H);
SetIndexBuffer(7, rsi4H);

ind = StringConcatenate(WindowExpertName(),” RSI (“,RSIPeriod,”) MARSI(“,MARSIPeriod,”)”);
IndicatorShortName(ind);

ArraySetAsSeries(maRsi1, true);
ArraySetAsSeries(maRsi5, true);
ArraySetAsSeries(maRsi15, true);
ArraySetAsSeries(maRsi30,true);
ArraySetAsSeries(maRsi1H, true);
ArraySetAsSeries(maRsi4H, true);

//—-

return(0);
}
//+——————————————————————+
//| Custom indicator deinitialization function |
//+——————————————————————+
int deinit()
{
//—-
ObjectDelete(“NumberRsi”+WindowFind(ind));
DeleteAllVObj();

//—-
return(0);
}
//+——————————————————————+
//| Custom indicator iteration function |
//+——————————————————————+
int start()
{

//—-

for (i=0; i<6; i++) {
cBars[i] = iBars(Symbol(), tf[i]);

if (pBars[i] <= 0)
limit[i] = cBars[i] – RSIPeriod – 1;
else
limit[i] = cBars[i] – pBars[i];
}

limit[0] = CheckArray(maRsi1, tf[0], limit[0], 0);
limit[1] = CheckArray(maRsi5, tf[1], limit[1], 1);
limit[2] = CheckArray(maRsi15, tf[2], limit[2], 2);
limit[3] = CheckArray(maRsi30, tf[3], limit[3], 3);
limit[4] = CheckArray(maRsi1H, tf[4], limit[4], 4);
limit[5] = CheckArray(maRsi4H, tf[5], limit[5], 5);

for (i=limit[0]+MARSIPeriod; i>=0; i–)
rsi1[i] = iRSI(Symbol(),tf[0],RSIPeriod,PRICE_CLOSE,i);
for (i=limit[1]+MARSIPeriod; i>=0; i–)
rsi5[i] = iRSI(Symbol(),tf[1],RSIPeriod,PRICE_CLOSE,i);
for (i=limit[2]+MARSIPeriod; i>=0; i–)
rsi15[i] = iRSI(Symbol(),tf[2],RSIPeriod,PRICE_CLOSE,i);
for (i=limit[3]+MARSIPeriod; i>=0; i–)
rsi30[i] = iRSI(Symbol(),tf[3],RSIPeriod,PRICE_CLOSE,i);
for (i=limit[4]+MARSIPeriod; i>=0; i–)
rsi1H[i] = iRSI(Symbol(),tf[4],RSIPeriod,PRICE_CLOSE,i);
for (i=limit[5]+MARSIPeriod; i>=0; i–)
rsi4H[i] = iRSI(Symbol(),tf[5],RSIPeriod,PRICE_CLOSE,i);

if (ModeMA == MODE_EMA) {
maRsi1[limit[0]] = iMAOA(maRsi1, rsi1, MARSIPeriod, MODE_SMA, limit[0]);
maRsi5[limit[1]] = iMAOA(maRsi5, rsi5, MARSIPeriod, MODE_SMA, limit[1]);
maRsi15[limit[2]] = iMAOA(maRsi15, rsi15, MARSIPeriod, MODE_SMA, limit[2]);
maRsi30[limit[3]] = iMAOA(maRsi30, rsi30, MARSIPeriod, MODE_SMA, limit[3]);
maRsi1H[limit[4]] = iMAOA(maRsi1H, rsi1H, MARSIPeriod, MODE_SMA, limit[4]);
maRsi4H[limit[5]] = iMAOA(maRsi4H, rsi4H, MARSIPeriod, MODE_SMA, limit[5]);

for (i=0; i<6; i++)
limit[i] –;
}
for (i=limit[0]; i>=0; i–)
maRsi1[i] = iMAOA(maRsi1, rsi1, MARSIPeriod, ModeMA, i);
for (i=limit[1]; i>=0; i–)
maRsi5[i] = iMAOA(maRsi5, rsi5, MARSIPeriod, ModeMA, i);
for (i=limit[2]; i>=0; i–)
maRsi15[i] = iMAOA(maRsi15, rsi15, MARSIPeriod, ModeMA, i);
for (i=limit[3]; i>=0; i–)
maRsi30[i] = iMAOA(maRsi30, rsi30, MARSIPeriod, ModeMA, i);
for (i=limit[4]; i>=0; i–)
maRsi1H[i] = iMAOA(maRsi1H, rsi1H, MARSIPeriod, ModeMA, i);
for (i=limit[5]; i>=0; i–)
maRsi4H[i] = iMAOA(maRsi4H, rsi4H, MARSIPeriod, ModeMA, i);

switch (Period()) {
case 1: {
if (pperiod != Period()) {
ArrayResize(maRsi1, cBars[0]);

}
limit[0]= cBars[0] – RSIPeriod;
for (i=cBars[0] – RSIPeriod; i>=0; i–)
maRsi1[i] = iMAOnArray(rsi1,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi1, 0, 0, WHOLE_ARRAY);
ArrayCopy(dMaRsi, maRsi1, 0, 0, WHOLE_ARRAY);

} break;

case 5: {
if (pperiod != Period()) {
ArrayResize(maRsi5, cBars[1]);

}
limit[1]= cBars[1] – RSIPeriod;
for (i=cBars[1] – RSIPeriod; i>=0; i–)
maRsi5[i] = iMAOnArray(rsi5,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi5, 0, 0, WHOLE_ARRAY);
ArrayCopy(dMaRsi, maRsi5, 0, 0, WHOLE_ARRAY);
} break;

case 15: {
if (pperiod != Period()) {
ArrayResize(maRsi15, cBars[2]);

}
limit[2]= cBars[2] – RSIPeriod;
for (i=cBars[2] – RSIPeriod; i>=0; i–)
maRsi15[i] = iMAOnArray(rsi15,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi15, 0, 0, WHOLE_ARRAY);
ArrayCopy(dMaRsi, maRsi15, 0, 0, WHOLE_ARRAY);
} break;

case 30: {
if (pperiod != Period()) {
ArrayResize(maRsi30, cBars[3]);

}
limit[3]= cBars[3] – RSIPeriod;
for (i=cBars[3] – RSIPeriod; i>=0; i–)
maRsi30[i] = iMAOnArray(rsi30,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi30, 0, 0);
ArrayCopy(dMaRsi, maRsi30, 0, 0);
} break;

case 60: {
if (pperiod != Period()) {
ArrayResize(maRsi1H, cBars[4]);

}
limit[4]= cBars[4] – RSIPeriod;
for (i=cBars[4] – RSIPeriod; i>=0; i–)
maRsi1H[i] = iMAOnArray(rsi1H,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi1H, 0, 0);
ArrayCopy(dMaRsi, maRsi1H, 0, 0);
} break;

case 240: {
if (pperiod != Period()) {
ArrayResize(maRsi4H, cBars[5]);

}
limit[5]= cBars[5] – RSIPeriod;
for (i=cBars[5] – RSIPeriod; i>=0; i–)
maRsi4H[i] = iMAOnArray(rsi4H,0,MARSIPeriod,0,ModeMA,i);
ArrayCopy(dRsi, rsi4H, 0, 0);
ArrayCopy(dMaRsi, maRsi4H, 0, 0);
} break;
default: {
ArrayInitialize(dRsi, EMPTY_VALUE);
ArrayInitialize(dMaRsi, EMPTY_VALUE);

} break;
}
for (i=0; i<6; i++)
pBars[i] = cBars[i];
pperiod = Period();

ncol[0] = SetColor(maRsi1, 0);
ncol[1] = SetColor(maRsi5, 1);
ncol[2] = SetColor(maRsi15, 2);
ncol[3] = SetColor(maRsi30, 3);
ncol[4] = SetColor(maRsi1H, 4);
ncol[5] = SetColor(maRsi4H, 5);

if (ObjectFind(“NumberRsi”+WindowFind(ind)) < 0 ) {
if (Side == 1 || Side == 3)
Write(“NumberRsi”+WindowFind(ind), Side, X+(12*fontsize/8), Y, “H4 H1 M30 M15 M5 M1”, (fontsize+2), “Tahoma”, BarLabel_color);
else
Write(“NumberRsi”+WindowFind(ind), Side, X+(12*fontsize/8), Y, “M1 M5 M15 M30 H1 H4”, fontsize+2, “Tahoma”, BarLabel_color);
}

if (showBars == 1) {
//int wi = WindowBarsPerChart()/6;
int wi = WindowFirstVisibleBar()/6;
int ce = WindowFirstVisibleBar();

if (ObjectFind(“bRSI4H”+WindowFind(ind)) > 0) {
UpdateObj(“bRSI4H”+WindowFind(ind), Time[ce], maRsi4H[0], Time[ce-wi], Time[ce-wi/2], ncol[5]);
UpdateObj(“bRSI1H”+WindowFind(ind), Time[ce-wi], maRsi1H[0], Time[ce-2*wi], Time[ce-3*wi/2], ncol[4]);
UpdateObj(“bRSI30″+WindowFind(ind), Time[ce-2*wi], maRsi30[0], Time[ce-3*wi], Time[ce-5*wi/2], ncol[3]);
UpdateObj(“bRSI15″+WindowFind(ind), Time[ce-3*wi], maRsi15[0], Time[ce-4*wi], Time[ce-7*wi/2], ncol[2]);
UpdateObj(“bRSI5″+WindowFind(ind), Time[ce-4*wi], maRsi5[0], Time[ce-5*wi], Time[ce-9*wi/2], ncol[1]);
UpdateObj(“bRSI1″+WindowFind(ind), Time[ce-5*wi], maRsi1[0], Time[ce-6*wi], Time[ce-11*wi/2], ncol[0]);
}
else {
HBar(“bRSI4H”+WindowFind(ind), Time[ce], maRsi4H[0], Time[ce-wi], “H4”, 20, “Tahoma”, C’53,73,93′, ncol[5]);
HBar(“bRSI1H”+WindowFind(ind), Time[ce-wi], maRsi1H[0], Time[ce-2*wi], “H1”, 20, “Tahoma”, C’53,63,83′, ncol[4]);
HBar(“bRSI30″+WindowFind(ind), Time[ce-2*wi], maRsi30[0], Time[ce-3*wi], “M30”, 20, “Tahoma”, C’50,53,63′, ncol[3]);
HBar(“bRSI15″+WindowFind(ind), Time[ce-3*wi], maRsi15[0], Time[ce-4*wi], “M15”, 20, “Tahoma”, C’40,43,43′, ncol[2]);
HBar(“bRSI5″+WindowFind(ind), Time[ce-4*wi], maRsi5[0], Time[ce-5*wi], “M5”, 20, “Tahoma”, C’30,33,36′, ncol[1]);
HBar(“bRSI1″+WindowFind(ind), Time[ce-5*wi], maRsi1[0], Time[0], “M1”, 20, “Tahoma”, C’25,28,31′, ncol[0]);
}
}

if (ModeMA <= MODE_EMA && ModeMA >= 0) {
Write(“maRSI1″+WindowFind(ind), Side, X+(5*fontsize/6) , Y+(10*fontsize/6), DoubleToStr(maRsi1[0], 2), fontsize, “Tahoma”, ncol[0]);
Write(“maRSI5″+WindowFind(ind), Side, X+(29*fontsize/6), Y+(10*fontsize/6), DoubleToStr(maRsi5[0], 2), fontsize, “Tahoma”, ncol[1]);
Write(“maRSI15″+WindowFind(ind), Side, X+(51*fontsize/6), Y+(10*fontsize/6), DoubleToStr(maRsi15[0], 2), fontsize, “Tahoma”, ncol[2]);
Write(“maRSI30″+WindowFind(ind), Side, X+(74*fontsize/6), Y+(10*fontsize/6), DoubleToStr(maRsi30[0], 2), fontsize, “Tahoma”, ncol[3]);
Write(“maRSI1H”+WindowFind(ind), Side, X+(97*fontsize/6), Y+(10*fontsize/6), DoubleToStr(maRsi1H[0], 2), fontsize, “Tahoma”, ncol[4]);
Write(“maRSI4H”+WindowFind(ind), Side, X+(120*fontsize/6), Y+(10*fontsize/6), DoubleToStr(maRsi4H[0], 2), fontsize, “Tahoma”, ncol[5]);
Write(“RSI1″+WindowFind(ind), Side, X+(5*fontsize/6) , Y+(18*fontsize/6), DoubleToStr(rsi1[0], 2), fontsize, “Tahoma”, rsiCoolor);
Write(“RSI5″+WindowFind(ind), Side, X+(29*fontsize/6), Y+(18*fontsize/6), DoubleToStr(rsi5[0], 2), fontsize, “Tahoma”, rsiCoolor);
Write(“RSI15″+WindowFind(ind), Side, X+(51*fontsize/6), Y+(18*fontsize/6), DoubleToStr(rsi15[0], 2), fontsize, “Tahoma”, rsiCoolor);
Write(“RSI30″+WindowFind(ind), Side, X+(74*fontsize/6), Y+(18*fontsize/6), DoubleToStr(rsi30[0], 2), fontsize, “Tahoma”, rsiCoolor);
Write(“RSI1H”+WindowFind(ind), Side, X+(97*fontsize/6), Y+(18*fontsize/6), DoubleToStr(rsi1H[0], 2), fontsize, “Tahoma”, rsiCoolor);
Write(“RSI4H”+WindowFind(ind), Side, X+(120*fontsize/6), Y+(18*fontsize/6), DoubleToStr(rsi4H[0], 2), fontsize, “Tahoma”, rsiCoolor);
}
else
DeleteAllVObj();
//—-
//—-
return(0);
}
//+——————————————————————+
void Write(string LBL, double Side, int X, int Y, string text, int fontsize, string fontname, color Tcolor)
{

if (ObjectFind(LBL) < 0) {
ObjectCreate(LBL, OBJ_LABEL, WindowFind(ind), 0 , 0);

ObjectSet(LBL, OBJPROP_CORNER, Side);
ObjectSet(LBL, OBJPROP_XDISTANCE, X);
ObjectSet(LBL, OBJPROP_YDISTANCE, Y);
}
ObjectSetText(LBL,text, fontsize, fontname, Tcolor);

}

//+——————————————————————+
void HBar(string LBL, datetime X, double h, datetime X1, string text, int fontsize, string fontname, color Tcolor, color T1color)
{

&nbsp;

ObjectCreate(LBL, OBJ_RECTANGLE, WindowFind(ind), X , 0, X1, h);
ObjectSet(LBL, OBJPROP_COLOR, Tcolor);
ObjectCreate(LBL+”1″, OBJ_TEXT, WindowFind(ind), (X+X1)/2 , 0.9*h);
ObjectSet(LBL+”1″, OBJPROP_CORNER, 0);
ObjectSetText(LBL+”1″,text, fontsize, fontname, T1color);
// ObjectSet(LBL+”1″, OBJPROP_ANGLE, 90);

}

//+——————————————————————+
void DeleteAllVObj() {
ObjectDelete(“maRSI1″+WindowFind(ind));
ObjectDelete(“maRSI5″+WindowFind(ind));
ObjectDelete(“maRSI15″+WindowFind(ind));
ObjectDelete(“maRSI30″+WindowFind(ind));
ObjectDelete(“maRSI1H”+WindowFind(ind));
ObjectDelete(“maRSI4H”+WindowFind(ind));

ObjectDelete(“RSI1″+WindowFind(ind));
ObjectDelete(“RSI5″+WindowFind(ind));
ObjectDelete(“RSI15″+WindowFind(ind));
ObjectDelete(“RSI30″+WindowFind(ind));
ObjectDelete(“RSI1H”+WindowFind(ind));
ObjectDelete(“RSI4H”+WindowFind(ind));

if (ObjectFind(“bRSI4H”+WindowFind(ind)) > 0) {
ObjectDelete(“bRSI4H”+WindowFind(ind));
ObjectDelete(“bRSI4H”+WindowFind(ind)+”1”);
ObjectDelete(“bRSI1H”+WindowFind(ind));
ObjectDelete(“bRSI1H”+WindowFind(ind)+”1”);
ObjectDelete(“bRSI30″+WindowFind(ind));
ObjectDelete(“bRSI30″+WindowFind(ind)+”1”);
ObjectDelete(“bRSI15″+WindowFind(ind));
ObjectDelete(“bRSI15″+WindowFind(ind)+”1”);
ObjectDelete(“bRSI5″+WindowFind(ind));
ObjectDelete(“bRSI5″+WindowFind(ind)+”1”);
ObjectDelete(“bRSI1″+WindowFind(ind));
ObjectDelete(“bRSI1″+WindowFind(ind)+”1″);

}
}

//+——————————————————————+
int CheckArray(double arr[], int tf, int n, int c)
{

if (Period() != tf && ArraySize(arr) != minBars+1) {
ArrayResize(arr, minBars+1);
return (minBars);
}
else if (Period() != tf) {
return (minBars);
}
else
return (n);
}
//+——————————————————————+
double iMAOA(double ma[], double a[],int per,int ModeMa,int sh)
{
int i;
double res = 0.0;
double k;

switch (ModeMa) {
case MODE_SMA: {
for (i=0+sh; i<per+sh;i++)
res += a[i];
return (res/per);
} break;
case MODE_EMA: {
k = 2.0/(per+1.0);
res = k*a[sh] + (1-k)*ma[sh+1];
return (res);
} break;
default:
return (EMPTY_VALUE);
break;
}
}
//+——————————————————————+
color SetColor(double mac[], int n)
{
if (mac[0] < 30)
return(Red);
else if (mac[0] > 70)
return(Green);
else {
for (i=1; i<=limit[n]; i++) {
if (mac[i] < 30)
return(Green);
if (mac[i] > 70)
return (Red);
}
}
return(maRsiCoolor);
}
//+——————————————————————+
void UpdateObj(string LBL, datetime X, double h, datetime X1, datetime XT,color col)
{
ObjectMove(LBL, 0 , X, 0);
ObjectMove(LBL, 1 , X1, h);
ObjectMove(LBL+”1″, 0 , XT, 0.9*h);
ObjectSet(LBL+”1”, OBJPROP_COLOR, col);
}
//+——————————————————————+
<pre>
[/php]

Click Here to Download