Macd signals

TEAMTRADER

Active member
Messages
198
Likes
86
Does anyone know of a signal box alert, other than a sound signal, that is available for the MACD?
Attached is a pdf of what I mean.
TEAMTRADER
 

Attachments

  • FF MACD.pdf
    40.7 KB · Views: 545
Got a signal MACD indi now - thanks.
SECOND QUESTION - Does anyone know of any reason why the SHI channel doesn't work on renko/range offline charts?
SHI indicator attached.
Thanks
 

Attachments

  • SHI_Channel_true.ex4
    6.4 KB · Views: 234
hi TT

In order to find out how the SHI indicator works, you need to post up the mq4 file.
The ex4 that you posted is encrypted.
 
Thanks Trendie.
I copy and paste the code below if this helps someone......and I can't contact the original coder.
Regards
TEAMTRADER

//+------------------------------------------------------------------+
//| SHI_Channel_true.mq4 |
//| Copyright © 2004, Shurka & Kevin |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, Shurka & Kevin"
#property link ""
//----
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
double ExtMapBuffer1[];
//---- input parameters
extern int AllBars = 240;
extern int BarsForFract = 0;
int CurrentBar = 0;
double Step = 0;
int B1 = -1, B2 = -1;
int UpDown = 0;
double P1 = 0, P2 = 0, PP = 0;
int i = 0, AB = 300, BFF = 0;
int ishift = 0;
double iprice = 0;
datetime T1, T2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 164);
SetIndexBuffer(0, ExtMapBuffer1);
SetIndexEmptyValue(0, 0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
ObjectDelete("TL1");
ObjectDelete("TL2");
ObjectDelete("MIDL");
Comment(" ");
//----
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void DelObj()
{
ObjectDelete("TL1");
ObjectDelete("TL2");
ObjectDelete("MIDL");
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
//----
if((AllBars == 0) || (Bars < AllBars))
AB = Bars;
else AB = AllBars; //AB-êîëè÷åñòâî îáñ÷èòûâàåìûõ áàðîâ
if(BarsForFract > 0)
BFF = BarsForFract;
else
switch (Period())
{
case 1: BFF = 12; break;
case 5: BFF = 48; break;
case 15: BFF = 24; break;
case 30: BFF = 24; break;
case 60: BFF = 12; break;
case 240: BFF = 15; break;
case 1440: BFF = 10; break;
case 10080: BFF = 6; break;
default: DelObj(); return(-1); break;
}
CurrentBar = 2; //ñ÷èòàåì ñ òðåòüåãî áàðà, ÷òîáû ôðàêòàë "çàêðåïèëñÿ
B1 = -1;
B2 = -1;
UpDown = 0;
while(((B1 == -1) || (B2==-1)) && (CurrentBar<AB))
{
//UpDown = 1 çíà÷èò ïåðâûé ôðàêòàë íàéäåí ñâåðõó, UpDown = -1 çíà÷èò ïåðâûé ôðàêòàë
//íàéäåí ñíèçó, UpDown = 0 çíà÷èò ôðàêòàë åù¸ íå íàéäåí.
//Â1 è Â2 - íîìåðà áàðîâ ñ ôðàêòàëàìè, ÷åðåç íèõ ñòðîèì îïîðíóþ ëèíèþ.
//Ð1 è Ð2 - ñîîòâåòñòâåííî öåíû ÷åðåç êîòîðûå áóäåì ëèíèþ ïðîâîäèòü
if((UpDown < 1) && (CurrentBar == Lowest(Symbol(), Period(), MODE_LOW, BFF*2 + 1,
CurrentBar - BFF)))
{
if(UpDown == 0)
{
UpDown = -1;
B1 = CurrentBar;
P1 = Low[B1];
}
else
{
B2 = CurrentBar;
P2 = Low[B2];
}
}
if((UpDown > -1) && (CurrentBar == Highest(Symbol(), Period(), MODE_HIGH, BFF*2 + 1,
CurrentBar - BFF)))
{
if(UpDown == 0)
{
UpDown = 1;
B1 = CurrentBar;
P1 = High[B1];
}
else
{
B2 = CurrentBar;
P2 = High[B2];
}
}
CurrentBar++;
}
if((B1 == -1) || (B2 == -1))
{
DelObj();
return(-1);
} // Çíà÷èò íå íàøëè ôðàêòàëîâ ñðåäè 300 áàðîâ :cool:
Step = (P2 - P1) / (B2 - B1); //Âû÷èñëèëè øàã, åñëè îí ïîëîæèòåëüíûé, òî êàíàë íèñõîäÿùèé
P1 = P1 - B1*Step;
B1 = 0; //ïåðåñòàâëÿåì öåíó è ïåðâûé áàð ê íóëþ
//À òåïåðü îïîðíóþ òî÷êó ïðîòèâîïîëîæíîé ëèíèè êàíàëà.
ishift = 0;
iprice = 0;
if(UpDown == 1)
{
PP = Low[2] - 2*Step;
for(i = 3; i <= B2; i++)
{
if(Low < PP + Step*i)
PP = Low - i*Step;
}
if(Low[0] < PP)
{
ishift = 0;
iprice = PP;
}
if(Low[1] < PP + Step)
{
ishift = 1;
iprice = PP + Step;
}
if(High[0] > P1)
{
ishift = 0;
iprice = P1;
}
if(High[1] > P1 + Step)
{
ishift = 1;
iprice = P1 + Step;
}
}
else
{
PP = High[2] - 2*Step;
for(i = 3; i <= B2; i++)
{
if(High > PP + Step*i)
PP = High - i*Step;
}
if(Low[0] < P1)
{
ishift = 0;
iprice = P1;
}
if(Low[1] < P1 + Step)
{
ishift = 1;
iprice = P1 + Step;
}
if(High[0] > PP)
{
ishift = 0;
iprice = PP;
}
if(High[1] > PP + Step)
{
ishift = 1;
iprice = PP + Step;
}
}
//Òåïåðü ïåðåñòàâèì êîíå÷íóþ öåíó è áàð íà ÀÂ, ÷òîáû ëèíèè êàíàëà ðèñîâàëèñü ïîäëèííåå
P2 = P1 + AB*Step;
T1 = Time[B1];
T2 = Time[AB];
//Åñëè íå áûëî ïåðåñå÷åíèÿ êàíàëà, òî 0, èíà÷å ñòàâèì ïñèñó.
if(iprice != 0)
ExtMapBuffer1[ishift] = iprice;
DelObj();
ObjectCreate("TL1", OBJ_TREND, 0, T2, PP + Step*AB, T1, PP);
ObjectSet("TL1", OBJPROP_COLOR, Lime);
ObjectSet("TL1", OBJPROP_WIDTH, 2);
ObjectSet("TL1", OBJPROP_STYLE, STYLE_SOLID);
ObjectCreate("TL2", OBJ_TREND, 0, T2, P2, T1, P1);
ObjectSet("TL2", OBJPROP_COLOR, Lime);
ObjectSet("TL2", OBJPROP_WIDTH, 2);
ObjectSet("TL2", OBJPROP_STYLE, STYLE_SOLID);
ObjectCreate("MIDL", OBJ_TREND, 0, T2, (P2 + PP + Step*AB) / 2, T1, (P1 + PP) / 2);
ObjectSet("MIDL", OBJPROP_COLOR, Lime);
ObjectSet("MIDL", OBJPROP_WIDTH, 1);
ObjectSet("MIDL", OBJPROP_STYLE, STYLE_DOT);
Comment(" Channel size = ", DoubleToStr(MathAbs(PP - P1) / Point, 0), " Slope = ",
DoubleToStr(-Step / Point, 2));
//----
return(0);
}
//+------------------------------------------------------------------+
 
hi TT

Just a note to say I havent had a chance to look through this.
And won't be able to look at it in near term.
Hopefully, someone else will pick this up for you and resolve the issue.

However, as an initial thought, I wonder if the SHI doesnt work on Renko because renko is merging some of the bars into a different format, and thus making the bar-count on the SHI unworkable.

Also, you might also want to post up the code for the Renko indicator.
sorry cant be of more help.
have a great weekend.
 
Top