Indicators with alerts/signal - page 363

sofija2004
87
sofija2004  

Hello Mladen and mrTools,if you have a spare time can you make alert after bar close option to this indicator,plz mt4_heiken_ashi.mq4

Files:
Mladen Rakic
154349
Mladen Rakic  

Heiken ashi smoothed with alerts ...

kalina1977

Even though it is a decompiled code, it is a chopped version of Heiken ashi smoothed (wicks are made not visible).

Anyway, here is a version that is a clean and is able to cover all the cases when heiken ashi smoothed should alert. The case is that if you apply post smoothing (MAPeriod2 > 1) than you can have 4 type of alerts : when body changes trend to up or down but also when wick changes the trend to up or down and those do not have to happen at the same time. So this indicator can recognize all those cases (that is the main reason I am posting this version - there are some other versions of HA smoothed with alerts but they are not able to recognize the 4 alerts if necessary).

To get the same values as the one you posted, set the parameters to 20,1,1,1. If you wish to hide wicks set colors 1 and to to none. Here is how it looks with those periods but with wicks visible

kalina1977:
Hello Mladen and mrTools,if you have a spare time can you make alert after bar close option to this indicator,plz mt4_heiken_ashi.mq4
sachin_syd
139
sachin_syd  
mladen:
In order to alert on closed bar and to alert only once per bar it should be like this :
#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Lime

#property indicator_color2 Gold

#property indicator_color3 Lime

#property indicator_color4 Gold

#property indicator_color5 Lime

#property indicator_color6 Gold

//---- input parameters

extern int Length=8; // Bollinger Bands Period

extern int Deviation=1; // Deviation was 2

extern double MoneyRisk=1.00; // Offset Factor

extern int Signal=1; // Display signals mode: 1-Signals & Stops; 0-only Stops; 2-only Signals;

extern int Line=1; // Display line mode: 0-no,1-yes

extern int Nbars=1000;

//---- indicator buffers

double UpTrendBuffer[];

double DownTrendBuffer[];

double UpTrendSignal[];

double DownTrendSignal[];

double UpTrendLine[];

double DownTrendLine[];

extern bool SoundON=true;

bool TurnedUp = false;

bool TurnedDown = false;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

string short_name;

//---- indicator line

SetIndexBuffer(0,UpTrendBuffer);

SetIndexBuffer(1,DownTrendBuffer);

SetIndexBuffer(2,UpTrendSignal);

SetIndexBuffer(3,DownTrendSignal);

SetIndexBuffer(4,UpTrendLine);

SetIndexBuffer(5,DownTrendLine);

SetIndexStyle(0,DRAW_ARROW,0,0);

SetIndexStyle(1,DRAW_ARROW,0,0);

SetIndexStyle(2,DRAW_ARROW,0,1);

SetIndexStyle(3,DRAW_ARROW,0,1);

SetIndexStyle(4,DRAW_LINE);

SetIndexStyle(5,DRAW_LINE);

SetIndexArrow(0,159);

SetIndexArrow(1,159);

SetIndexArrow(2,233);

SetIndexArrow(3,234);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

//---- name for DataWindow and indicator subwindow label

short_name="BBands Stop("+Length+","+Deviation+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"UpTrend Stop");

SetIndexLabel(1,"DownTrend Stop");

SetIndexLabel(2,"UpTrend Signal");

SetIndexLabel(3,"DownTrend Signal");

SetIndexLabel(4,"UpTrend Line");

SetIndexLabel(5,"DownTrend Line");

//----

SetIndexDrawBegin(0,Length);

SetIndexDrawBegin(1,Length);

SetIndexDrawBegin(2,Length);

SetIndexDrawBegin(3,Length);

SetIndexDrawBegin(4,Length);

SetIndexDrawBegin(5,Length);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Bollinger Bands_Stop_v1 |

//+------------------------------------------------------------------+

int start()

{

int i,shift,trend;

double smax[25000],smin[25000],bsmax[25000],bsmin[25000];

static datetime alertedTime=0;

for (shift=Nbars;shift>=0;shift--)

{

UpTrendBuffer[shift]=0;

DownTrendBuffer[shift]=0;

UpTrendSignal[shift]=0;

DownTrendSignal[shift]=0;

UpTrendLine[shift]=EMPTY_VALUE;

DownTrendLine[shift]=EMPTY_VALUE;

}

for (shift=Nbars-Length-1;shift>=0;shift--)

{

smax[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_UPPER,shift);

smin[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_LOWER,shift);

if (Close[shift]>smax[shift+1]) trend=1;

if (Close[shift]<smin[shift+1]) trend=-1;

if(trend>0 && smin[shift]<smin[shift+1]) smin[shift]=smin[shift+1];

if(trendsmax[shift+1]) smax[shift]=smax[shift+1];

bsmax[shift]=smax[shift]+0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);

bsmin[shift]=smin[shift]-0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);

if(trend>0 && bsmin[shift]<bsmin[shift+1]) bsmin[shift]=bsmin[shift+1];

if(trendbsmax[shift+1]) bsmax[shift]=bsmax[shift+1];

if (trend>0)

{

if (Signal>0 && UpTrendBuffer[shift+1]==-1.0)

{

UpTrendSignal[shift]=bsmin[shift];

UpTrendBuffer[shift]=bsmin[shift];

if(Line>0) UpTrendLine[shift]=bsmin[shift];

if (SoundON==true && shift==1 && !TurnedUp && alertedTime != Time[shift])

{

Alert("BBands Stop Alert Buy --> ",Symbol(),"@TF",Period());

TurnedUp = true;

TurnedDown = false;

alertedTime = Time[shift];

}

}

else

{

UpTrendBuffer[shift]=bsmin[shift];

if(Line>0) UpTrendLine[shift]=bsmin[shift];

UpTrendSignal[shift]=-1;

}

if (Signal==2) UpTrendBuffer[shift]=0;

DownTrendSignal[shift]=-1;

DownTrendBuffer[shift]=-1.0;

DownTrendLine[shift]=EMPTY_VALUE;

}

if (trend<0)

{

if (Signal>0 && DownTrendBuffer[shift+1]==-1.0)

{

DownTrendSignal[shift]=bsmax[shift];

DownTrendBuffer[shift]=bsmax[shift];

if(Line>0) DownTrendLine[shift]=bsmax[shift];

if (SoundON==true && shift==1 && !TurnedDown && alertedTime != Time[shift])

{

Alert("Bbands Stop Alert Sell --> ",Symbol(),"@TF",Period());

TurnedDown = true;

TurnedUp = false;

alertedTime = Time[shift];

}

}

else

{

DownTrendBuffer[shift]=bsmax[shift];

if(Line>0)DownTrendLine[shift]=bsmax[shift];

DownTrendSignal[shift]=-1;

}

if (Signal==2) DownTrendBuffer[shift]=0;

UpTrendSignal[shift]=-1;

UpTrendBuffer[shift]=-1.0;

UpTrendLine[shift]=EMPTY_VALUE;

}

}

return(0);

}

Hi Mladen

Sorry but I am a rookie when it comes to coding. Can u please fix the indicator and post it here..

thanks

spiritbreezer
259
spiritbreezer  

Thanx

mladen:
This should do it

You can specify bars width, colors and total number of volume bars to display.With default settings it looks like this

If you specify bars width 1, then it is displayed like this (no border in that case, since there is no place to add border too) :

Alerts added, and you can chose alert on current (still opened bar) or on closed bar (default setting)

Thank you so much. I'm so looking forward to applying it mow.

Mladen Rakic
154349
Mladen Rakic  

...

sachin_syd

As far as I see it is working as it should

Here is an example of an alert it is giving (I just pasted that code and ran it - it gave me an alert at a first close bar as it should and it did not continue repeating itself - as it also should):

sachin_syd:
Hi Mladen

Sorry but I am a rookie when it comes to coding. Can u please fix the indicator and post it here..

thanks
Files:
bbstop.gif 68 kb
potato
10
potato  
clon_tron:
Plz gys with screenshots!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

As per your request...screenshot updated.

CTC
54
CTC  

effective ratio - good divergence tool - reprograming required

On a previous post, mladen and others have rectified the effective volume and effective ratio indicators. I have found an interesting trading strategy if you trade the divergence on the effective ratio and active boundaries (also available on this forum).

However, I am finding the effective ratio indicator works unbelievably slowly (I have never been able to see the effective large ratio) because of the way it was originally programmed. It uses the effective volume indicator (attached, although attached is v8.02 rather than 8.0) within the effective volume ratio rather than having the code directly within the indicator.

Furthermore, it is missing the ability to choose which line (total, small or large) as well as the average period length of the effective volume should be used within the effective ratio (which separately has the ability to choose the time and period.

Is there anybody out there who could rectify these issues and put this together as one comprehensive indicator rather than an indicator within an indicator and adjust anything required to make it work at a normal speed?

So that you have it, the effective ratio (which is effectively the force of players) is:

positive effective volume - negative effective volume for a period of time (say 30 bars)

divided by the total volume (i.e. volume in metatrader) for that period of time.

The large effective ratio only takes account of the large effective volume, the total effective ratio only takes account of the total effective volume etc.

Many thanks in advance

Mladen Rakic
154349
Mladen Rakic  

repulse with alerts ...

One more for the "with alerts" collection : repulse with alerts

Files:
ali-baba83
10
ali-baba83  

Can any one add email alert to supertrend and nonladog indicator please?

Hi everyone,

l am using this two indicators for forex trading. l need e-mail alert when indicators changing color.they has audio alert please add e-mail alert. Thanks

William Snyder
9492
William Snyder  
ali-baba83:
Hi everyone, l am using this two indicators for forex trading. l need e-mail alert when indicators changing color.they has audio alert please add e-mail alert. Thanks

Hi Ali-Baba,

Maybe try these with all alerts.