Alert if no 'Smiling face"?

 

Many a times I have accidently switch off EA when interchanging accounts. Is there a way to create an Alert if the EA is accidently turned off (no "Smiling face") ? Any input will be appreciated...

LF

 

why dont uncheck the box in Tool/Option--> "Expert Advisors" tab

--> Disable experts when the account has been changed

--> Disable experts when the profile has been changed

instead

 
phoenix:
why dont uncheck the box in Tool/Option--> "Expert Advisors" tab

--> Disable experts when the account has been changed

--> Disable experts when the profile has been changed

instead

Thanks for the tip phoenix but am still hoping that an audible alert can be programmed into the EA or something. Dont anyone here has this problem?

 

i think it has to be an indicator .. cos if the expert button is off, then the ea can not work but indicator still

and maybe something like this

http://docs.mql4.com/check/IsDllsAllowed

 

here it is

----------do not forget to include this file

#include

if(!IsExpertEnabled())

{

MessageBox("Expert Button Is Off","Message",MB_OK|MB_ICONWARNING);

PlaySound("alert.wav");

}

 
phoenix:
here it is

----------do not forget to include this file

#include

if(!IsExpertEnabled())

{

MessageBox("Expert Button Is Off","Message",MB_OK|MB_ICONWARNING);

PlaySound("alert.wav");

}

I am not a programmer and would appreciate if you would show me exactly how and where I am supposed to input the codes if I am using this indicator below..Thanks once again;)

#property copyright "strategybuilderfx.com"

#property link "finger"

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Magenta

#property indicator_level1 70

#property indicator_level2 30

#property indicator_level3 50

#property indicator_maximum 100

#property indicator_minimum 0

//---- input parameters

extern int Len=14; //---- buffers

double rsx[];

int init() {

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,rsx);

IndicatorShortName("RSX");

return(0);

}

int deinit()

{

return(0);

}

int start()

{

double f88, f90;

double f0, v4, v8, vC, v10, v14, v18, v20;

double f8, f10, f18, f20, f28, f30, f38, f48, v1C;

double f50, f58, f60, f68, f70, f78, f80, f40;

//int counted_bars = IndicatorCounted(),limit,shift;

//if (counted_bars<0) return(-1);

//if (counted_bars>0) counted_bars--;

double limit=Bars-(Len)-1;

//if(counted_bars>Len) limit=Bars-counted_bars-1;

for (int shift=limit;shift>=0;shift--) {

if (f90 == 0.0) {

f90 = 1.0;

f0 = 0.0;

if (Len-1 >= 5) f88 = Len-1.0; else f88 = 5.0;

f8 = 100.0*(Close[shift]);

f18 = 3.0 / (Len + 2.0);

f20 = 1.0 - f18;

} else{

if (f88 <= f90) f90 = f88 + 1; else f90 = f90 + 1;

f10 = f8;

f8 = 100*Close[shift];

v8 = f8 - f10;

f28 = f20 * f28 + f18 * v8;

f30 = f18 * f28 + f20 * f30;

vC = f28 * 1.5 - f30 * 0.5;

f38 = f20 * f38 + f18 * vC;

f40 = f18 * f38 + f20 * f40;

v10 = f38 * 1.5 - f40 * 0.5;

f48 = f20 * f48 + f18 * v10;

f50 = f18 * f48 + f20 * f50;

v14 = f48 * 1.5 - f50 * 0.5;

f58 = f20 * f58 + f18 * MathAbs(v8);

f60 = f18 * f58 + f20 * f60;

v18 = f58 * 1.5 - f60 * 0.5;

f68 = f20 * f68 + f18 * v18;

f70 = f18 * f68 + f20 * f70;

v1C = f68 * 1.5 - f70 * 0.5;

f78 = f20 * f78 + f18 * v1C;

f80 = f18 * f78 + f20 * f80;

v20 = f78 * 1.5 - f80 * 0.5;

if ((f88 >= f90) && (f8 != f10)) f0 = 1.0;

if ((f88 == f90) && (f0 == 0.0)) f90 = 0.0;

}

if ((f88 0.0000000001)) {

v4 = (v14 / v20 + 1.0) * 50.0;

if (v4 > 100.0) v4 = 100.0;

if (v4 < 0.0) v4 = 0.0;

} else {

v4 = 50.0;

}

rsx[shift]=v4;

}

return(0);

}
 
LazyForex:
I am not a programmer and would appreciate if you would show me exactly how and where I am supposed to input the codes if I am using this indicator below..Thanks once again;)

#include

#property copyright "strategybuilderfx.com"

#property link "finger"

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Magenta

#property indicator_level1 70

#property indicator_level2 30

#property indicator_level3 50

#property indicator_maximum 100

#property indicator_minimum 0

//---- input parameters

extern int Len=14; //---- buffers

double rsx[];

int init() {

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,rsx);

IndicatorShortName("RSX");

return(0);

}

int deinit()

{

return(0);

}

int start()

{

if(!IsExpertEnabled())

{

MessageBox("Expert Button Is Off","Message",MB_OK|MB_ICONWARNING);

PlaySound("alert.wav");

}

double f88, f90;

double f0, v4, v8, vC, v10, v14, v18, v20;

double f8, f10, f18, f20, f28, f30, f38, f48, v1C;

double f50, f58, f60, f68, f70, f78, f80, f40;

//int counted_bars = IndicatorCounted(),limit,shift;

//if (counted_bars<0) return(-1);

//if (counted_bars>0) counted_bars--;

double limit=Bars-(Len)-1;

//if(counted_bars>Len) limit=Bars-counted_bars-1;

for (int shift=limit;shift>=0;shift--) {

if (f90 == 0.0) {

f90 = 1.0;

f0 = 0.0;

if (Len-1 >= 5) f88 = Len-1.0; else f88 = 5.0;

f8 = 100.0*(Close[shift]);

f18 = 3.0 / (Len + 2.0);

f20 = 1.0 - f18;

} else{

if (f88 <= f90) f90 = f88 + 1; else f90 = f90 + 1;

f10 = f8;

f8 = 100*Close[shift];

v8 = f8 - f10;

f28 = f20 * f28 + f18 * v8;

f30 = f18 * f28 + f20 * f30;

vC = f28 * 1.5 - f30 * 0.5;

f38 = f20 * f38 + f18 * vC;

f40 = f18 * f38 + f20 * f40;

v10 = f38 * 1.5 - f40 * 0.5;

f48 = f20 * f48 + f18 * v10;

f50 = f18 * f48 + f20 * f50;

v14 = f48 * 1.5 - f50 * 0.5;

f58 = f20 * f58 + f18 * MathAbs(v8);

f60 = f18 * f58 + f20 * f60;

v18 = f58 * 1.5 - f60 * 0.5;

f68 = f20 * f68 + f18 * v18;

f70 = f18 * f68 + f20 * f70;

v1C = f68 * 1.5 - f70 * 0.5;

f78 = f20 * f78 + f18 * v1C;

f80 = f18 * f78 + f20 * f80;

v20 = f78 * 1.5 - f80 * 0.5;

if ((f88 >= f90) && (f8 != f10)) f0 = 1.0;

if ((f88 == f90) && (f0 == 0.0)) f90 = 0.0;

}

if ((f88 0.0000000001)) {

v4 = (v14 / v20 + 1.0) * 50.0;

if (v4 > 100.0) v4 = 100.0;

if (v4 < 0.0) v4 = 0.0;

} else {

v4 = 50.0;

}

rsx[shift]=v4;

}

return(0);

}

here you go

 

Thanks phoenix. I managed to get it compiled but when I turn-off the EA, it gave no Alert Pls advise

LF

 

Now its the opposite

EA smiling face and Alert keeps beeping. I turn-off Alert and it Stops beeping..

 
LazyForex:
Thanks phoenix. I managed to get it compiled but when I turn-off the EA, it gave no Alert Pls advise LF

ok i changed it into Alert(..);

when i test it as a script it work...dont know why

#include

#property copyright "strategybuilderfx.com"

#property link "finger"

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 Magenta

#property indicator_level1 70

#property indicator_level2 30

#property indicator_level3 50

#property indicator_maximum 100

#property indicator_minimum 0

//---- input parameters

extern int Len=14; //---- buffers

double rsx[];

int init() {

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,rsx);

IndicatorShortName("RSX");

return(0);

}

int deinit()

{

return(0);

}

int start()

{

if(!IsExpertEnabled())

{

Alert("Expert Button Is Off");

}

double f88, f90;

double f0, v4, v8, vC, v10, v14, v18, v20;

double f8, f10, f18, f20, f28, f30, f38, f48, v1C;

double f50, f58, f60, f68, f70, f78, f80, f40;

//int counted_bars = IndicatorCounted(),limit,shift;

//if (counted_bars<0) return(-1);

//if (counted_bars>0) counted_bars--;

double limit=Bars-(Len)-1;

//if(counted_bars>Len) limit=Bars-counted_bars-1;

for (int shift=limit;shift>=0;shift--) {

if (f90 == 0.0) {

f90 = 1.0;

f0 = 0.0;

if (Len-1 >= 5) f88 = Len-1.0; else f88 = 5.0;

f8 = 100.0*(Close[shift]);

f18 = 3.0 / (Len + 2.0);

f20 = 1.0 - f18;

} else{

if (f88 <= f90) f90 = f88 + 1; else f90 = f90 + 1;

f10 = f8;

f8 = 100*Close[shift];

v8 = f8 - f10;

f28 = f20 * f28 + f18 * v8;

f30 = f18 * f28 + f20 * f30;

vC = f28 * 1.5 - f30 * 0.5;

f38 = f20 * f38 + f18 * vC;

f40 = f18 * f38 + f20 * f40;

v10 = f38 * 1.5 - f40 * 0.5;

f48 = f20 * f48 + f18 * v10;

f50 = f18 * f48 + f20 * f50;

v14 = f48 * 1.5 - f50 * 0.5;

f58 = f20 * f58 + f18 * MathAbs(v8);

f60 = f18 * f58 + f20 * f60;

v18 = f58 * 1.5 - f60 * 0.5;

f68 = f20 * f68 + f18 * v18;

f70 = f18 * f68 + f20 * f70;

v1C = f68 * 1.5 - f70 * 0.5;

f78 = f20 * f78 + f18 * v1C;

f80 = f18 * f78 + f20 * f80;

v20 = f78 * 1.5 - f80 * 0.5;

if ((f88 >= f90) && (f8 != f10)) f0 = 1.0;

if ((f88 == f90) && (f0 == 0.0)) f90 = 0.0;

}

if ((f88 0.0000000001)) {

v4 = (v14 / v20 + 1.0) * 50.0;

if (v4 > 100.0) v4 = 100.0;

if (v4 < 0.0) v4 = 0.0;

} else {

v4 = 50.0;

}

rsx[shift]=v4;

}

return(0);

}

 

Still works the opposite When I turn-on EA, it Alerts and when I turn off EA, it stops...

Whatever it is, Thanks for being helpful

Reason: