MTF_Resistance_Support with Alert... very high probability trades easy to handle?!!!

 

Hello at all,

my english isnt the best, but I made a very usefull discovery and I need your help for this:

I know two very good s/r- Indicators with phenomenal strong and acurates/r-levels on higher timeframes with the possibility to deveolp very profitable trading strategies based on them:

MTF_Resistance_Support

and

#KG Support and Resistance Alert_Revision2

They are better than every other s/r-Indicators I know, because you see the validity of an s/r-Level in the size of the points (MTF_Resistance_Support) or you can choose wich s/r-Levels (M15, H1, H4, D1) will displayed (#KG Support and Resistance Alert_Revision2)

But The one has no alert (MTF-Resistance_Support) and the other (#KG Support and Resistance Alert_Revision2) alerts breakthroughs ...

instead of that I need an Alert when the price hits exactly or a choosable number of pips befor the s/r....

It does wonder on higher TF: nearby every hit of a strong support brings the price to explode upwards..... those strong supports of the higher TFs plotted in M1, and an Alert that makes "pling" when A strong "Bounce-upward-level" would appear.... it would be fantastic.

Does anybody know an Indicator that does exactly what I described or can anybody change the codes of the given indicators an ad the right kind of alert and the possibility to choose between s and r, so that for a filtering template only bounces from strong supports for example will be alerted?!

It would be GREAT not only for me, I think.

Greetings,

Flexw

 

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

//| MTF_Resistance&Support.mq4 |

//| StarLimit Software Corp. |

//| starlimit03@yahoo.com |

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

#property copyright "StarLimit Software Corp."

#property link "starlimit03@yahoo.com"

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Crimson

#property indicator_color2 LimeGreen

#property indicator_color3 Crimson

#property indicator_color4 LimeGreen

#property indicator_color5 Crimson

#property indicator_color6 LimeGreen

//---- buffers

double mabel01[],mabel02[],mabel11[],mabel12[],mabel21[],mabel22[];

int shift[3],per[3];

extern bool showinfo=false;

extern bool autoset=true;

extern bool showlines=false;

extern int TimeFrame1=0,TimeFrame2=0,TimeFrame3=0;

double mabel1;

double mabel2;

int i,h;

double high0,high1,high2,low0,low1,low2;

string auto =" FALSE";

string last="exit";

bool first=true;

int init()

{

//---- indicators

//----

IndicatorBuffers(6);

//---- drawing settings

SetIndexArrow(0, 158);

SetIndexArrow(1, 158);

SetIndexArrow(2, 159);

SetIndexArrow(3, 159);

SetIndexArrow(4, 159);

SetIndexArrow(5, 159);

SetIndexLabel(0,"Resistance_1");

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Crimson);

SetIndexDrawBegin(0,i-1);

SetIndexBuffer(0, mabel01);

SetIndexLabel(1,"Support_1");

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,LimeGreen);

SetIndexDrawBegin(1,i-1);

SetIndexBuffer(1, mabel02);

SetIndexLabel(2,"Resistance_2");

SetIndexStyle(2,DRAW_ARROW,STYLE_DOT,2,Crimson);

SetIndexDrawBegin(2,i-1);

SetIndexBuffer(2, mabel11);

SetIndexLabel(3,"Support_2");

SetIndexStyle(3,DRAW_ARROW,STYLE_DOT,2,LimeGreen);

SetIndexDrawBegin(3,i-1);

SetIndexBuffer(3, mabel12);

SetIndexLabel(4,"Resistance_3");

SetIndexStyle(4,DRAW_ARROW,STYLE_DOT,3,Crimson);

SetIndexDrawBegin(4,i-1);

SetIndexBuffer(4, mabel21);

SetIndexLabel(5,"Support_3");

SetIndexStyle(5,DRAW_ARROW,STYLE_DOT,3,LimeGreen);

SetIndexDrawBegin(5,i-1);

SetIndexBuffer(5, mabel22);

if( autoset)

{

auto=" TRUE";

if(Period()==1)

{TimeFrame1=5;TimeFrame2=15;TimeFrame3=30;} //1, 5, 30

else if(Period()==5)

{TimeFrame1=1;TimeFrame2=5;TimeFrame3=30;}

else if(Period()==15)

{TimeFrame1=5;TimeFrame2=15;TimeFrame3=60;}

else if(Period()==30)

{TimeFrame1=5;TimeFrame2=30;TimeFrame3=240;}

else if(Period()==60)

{TimeFrame1=15;TimeFrame2=60;TimeFrame3=240;}

else if(Period()==240)

{TimeFrame1=60;TimeFrame2=240;TimeFrame3=1440;}

else if(Period()==1440)

{TimeFrame1=240;TimeFrame2=1440;TimeFrame3=10080;}

else if(Period()==10080)

{TimeFrame1=1440;TimeFrame2=10080;TimeFrame3=43200;}

}

per[0]=TimeFrame1;

per[1]=TimeFrame2;

per[2]=TimeFrame3;

first=true;

return(0);

}

int deinit()

{

Comment(" ");

for( int i =0; i<=70000;i++)

{

ObjectDelete("hor"+i);

}

return(0);

}

int start()

{

RefreshRates();

int Counted_bars=IndicatorCounted();

if(first)

int newbars =Bars-Counted_bars-1;

else newbars =40;

for(int a=0;a<=3;a++) // M1 ,M5, M15, M30 ,H1 get all data values

{

for( i=newbars;i>=0; i--) // back shifts to use

{

datetime time = iTime(NULL,Period(),i);

int h=i;

shift[a]=iBarShift(NULL,per[a],time,true);

mabel1 = iFractals(NULL, per[a], MODE_UPPER,shift[a]);

mabel2 = iFractals(NULL, per[a], MODE_LOWER,shift[a]);

double low=iLow(NULL,per[a],shift[a]);

double high=iHigh(NULL,per[a],shift[a]);

double open=iOpen(NULL,per[a],shift[a]);

switch(a)

{

case 0:

if (mabel1 > 0)

mabel01=high;
else
mabel01 = mabel01[i+1];

if (mabel2 > 0)
mabel02=low;
else
mabel02 = mabel02[i+1];
high0=mabel01;
low0=mabel02;
break;

case 1:
if (mabel1 > 0)
mabel11=high;
else
mabel11 = mabel11[i+1];
if (mabel2 > 0)
mabel12=low;
else
mabel12 = mabel12[i+1];
high1=mabel11;
low1=mabel12;
break;

case 2:
if (mabel1 > 0)
mabel21=high;
else
mabel21 = mabel21[i+1];
if (mabel2 > 0)
mabel22=low;
else
mabel22 = mabel22[i+1];
high2=mabel21;
low2=mabel22;
break;
case 3:
if(showinfo) Comment(" \n\n\n\n MultiTimeFrame Resistance and Support\n\n AUTHOR : Olowoyo Olufikayo \n\n CREATED :18/05/2009.... LAST UPDATED: 17/08/2009 \n\n AUTOSET TIMEFRAME IS SET TO",auto,"\n LOW TIMEFRAME= ",TimeFrame1,"\n OWN TIMEFRAME= ",TimeFrame2,"\n HIGH TIMEFRAME= ",TimeFrame3,
"\n\n Last High on ",TimeFrame1," is ",high0,".....Last Low is ",low0,
"\n Last High on ",TimeFrame2," is ",high1,".....Last Low is ",low1,
"\n Last High on ",TimeFrame3," is ",high2,".....Last Low is ",low2,
"\n\n Buying Price is ; ",Ask,"...........Selling Price is : ",Bid);
break;
}// end of switch///////////////
}
}

for( i=newbars;i>=0; i--) // back shifts to use
if(showlines&& mabel01==mabel11 && mabel11== mabel21 && mabel02==mabel12 && mabel12== mabel22 && last=="sell")
{
h++;
ObjectCreate("hor"+h,OBJ_VLINE,0,0,0);
ObjectSet("hor"+h, OBJPROP_TIME1, Time);
ObjectSet("hor"+h, OBJPROP_COLOR, Aqua);
ObjectSet("hor"+h, OBJPROP_STYLE, 3);
ObjectSet("hor"+h, OBJPROP_WIDTH, 2);
last="buy";
}
else if(showlines&&mabel01==mabel11 && mabel11== mabel21 && mabel02==mabel12 && mabel12== mabel22 && last=="buy")
{
h++;
ObjectCreate("hor"+h,OBJ_VLINE,0,0,0);
ObjectSet("hor"+h, OBJPROP_TIME1, Time);
ObjectSet("hor"+h, OBJPROP_COLOR, Red);
ObjectSet("hor"+h, OBJPROP_STYLE, 3);
ObjectSet("hor"+h, OBJPROP_WIDTH, 2);
last="sell";
}

else if(showlines&& mabel01==mabel11 && mabel11== mabel21)
{
h++;
ObjectCreate("hor"+h,OBJ_VLINE,0,0,0);
ObjectSet("hor"+h, OBJPROP_TIME1, Time);
ObjectSet("hor"+h, OBJPROP_COLOR, Red);
ObjectSet("hor"+h, OBJPROP_STYLE, 3);
ObjectSet("hor"+h, OBJPROP_WIDTH, 2);
last="sell";
}
else if(showlines&&mabel02==mabel12 && mabel12== mabel22)
{
h++;
ObjectCreate("hor"+h,OBJ_VLINE,0,0,0);
ObjectSet("hor"+h, OBJPROP_TIME1, Time);
ObjectSet("hor"+h, OBJPROP_COLOR, Aqua);
ObjectSet("hor"+h, OBJPROP_STYLE, 3);
ObjectSet("hor"+h, OBJPROP_WIDTH, 2);
last="buy";
}
else last="exit";
return(0);
}

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

 

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

//| KG Support & Resistance.mq4 |

//| Copyright © 2007, MetaQuotes Software Corp. |

//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |

//| modify by frantacech |

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

#property copyright "Kang_Gun"

#property link "Free Knowledge Ebooks | free-knowledge.com"

string Revision = "Revision 2";

//-------------------------------------------------------------------

// Revision 1 = frantacech add allert, email and SR TF options

// Revision 2 = KG speed up the SR level

#property indicator_chart_window

#property indicator_buffers 8

#property indicator_color1 Red

#property indicator_color2 Blue

#property indicator_color3 Red

#property indicator_color4 Blue

#property indicator_color5 Red

#property indicator_color6 Blue

#property indicator_color7 Red

#property indicator_color8 Blue

//---- input parameters

extern bool AlertPossible = true;

extern bool AlertOnlySound = false;

extern string Sound = "tick.wav";

extern bool SendMailPossible = false;

extern bool ShowM15 = true;

extern bool ShowH1 = true;

extern bool ShowH4 = true;

extern bool ShowD1 = true;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

double ExtMapBuffer5[];

double ExtMapBuffer6[];

double ExtMapBuffer7[];

double ExtMapBuffer8[];

int KG;

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

if (ShowM15) {

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(0,KG-1);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexLabel(0,"Resistance M15");

SetIndexArrow(0, 158);

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(1,KG-1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexLabel(1,"Support M15");

SetIndexArrow(1, 158);

}

if (ShowH1) {

SetIndexStyle(2,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(2,KG-1);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexLabel(2,"Resistance H1");

SetIndexArrow(2, 158);

SetIndexStyle(3,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(3,KG-1);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexLabel(3,"Support H1");

SetIndexArrow(3, 158);

}

if (ShowH4) {

SetIndexStyle(4,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(4,KG-1);

SetIndexBuffer(4,ExtMapBuffer5);

SetIndexLabel(4,"Resistance H4");

SetIndexArrow(4, 158);

SetIndexStyle(5,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(5,KG-1);

SetIndexBuffer(5,ExtMapBuffer6);

SetIndexLabel(5,"Support H4");

SetIndexArrow(5, 158);

}

if (ShowD1) {

SetIndexStyle(6,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(6,KG-1);

SetIndexBuffer(6,ExtMapBuffer7);

SetIndexLabel(6,"Resistance D1");

SetIndexArrow(6, 158);

SetIndexStyle(7,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(7,KG-1);

SetIndexBuffer(7,ExtMapBuffer8);

SetIndexLabel(7,"Support D1");

SetIndexArrow(7, 158);

}

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

return(0);

}

//------------------------------------------------------------------

bool Fractal (string M,int P, int shift)

{

if (Period()>P) return(-1);

P=P/Period();

if (shift<P)return(-1);

if (shift>Bars-P)return(-1);

for (int i=1;i<=P;i++)

{

if (M=="U")

{

if (High[shift+i]>High[shift])return(-1);

if (High[shift-i]>=High[shift])return(-1);

}

if (M=="L")

{

if (Low[shift+i]<Low[shift])return(-1);

if (Low[shift-i]<=Low[shift])return(-1);

}

}

return(1);

}

//------------------------------------------------------------------

int start()

{

int D1=1440, H4=240, H1=60, M15=15;

KG=Bars;

while(KG>=0)

{

if (ShowM15)

{

if (Fractal("U",M15,KG)==1)

{

ExtMapBuffer1[KG]=High[KG];

if (ExtMapBuffer1[KG]==Bid) {MakeAlert("M15 Res", KG); }

}

else {ExtMapBuffer1[KG]=ExtMapBuffer1[KG+1]; if (ExtMapBuffer1[KG]==Bid) {MakeAlert("M15 Res", KG); }}

if (Fractal("L",M15,KG)==1)

{

ExtMapBuffer2[KG]=Low[KG];

if (ExtMapBuffer2[KG]==Bid) {MakeAlert("M15 Sup", KG); }

}

else {ExtMapBuffer2[KG]=ExtMapBuffer2[KG+1]; if (ExtMapBuffer2[KG]==Bid) {MakeAlert("M15 Sup", KG); }}

}

if (ShowH1)

{

if (Fractal("U",H1,KG)==1)

{

ExtMapBuffer3[KG]=High[KG];

if (ExtMapBuffer3[KG]==Bid) {MakeAlert("H1 Res", KG); }

}

else {ExtMapBuffer3[KG]=ExtMapBuffer3[KG+1]; if (ExtMapBuffer3[KG]==Bid) {MakeAlert("H1 Res", KG); }}

if (Fractal("L",H1,KG)==1)

{

ExtMapBuffer4[KG]=Low[KG];

if (ExtMapBuffer4[KG]==Bid) {MakeAlert("H1 Sup", KG); }

}

else {ExtMapBuffer4[KG]=ExtMapBuffer4[KG+1]; if (ExtMapBuffer4[KG]==Bid) {MakeAlert("H1 Sup", KG); }}

}

if (ShowH4)

{

if (Fractal("U",H4,KG)==1)

{

ExtMapBuffer5[KG]=High[KG];

if (ExtMapBuffer5[KG]==Bid) {MakeAlert("H4 Res", KG); }

}

else {ExtMapBuffer5[KG]=ExtMapBuffer5[KG+1]; if (ExtMapBuffer5[KG]==Bid) {MakeAlert("H4 Res", KG); }}

if (Fractal("L",H4,KG)==1)

{

ExtMapBuffer6[KG]=Low[KG];

if (ExtMapBuffer6[KG]==Bid) {MakeAlert("H4 Sup", KG); }

}

else {ExtMapBuffer6[KG]=ExtMapBuffer6[KG+1]; if (ExtMapBuffer6[KG]==Bid) {MakeAlert("H4 Sup", KG); }}

}

if (ShowD1)

{

if (Fractal("U",D1,KG)==1)

{

ExtMapBuffer7[KG]=High[KG];

if (ExtMapBuffer7[KG]==Bid) {MakeAlert("D1 Res", KG); }

}

else {ExtMapBuffer7[KG]=ExtMapBuffer7[KG+1]; if (ExtMapBuffer7[KG]==Bid) {MakeAlert("D1 Res", KG); }}

if (Fractal("L",D1,KG)==1)

{

ExtMapBuffer8[KG]=Low[KG];

if (ExtMapBuffer8[KG]==Bid) {MakeAlert("D1 Sup", KG); }

}

else {ExtMapBuffer8[KG]=ExtMapBuffer8[KG+1]; if (ExtMapBuffer8[KG]==Bid) {MakeAlert("D1 Sup", KG); }}

}

KG--;

}

return(0);

}

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

datetime AlertTime;

void MakeAlert(string _Notice, int Index)

{

if (Index >= 1) return;

if (AlertTime == iTime(Symbol(), Period(), Index)) return;

AlertTime = iTime(Symbol(), Period(), Index);

string Notice = StringConcatenate("Cross ", Symbol(), " ", _Notice);

if (AlertPossible) {PlaySound(Sound); if (AlertOnlySound==false) {Alert(Notice);}}

if (SendMailPossible) SendMail(Notice, "");

}

 

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

//| KG Support & Resistance.mq4 |

//| Copyright © 2007, MetaQuotes Software Corp. |

//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |

//| modify by frantacech |

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

#property copyright "Kang_Gun"

#property link "Free Knowledge Ebooks | free-knowledge.com"

string Revision = "Revision 2";

//-------------------------------------------------------------------

// Revision 1 = frantacech add allert, email and SR TF options

// Revision 2 = KG speed up the SR level

#property indicator_chart_window

#property indicator_buffers 8

#property indicator_color1 Red

#property indicator_color2 Blue

#property indicator_color3 Red

#property indicator_color4 Blue

#property indicator_color5 Red

#property indicator_color6 Blue

#property indicator_color7 Red

#property indicator_color8 Blue

//---- input parameters

extern bool AlertPossible = true;

extern bool AlertOnlySound = false;

extern string Sound = "tick.wav";

extern bool SendMailPossible = false;

extern bool ShowM15 = true;

extern bool ShowH1 = true;

extern bool ShowH4 = true;

extern bool ShowD1 = true;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

double ExtMapBuffer5[];

double ExtMapBuffer6[];

double ExtMapBuffer7[];

double ExtMapBuffer8[];

int KG;

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

if (ShowM15) {

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(0,KG-1);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexLabel(0,"Resistance M15");

SetIndexArrow(0, 158);

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(1,KG-1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexLabel(1,"Support M15");

SetIndexArrow(1, 158);

}

if (ShowH1) {

SetIndexStyle(2,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(2,KG-1);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexLabel(2,"Resistance H1");

SetIndexArrow(2, 158);

SetIndexStyle(3,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(3,KG-1);

SetIndexBuffer(3,ExtMapBuffer4);

SetIndexLabel(3,"Support H1");

SetIndexArrow(3, 158);

}

if (ShowH4) {

SetIndexStyle(4,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(4,KG-1);

SetIndexBuffer(4,ExtMapBuffer5);

SetIndexLabel(4,"Resistance H4");

SetIndexArrow(4, 158);

SetIndexStyle(5,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(5,KG-1);

SetIndexBuffer(5,ExtMapBuffer6);

SetIndexLabel(5,"Support H4");

SetIndexArrow(5, 158);

}

if (ShowD1) {

SetIndexStyle(6,DRAW_ARROW,STYLE_DOT,2,Red);

SetIndexDrawBegin(6,KG-1);

SetIndexBuffer(6,ExtMapBuffer7);

SetIndexLabel(6,"Resistance D1");

SetIndexArrow(6, 158);

SetIndexStyle(7,DRAW_ARROW,STYLE_DOT,2,Blue);

SetIndexDrawBegin(7,KG-1);

SetIndexBuffer(7,ExtMapBuffer8);

SetIndexLabel(7,"Support D1");

SetIndexArrow(7, 158);

}

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

return(0);

}

//------------------------------------------------------------------

bool Fractal (string M,int P, int shift)

{

if (Period()>P) return(-1);

P=P/Period();

if (shift<P)return(-1);

if (shift>Bars-P)return(-1);

for (int i=1;i<=P;i++)

{

if (M=="U")

{

if (High[shift+i]>High[shift])return(-1);

if (High[shift-i]>=High[shift])return(-1);

}

if (M=="L")

{

if (Low[shift+i]<Low[shift])return(-1);

if (Low[shift-i]<=Low[shift])return(-1);

}

}

return(1);

}

//------------------------------------------------------------------

int start()

{

int D1=1440, H4=240, H1=60, M15=15;

KG=Bars;

while(KG>=0)

{

if (ShowM15)

{

if (Fractal("U",M15,KG)==1)

{

ExtMapBuffer1[KG]=High[KG];

if (ExtMapBuffer1[KG]==Bid) {MakeAlert("M15 Res", KG); }

}

else {ExtMapBuffer1[KG]=ExtMapBuffer1[KG+1]; if (ExtMapBuffer1[KG]==Bid) {MakeAlert("M15 Res", KG); }}

if (Fractal("L",M15,KG)==1)

{

ExtMapBuffer2[KG]=Low[KG];

if (ExtMapBuffer2[KG]==Bid) {MakeAlert("M15 Sup", KG); }

}

else {ExtMapBuffer2[KG]=ExtMapBuffer2[KG+1]; if (ExtMapBuffer2[KG]==Bid) {MakeAlert("M15 Sup", KG); }}

}

if (ShowH1)

{

if (Fractal("U",H1,KG)==1)

{

ExtMapBuffer3[KG]=High[KG];

if (ExtMapBuffer3[KG]==Bid) {MakeAlert("H1 Res", KG); }

}

else {ExtMapBuffer3[KG]=ExtMapBuffer3[KG+1]; if (ExtMapBuffer3[KG]==Bid) {MakeAlert("H1 Res", KG); }}

if (Fractal("L",H1,KG)==1)

{

ExtMapBuffer4[KG]=Low[KG];

if (ExtMapBuffer4[KG]==Bid) {MakeAlert("H1 Sup", KG); }

}

else {ExtMapBuffer4[KG]=ExtMapBuffer4[KG+1]; if (ExtMapBuffer4[KG]==Bid) {MakeAlert("H1 Sup", KG); }}

}

if (ShowH4)

{

if (Fractal("U",H4,KG)==1)

{

ExtMapBuffer5[KG]=High[KG];

if (ExtMapBuffer5[KG]==Bid) {MakeAlert("H4 Res", KG); }

}

else {ExtMapBuffer5[KG]=ExtMapBuffer5[KG+1]; if (ExtMapBuffer5[KG]==Bid) {MakeAlert("H4 Res", KG); }}

if (Fractal("L",H4,KG)==1)

{

ExtMapBuffer6[KG]=Low[KG];

if (ExtMapBuffer6[KG]==Bid) {MakeAlert("H4 Sup", KG); }

}

else {ExtMapBuffer6[KG]=ExtMapBuffer6[KG+1]; if (ExtMapBuffer6[KG]==Bid) {MakeAlert("H4 Sup", KG); }}

}

if (ShowD1)

{

if (Fractal("U",D1,KG)==1)

{

ExtMapBuffer7[KG]=High[KG];

if (ExtMapBuffer7[KG]==Bid) {MakeAlert("D1 Res", KG); }

}

else {ExtMapBuffer7[KG]=ExtMapBuffer7[KG+1]; if (ExtMapBuffer7[KG]==Bid) {MakeAlert("D1 Res", KG); }}

if (Fractal("L",D1,KG)==1)

{

ExtMapBuffer8[KG]=Low[KG];

if (ExtMapBuffer8[KG]==Bid) {MakeAlert("D1 Sup", KG); }

}

else {ExtMapBuffer8[KG]=ExtMapBuffer8[KG+1]; if (ExtMapBuffer8[KG]==Bid) {MakeAlert("D1 Sup", KG); }}

}

KG--;

}

return(0);

}

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

datetime AlertTime;

void MakeAlert(string _Notice, int Index)

{

if (Index >= 1) return;

if (AlertTime == iTime(Symbol(), Period(), Index)) return;

AlertTime = iTime(Symbol(), Period(), Index);

string Notice = StringConcatenate("Cross ", Symbol(), " ", _Notice);

if (AlertPossible) {PlaySound(Sound); if (AlertOnlySound==false) {Alert(Notice);}}

if (SendMailPossible) SendMail(Notice, "");

}

 

Sorry for posting #KG Support and Resistance twice.

It was a mistake because I thoght the first post didnt appeard - it needed hours (!!!) to be shown.

Has anyone any useful Ideas for theese indicators or has anyone a valid alternative, I am looking (with your help?!!) for the following:

1.

Support and Resistance Lines based on price action (not on FiboPivots etc.)

2.

an Alert when prices BOUNCES BACK, no alert when prices breaks out (Its not a breakout-strategy, its a definitive "Catch the whole swing"- strategy)

3.

MTF Support / Resistance with Choosable levels (I dont want M1, M5 and M15- s/r - I want the s/r of the higher timeframes (M30, H1, H4) but TRADED IN M1)

4.

Self refreshing indicator

5.

no need for a lot of CPU, so that MANY PAIRS AT THE SAME TIME could be scanned automatically >>> maybe only a few bars back plotted

Is there outside in the floating ocean of immense and partially useless forex indicators and trading ideas any useful FISH for here?

Please bring it here into this thread!

 

Dear Fishermen,

Nice that you came here to read what I have written down.....

ANY IDEAS how to add bounce-back-alerts to MTF_Resistance_Support ? That would be untoppable practical and profitable I think!

But when it shouldnt be possible ...

also nice combinations with other alert-giving indicators could make it all easier to controll...

for example with

- alert giving ZigZag where it could be choosen if reversals upside or downside would be alerted

- alert giving Fractal Indicators where it could be choosen if reversals upside or downside would be alerted but without the useless M1/M5/Noise between the beginnings and endings of the swings

- ..... ?

Reason: