Indicators with alerts/signal - page 380

 

Hello,

I need a Dual Fibo Indicator with nine (9) External Variables that allow you to select the Bar location ([n]), Period for each Fibo (D1, etc.), the Starting/Ending Points for each Fibo (OHLC) an whether or not the actual Fibo itself should be displayed on the active chart, or not.

You would be able to set Fibo1 with a Starting Point of Open and an Ending Point of High, then set Fibo2 with a Starting Point of High and an Ending Point of Low, each for Period D1 in Bar [1]. So, this would plot two (2) Fibos on the chart. Fibo1 = D1 Open to D1 High, and Fibo2 = D1 High to D1 Low, of the previous Daily bar [1].

So, the External Variables would be:

Bar[n]_Fibo1 (integer)

Bar[n]_Fibo2 (integer)

Period_Fibo1 (M1, M5, M15, M30, H1, D1, W1, MN)

Period_Fibo2 (M1, M5, M15, M30, H1, D1, W1, MN)

StartPoint_Fibo1 (Open, High, Low, Close)

EndPoint_Fibo2 (Open, High, Low, Close)

StartPoint_Fibo2 (Open, High, Low, Close)

EndPoint_Fibo2 (Open, High, Low, Close)

DisplayOnChart (boolean)

If anybody has ever heard of such a Dual Fibo Indicator with the External Variables outlined above, please post a link. Thank you!

 

Does anybody have a link to that indicator that gives you a signal just before the market moves 75 pips? I'd really like to download that one.

Of course, I'm only kidding!

 

If not already in existence (Dual Fibo with Bar Selection and OHLC Start/Stop External Inputs), is there anyone here who could build it?

 

...

I would like to have that one too :)

But why limiting it to 75 pip. Heck, let it be 150 pips move

Trajectory7:
Does anybody have a link to that indicator that gives you a signal just before the market moves 75 pips? I'd really like to download that one. Of course, I'm only kidding!
 
mladen:
I would like to have that one too :) But why limiting it to 75 pip. Heck, let it be 150 pips move

...me too !!!

of course, i am not kidding !

 
Callmeblessed:
Hello everyone,

Hi Mladen, could you or someone please help me add a pop up with sound and email alerts on

these indicators. Let the alert occur at the first signal arrow or mark.

Or if someone has them with an alerts already, can you post them please. This will be greatly

appreciated.

Thanks in advance for the help.

blessed

Hi Blessed,

Put alerts on the first one the second is the same as the first except it has different settings.

Files:
 
rayz:
hello friend.

can someone help to put sound alert in this indicator so that we alert when price in area 38.2 and 23.6.

please help. this is fibo code indicator.

#property copyright "Copyright © 2009, Julien Loutre"

#property link "http://www.forexcomm.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 LightSkyBlue

#property indicator_color2 Plum

extern int Band_Period = 15;

extern int price_type = 0; // 0 = High/Low | 1 = Open/Close

//---- buffers

double WWBuffer1[];

double WWBuffer2[];

double WWBuffer3[];

double ATR;

int init() {

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_LINE,1);

SetIndexStyle(1,DRAW_LINE,1);

SetIndexLabel(0, "High");

SetIndexLabel(1, "Low");

SetIndexBuffer(0, WWBuffer1);

SetIndexBuffer(1, WWBuffer2);

IndicatorDigits(Digits+2);

IndicatorShortName("Automatic Fibonacci");

ObjectCreate("AutoFibo", OBJ_FIBO, 0, Time[0],High[0],Time[0],Low[0]);

return(0);

}

int deinit() {

ObjectDelete("AutoFibo");

}

int start() {

int counted_bars=IndicatorCounted();

int limit,i;

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i=limit-1; i>=0; i--) {

WWBuffer1 = getPeriodHigh(Band_Period,i);

WWBuffer2 = getPeriodLow(Band_Period,i);

ObjectSet("AutoFibo", OBJPROP_TIME1, Time);

ObjectSet("AutoFibo", OBJPROP_TIME2, Time[0]);

if (Open < Open[0]) { // Up

ObjectSet("AutoFibo", OBJPROP_PRICE1, getPeriodHigh(Band_Period,i));

ObjectSet("AutoFibo", OBJPROP_PRICE2, getPeriodLow(Band_Period,i));

} else {

ObjectSet("AutoFibo", OBJPROP_PRICE1, getPeriodLow(Band_Period,i));

ObjectSet("AutoFibo", OBJPROP_PRICE2, getPeriodHigh(Band_Period,i));

}

}

return(0);

}

double getPeriodHigh(int period, int pos) {

int i;

double buffer = 0;

for (i=pos;i<=pos+period;i++) {

if (price_type == 0) {

if (High > buffer) {

buffer = High;

}

} else {

if (Open > Close) { // Down

if (Open > buffer) {

buffer = Open;

}

} else {

if (Close > buffer) {

buffer = Close;

}

}

}

}

return (buffer);

}

double getPeriodLow(int period, int pos) {

int i;

double buffer = 100000;

for (i=pos;i<=pos+period;i++) {

if (price_type == 0) {

if (Low < buffer) {

buffer = Low;

}

} else {

if (Open > Close) { // Down

if (Close < buffer) {

buffer = Close;

}

} else {

if (Open < buffer) {

buffer = Open;

}

}

}

}

return (buffer);

}

come on please someone make sound alert, so many entry can be alert,

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/543739_193811374075281_1848161757_n.jpg

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-snc6/35522_3167526834997_1470229572_32148515_830289319_n.jpg

 
rayz:
come on please someone make sound alert, so many entry can be alert,

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/543739_193811374075281_1848161757_n.jpg

https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-snc6/35522_3167526834997_1470229572_32148515_830289319_n.jpg

Hi Rayz,

Found this version, its actually a mod of the code you posted, anyway did a little rearranging and added the alerts, which should go off when close price leaves the high low levels.

ps) to those who downloaded found the earlier version buy sell zones wasn't refreshing correctly, might want to change to Auto_Fib Trade_Zone_alerts seems to be working correctly.

 

Want to add alert msg with sound in Zigzag indicator

Hi,

Following is code of Zigzag indicator. I want to add Alert message with sound when new line draws. This indicator never repaint. Can anybody help me to do this?

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

//| High_Low v2 (ZigZag).mq4 |

//| rewritten by CrazyChart |

//| |

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

#property copyright "rewritten by CrazyChart, modify by prasxz www.freefxsystem.com"

#property link ""

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- input parameters

//extern double TakeProfit=250.0;

//extern double Lots=1;

extern int barn=1300;

extern int Length=1;

//---- buffers

double ExtMapBuffer1[];

//double ExtMapBuffer2[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexEmptyValue(0,0.0);

//SetIndexDrawBegin(0, barn);

SetIndexStyle(0,DRAW_SECTION);

SetIndexBuffer(0,ExtMapBuffer1);

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int cnt,ticket,counted_bars=IndicatorCounted();

int shift,Swing,Swing_n,uzl,i,zu,zd,mv;

double LL,HH,BH,BL,NH,NL;

double Uzel[10000][3];

string text;

if (High[1]> High[0]) {Comment("SELL !!");}

else if (High[1]< High[0]) {Comment("BUY !!");}

// loop from first bar to current bar (with shift=0)

Swing_n=0;Swing=0;uzl=0;

BH =High;BL=Low;zu=barn;zd=barn;

for (shift=barn;shift>=0;shift--) {

LL=10000000;HH=-100000000;

for (i=shift+Length;i>=shift+1;i--) {

if (Low< LL) {LL=Low;}

if (High>HH) {HH=High;}

//====

// if (High[1]> High[0]) {Comment("SELL !!"); {

// ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,Ask+TakeProfit*Point,"My EA",12345,0,Green);

// if(ticket>0)

// {

// if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

// }

// else Print("Error opening BUY order : ",GetLastError());

// return(0);

// }}

//=====

}

//If (High< High) Comment(High,High," ","STAY AWAY !!");

//

if (Low[shift]HH){

Swing=2;

if (Swing_n==1) {zu=shift+1;}

if (Swing_n==-1) {zd=shift+1;}

} else {

if (Low[shift]<LL) {Swing=-1;}

if (High[shift]>HH) {Swing=1;}

}

if (Swing!=Swing_n && Swing_n!=0) {

if (Swing==2) {

Swing=-Swing_n;BH = High[shift];BL = Low[shift];

}

uzl=uzl+1;

if (Swing==1) {

Uzel[1]=zd;

Uzel[2]=BL;

}

if (Swing==-1) {

Uzel[1]=zu;

Uzel[2]=BH;

}

BH = High[shift];

BL = Low[shift];

}

if (Swing==1) {

if (High[shift]>=BH) {BH=High[shift];zu=shift;}}

if (Swing==-1) {

if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}

Swing_n=Swing;

}

for (i=1;i<=uzl;i++) {

//text=DoubleToStr(Uzel[1],0);

//text=;

mv=StrToInteger(DoubleToStr(Uzel[1],0));

ExtMapBuffer1[mv]=Uzel[2];

}

return(0);

}

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

 

...

One version of ZigZag with alerts you can find on this post : https://www.mql5.com/en/forum/172952/page17

Some more (versions with alerts) can be found on that thread itself

Nilesh Jadhav:
Hi,

Following is code of Zigzag indicator. I want to add Alert message with sound when new line draws. This indicator never repaint. Can anybody help me to do this?

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

//| High_Low v2 (ZigZag).mq4 |

//| rewritten by CrazyChart |

//| |

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

#property copyright "rewritten by CrazyChart, modify by prasxz www.freefxsystem.com"

#property link ""

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- input parameters

//extern double TakeProfit=250.0;

//extern double Lots=1;

extern int barn=1300;

extern int Length=1;

//---- buffers

double ExtMapBuffer1[];

//double ExtMapBuffer2[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexEmptyValue(0,0.0);

//SetIndexDrawBegin(0, barn);

SetIndexStyle(0,DRAW_SECTION);

SetIndexBuffer(0,ExtMapBuffer1);

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int cnt,ticket,counted_bars=IndicatorCounted();

int shift,Swing,Swing_n,uzl,i,zu,zd,mv;

double LL,HH,BH,BL,NH,NL;

double Uzel[10000][3];

string text;

if (High[1]> High[0]) {Comment("SELL !!");}

else if (High[1]< High[0]) {Comment("BUY !!");}

// loop from first bar to current bar (with shift=0)

Swing_n=0;Swing=0;uzl=0;

BH =High;BL=Low;zu=barn;zd=barn;

for (shift=barn;shift>=0;shift--) {

LL=10000000;HH=-100000000;

for (i=shift+Length;i>=shift+1;i--) {

if (Low< LL) {LL=Low;}

if (High>HH) {HH=High;}

//====

// if (High[1]> High[0]) {Comment("SELL !!"); {

// ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,Ask+TakeProfit*Point,"My EA",12345,0,Green);

// if(ticket>0)

// {

// if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

// }

// else Print("Error opening BUY order : ",GetLastError());

// return(0);

// }}

//=====

}

//If (High< High) Comment(High,High," ","STAY AWAY !!");

//

if (Low[shift]HH){

Swing=2;

if (Swing_n==1) {zu=shift+1;}

if (Swing_n==-1) {zd=shift+1;}

} else {

if (Low[shift]<LL) {Swing=-1;}

if (High[shift]>HH) {Swing=1;}

}

if (Swing!=Swing_n && Swing_n!=0) {

if (Swing==2) {

Swing=-Swing_n;BH = High[shift];BL = Low[shift];

}

uzl=uzl+1;

if (Swing==1) {

Uzel[1]=zd;

Uzel[2]=BL;

}

if (Swing==-1) {

Uzel[1]=zu;

Uzel[2]=BH;

}

BH = High[shift];

BL = Low[shift];

}

if (Swing==1) {

if (High[shift]>=BH) {BH=High[shift];zu=shift;}}

if (Swing==-1) {

if (Low[shift]<=BL) {BL=Low[shift]; zd=shift;}}

Swing_n=Swing;

}

for (i=1;i<=uzl;i++) {

//text=DoubleToStr(Uzel[1],0);

//text=;

mv=StrToInteger(DoubleToStr(Uzel[1],0));

ExtMapBuffer1[mv]=Uzel[2];

}

return(0);

}

//+------------------------------------------------------------------+
Reason: