You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
As far as I see those arrows are not based on bollinger bands but on some kind of zigzag (or something similar)
oh thx for explain mladen..Please can u post a indicator arrows based on bolling bands ?
Many Thanks
Hi All,
Happy New Year to all.
For the attached indicator, is it possible to add 1) Push Notification alert option?
2) Add option to select how many bars to show
Thank you very much.Hi Alvinkon, added our standard alerts to the indicator, wasn't able to add the showBars option, from what I can tell the indicator would have to be completely done to do this.
Spainguy74, that version is decompiled, but think this one I have(if memory serves me right) is the same.
oh i see.. what is about arrows? i like to see that...
dont you mind?
thank
oh i see.. what is about arrows? i like to see that...
dont you mind?
thankAdded an arrow option and or candle option.
Hi Alvinkon, added our standard alerts to the indicator, wasn't able to add the showBars option, from what I can tell the indicator would have to be completely done to do this.
Dear mtrools,
I received the error below when i attached the indicator to my mt4 and it caused my computer very lag. Can it be solve? Thank you.
Candlestick - CandlestickPatternsRecognition_ alerts EURJPY,M30: indicator is too slow, 3089 ms. rewrite the indicator, please
Dear mtrools,
I received the error below when i attached the indicator to my mt4 and it caused my computer very lag. Can it be solve? Thank you.
Candlestick - CandlestickPatternsRecognition_ alerts EURJPY,M30: indicator is too slow, 3089 ms. rewrite the indicator, pleaseAlvinkon, try this version.
Good afternoon!
Add, please function alertsOnCurrent
Thanks!
rsi_color_rsi_v1.01_maxim_nmc.mq4
Can I bring a histogram in a separate window? That is a separate indicator that will show the histogram? And you can still learn what it is based? As drawn, this histogram? Intersection level 50?
Gyazo - 652452641df0ed364d090028a0346977.png
email: bartlomiej.gorski@gmail.com
web: http://www.fxservice.eu
The base for this indicator was orginal RSI attached with Metatrader.
*/
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_minimum -10
#property indicator_maximum 100
#property indicator_buffers 6
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Magenta
#property indicator_color5 DodgerBlue
#property indicator_color6 BlueViolet
//---- input parameters
extern int RSIOMA = 14;
extern int RSIOMA_MODE = MODE_EMA;
extern int RSIOMA_PRICE = PRICE_CLOSE;
extern int Ma_RSIOMA = 21,
Ma_RSIOMA_MODE = MODE_EMA;
extern int BuyTrigger = 80;
extern int SellTrigger = 20;
extern color BuyTriggerColor = DodgerBlue;
extern color SellTriggerColor = Magenta;
extern int MainTrendLong = 50;
extern int MainTrendShort = 50;
extern color MainTrendLongColor = Red;
extern color MainTrendShortColor = Green;
//---- buffers
double RSIBuffer[];
double PosBuffer[];
double NegBuffer[];
double bdn[],bup[];
double sdn[],sup[];
double marsioma[];
string short_name;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
short_name = StringConcatenate("RSIOMA(",RSIOMA,")");
IndicatorBuffers(8);
SetIndexBuffer(0,RSIBuffer);
SetIndexBuffer(2,bup);
SetIndexBuffer(1,bdn);
SetIndexBuffer(3,sdn);
SetIndexBuffer(4,sup);
SetIndexBuffer(5,marsioma);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(4,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(5,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(6,PosBuffer);
SetIndexBuffer(7,NegBuffer);
IndicatorShortName(short_name);
SetIndexDrawBegin(0,RSIOMA);
SetIndexDrawBegin(1,RSIOMA);
SetIndexDrawBegin(2,RSIOMA);
SetIndexDrawBegin(3,RSIOMA);
SetIndexDrawBegin(4,RSIOMA);
SetIndexDrawBegin(5,RSIOMA);
SetIndexDrawBegin(6,RSIOMA);
SetIndexDrawBegin(7,RSIOMA);
//----
drawLine(BuyTrigger,"BuyTrigger", BuyTriggerColor);
drawLine(SellTrigger,"SellTrigger", SellTriggerColor );
drawLine(MainTrendLong,"MainTrendLong", MainTrendLongColor );
drawLine(MainTrendShort,"MainTrendShort",MainTrendShortColor );
return(0);
}
//+------------------------------------------------------------------+
//| Relative Strength Index |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
double rel,negative,positive;
//----
if(Bars<=RSIOMA) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=RSIOMA;i++) RSIBuffer=0.0;
//----
i=Bars-RSIOMA-1;
int ma = i;
if(counted_bars>=RSIOMA) i=Bars-counted_bars-1;
while(i>=0)
{
double sumn=0.0,sump=0.0;
if(i==Bars-RSIOMA-1)
{
int k=Bars-2;
//---- initial accumulation
while(k>=i)
{
double cma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,k);
double pma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,k+1);
rel=cma-pma;
if(rel>0) sump+=rel;
else sumn-=rel;
k--;
}
positive=sump/RSIOMA;
negative=sumn/RSIOMA;
}
else
{
//---- smoothed moving average
double ccma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,i);
double ppma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,i+1);
rel=ccma-ppma;
if(rel>0) sump=rel;
else sumn=-rel;
positive=(PosBuffer*(RSIOMA-1)+sump)/RSIOMA;
negative=(NegBuffer*(RSIOMA-1)+sumn)/RSIOMA;
}
PosBuffer=positive;
NegBuffer=negative;
if(negative==0.0) RSIBuffer=0.0;
else
{
RSIBuffer=100.0-100.0/(1+positive/negative);
bdn = 0;
bup = 0;
sdn = 0;
sup = 0;
if(RSIBuffer>MainTrendLong)
bup = -10;
if(RSIBuffer<MainTrendShort)
bdn = -10;
if(RSIBufferRSIBuffer)
sup = -10;
if(RSIBuffer>80 && RSIBuffer<RSIBuffer)
sdn = -10;
}
i--;
}
while(ma>=0)
{
marsioma[ma] = iMAOnArray(RSIBuffer,0,Ma_RSIOMA,0,Ma_RSIOMA_MODE,ma);
ma--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLine(double lvl,string name, color Col )
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, WindowFind(short_name), Time[0], lvl,Time[0],lvl);
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}Can I bring a histogram in a separate window? That is a separate indicator that will show the histogram? And you can still learn what it is based? As drawn, this histogram? Intersection level 50?
Gyazo - 652452641df0ed364d090028a0346977.png
email: bartlomiej.gorski@gmail.com
web: http://www.fxservice.eu
The base for this indicator was orginal RSI attached with Metatrader.
*/
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_minimum -10
#property indicator_maximum 100
#property indicator_buffers 6
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Magenta
#property indicator_color5 DodgerBlue
#property indicator_color6 BlueViolet
//---- input parameters
extern int RSIOMA = 14;
extern int RSIOMA_MODE = MODE_EMA;
extern int RSIOMA_PRICE = PRICE_CLOSE;
extern int Ma_RSIOMA = 21,
Ma_RSIOMA_MODE = MODE_EMA;
extern int BuyTrigger = 80;
extern int SellTrigger = 20;
extern color BuyTriggerColor = DodgerBlue;
extern color SellTriggerColor = Magenta;
extern int MainTrendLong = 50;
extern int MainTrendShort = 50;
extern color MainTrendLongColor = Red;
extern color MainTrendShortColor = Green;
//---- buffers
double RSIBuffer[];
double PosBuffer[];
double NegBuffer[];
double bdn[],bup[];
double sdn[],sup[];
double marsioma[];
string short_name;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
short_name = StringConcatenate("RSIOMA(",RSIOMA,")");
IndicatorBuffers(8);
SetIndexBuffer(0,RSIBuffer);
SetIndexBuffer(2,bup);
SetIndexBuffer(1,bdn);
SetIndexBuffer(3,sdn);
SetIndexBuffer(4,sup);
SetIndexBuffer(5,marsioma);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,3);
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(4,DRAW_HISTOGRAM,STYLE_SOLID,3);
SetIndexStyle(5,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(6,PosBuffer);
SetIndexBuffer(7,NegBuffer);
IndicatorShortName(short_name);
SetIndexDrawBegin(0,RSIOMA);
SetIndexDrawBegin(1,RSIOMA);
SetIndexDrawBegin(2,RSIOMA);
SetIndexDrawBegin(3,RSIOMA);
SetIndexDrawBegin(4,RSIOMA);
SetIndexDrawBegin(5,RSIOMA);
SetIndexDrawBegin(6,RSIOMA);
SetIndexDrawBegin(7,RSIOMA);
//----
drawLine(BuyTrigger,"BuyTrigger", BuyTriggerColor);
drawLine(SellTrigger,"SellTrigger", SellTriggerColor );
drawLine(MainTrendLong,"MainTrendLong", MainTrendLongColor );
drawLine(MainTrendShort,"MainTrendShort",MainTrendShortColor );
return(0);
}
//+------------------------------------------------------------------+
//| Relative Strength Index |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
double rel,negative,positive;
//----
if(Bars<=RSIOMA) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=RSIOMA;i++) RSIBuffer=0.0;
//----
i=Bars-RSIOMA-1;
int ma = i;
if(counted_bars>=RSIOMA) i=Bars-counted_bars-1;
while(i>=0)
{
double sumn=0.0,sump=0.0;
if(i==Bars-RSIOMA-1)
{
int k=Bars-2;
//---- initial accumulation
while(k>=i)
{
double cma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,k);
double pma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,k+1);
rel=cma-pma;
if(rel>0) sump+=rel;
else sumn-=rel;
k--;
}
positive=sump/RSIOMA;
negative=sumn/RSIOMA;
}
else
{
//---- smoothed moving average
double ccma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,i);
double ppma = iMA(Symbol(),0,RSIOMA,0,RSIOMA_MODE,RSIOMA_PRICE,i+1);
rel=ccma-ppma;
if(rel>0) sump=rel;
else sumn=-rel;
positive=(PosBuffer*(RSIOMA-1)+sump)/RSIOMA;
negative=(NegBuffer*(RSIOMA-1)+sumn)/RSIOMA;
}
PosBuffer=positive;
NegBuffer=negative;
if(negative==0.0) RSIBuffer=0.0;
else
{
RSIBuffer=100.0-100.0/(1+positive/negative);
bdn = 0;
bup = 0;
sdn = 0;
sup = 0;
if(RSIBuffer>MainTrendLong)
bup = -10;
if(RSIBuffer<MainTrendShort)
bdn = -10;
if(RSIBufferRSIBuffer)
sup = -10;
if(RSIBuffer>80 && RSIBuffer<RSIBuffer)
sdn = -10;
}
i--;
}
while(ma>=0)
{
marsioma[ma] = iMAOnArray(RSIBuffer,0,Ma_RSIOMA,0,Ma_RSIOMA_MODE,ma);
ma--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLine(double lvl,string name, color Col )
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, WindowFind(short_name), Time[0], lvl,Time[0],lvl);
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}Change the order of buffers and keep only 4 drawing buffers - then it will be OK
Good afternoon!
Add, please function alertsOnCurrent
Thanks!
rsi_color_rsi_v1.01_maxim_nmc.mq4Evgenbest, added alertsOnCurrent.