//+------------------------------------------------------------------+
//| wajdi avg.mq4 |
//| Copyright 2007 Wajdyss |
//| wajdyss@hotmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2007 Wajdyss"
#property link "wajdyss@hotmail.com"
#property indicator_chart_window
extern int days=360;
extern int TextSize=14;
extern color TextColor1=Black;
extern color TextColor2=Red;
extern color TextColor3=Blue;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
Comment("");
ObjectDelete("a label");
ObjectDelete("b label");
ObjectDelete("c label");
ObjectDelete("d label");
ObjectDelete("e label");
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
// a
if(ObjectFind("a label") != 0)
{
ObjectCreate("a label", OBJ_LABEL, 0,0,0);
ObjectSetText("a label","ÈÓã Çááå ÇáÑÍãä ÇáÑÍíã" , TextSize, "Arial", TextColor1);
ObjectSet("a label", OBJPROP_XDISTANCE,350);
ObjectSet("a label", OBJPROP_YDISTANCE,0);
}
else
{
ObjectMove("a label", 0, 0,0);
}
//b
if(ObjectFind("b label") != 0)
{
ObjectCreate("b label", OBJ_LABEL, 0,0,0);
ObjectSetText("b label","wajdyss information indicator" , TextSize, "Arial", TextColor2);
ObjectSet("b label", OBJPROP_XDISTANCE,305);
ObjectSet("b label", OBJPROP_YDISTANCE,25);
}
else
{
ObjectMove("b label", 0, 0,0);
}
// c
if(ObjectFind("c label") != 0)
{
ObjectCreate("c label", OBJ_LABEL, 0,0,0);
ObjectSetText("c label","wajdyss@yahoo.com" , TextSize, "Arial", TextColor3);
ObjectSet("c label", OBJPROP_XDISTANCE,335);
ObjectSet("c label", OBJPROP_YDISTANCE,50);
}
else
{
ObjectMove("c label", 0, 0,0);
}
//----
//----
//int counted_bars=IndicatorCounted();
double up , down , sigmaup=0 , sigmadown=0 ,sigmaup2=0 , sigmadown2=0 , moreup , moredown , lessup , lessdown , upclose , downclose , upp , downp,upp2 ;
int daysup=0 , daysdown=0 , daysup2=0 , daysdown2=0 ;
int avgup,avgdown , avg , avgupclose , avgdownclose , same=0 , notsame=0;
string trend;
moreup=0;
moredown=0;
lessup=9999999999;
lessdown=9999999999;
for (int i=days;i>=1;i--)
{
up=(iHigh(Symbol(),NULL, i)-iOpen(Symbol(),NULL, i))/Point;
down=(iOpen(Symbol(),NULL, i)-iLow(Symbol(),NULL, i))/Point;
upclose=(iClose(Symbol(),NULL,i)-iOpen(Symbol(),NULL, i))/Point;
downclose=(iOpen(Symbol(),NULL, i)-iClose(Symbol(),NULL,i))/Point;
if (up >0)
{
//daysup++;
if (up > moreup) {moreup=up;}
if (up < lessup) lessup=up;
}
if (down>0)
{
//daysdown++;
if (down > moredown) moredown=down;
if (down < lessdown) lessdown=down;
}
if (upclose >0)
{
daysup2++;
sigmaup=sigmaup+up;
sigmaup2=sigmaup2+upclose;
// if (up > moreup) {moreup=up;}
//if (up < lessup) lessup=up;
}
if (downclose>0)
{
daysdown2++;
sigmadown=sigmadown+down;
sigmadown2=sigmadown2+downclose;
//if (down > moredown) moredown=down;
//if (down < lessdown) lessdown=down;
}
if ((iClose(Symbol(),NULL,i+1)>iOpen(Symbol(),NULL,i+1) && iClose(Symbol(),NULL,i)>iOpen(Symbol(),NULL,i)) || (iClose(Symbol(),NULL,i+1)<iOpen(Symbol(),NULL,i+1) && iClose(Symbol(),NULL,i)<iOpen(Symbol(),NULL,i)) )
same++;
else notsame++;
}
avgup= sigmaup/daysup2;
avgdown= sigmadown/daysdown2;
avg=avgup+avgdown;
avgupclose=sigmaup2/daysup2;
avgdownclose=sigmadown2/daysdown2;
upp2=same+notsame;
upp=same/upp2;
downp=notsame/upp2;
if (Open[daysup2+daysdown2]<Close[0]) trend="ÊÑäÏ ÕÇÚÏ"; else trend="ÊÑäÏ åÇÈØ";
Comment ("\n" , "ÈÓã Çááå Ç áÑÍãä ÇáÑÍíã" , "\n" , "wajdyss ÇÍÕÇÆíÉ" ,"\n","\n" ,
"ÚÏÏ ÇáÔãÚÇÊ ÇáÕÇÚÏÉ =" , daysup2 ,"\n","ãÊæÓØ ÇáåÇí ááÔãÚÇÊ ÇáÕÇÚÏÉ =" ,avgup,"\n", "ãÊæÓØ äÞÇØ ÇáÔãÚÇÊ ÇáÕÇÚÏÉ =",avgupclose,
"\n" , "ÃßËÑ ÚÏÏ äÞÇØ ÕÚæÏÇð =" , moreup ,
"\n" ,"\n","ÚÏÏ ÇáÔãÚÇÊ ÇáåÇÈØÉ =",daysdown2,"\n","ãÊæÓØ Çááæ ááÔãÚÇÊ ÇáåÇÈØÉ =",avgdown,"\n","ãÊæÓØ äÞÇØ ÇáÔãÚÇÊ ÇáåÇÈØÉ =",
avgdownclose,"\n","ÃßËÑ ÚÏÏ äÞÇØ åÈæØÇð =" , moredown,"\n","\n", "ãÚÏá ÍÑßÉ ÇáÒæÌ =" ,
avg,"\n","\n","ÇáÓÚÑ ÇáÓÇÈÞ =",Open[daysup2+daysdown2],"\n","ÇáÓÚÑ ÇáÍÇáí =",Close[0],"\n",trend,"\n","\n","ÚÏÏ ÇáÔãÚÇÊ ÇáãÊÔÇÈåÉ =",
same,"\n","ÇáäÓÈÉ =",upp,"\n","ÚÏÏ ÇáÔãÚÇÊ ÇáãÎÊáÝÉ =",notsame,"\n","ÇáäÓÈÉ =",downp,"\n","\n","spread = ", MarketInfo(Symbol(),MODE_SPREAD) ) ;
// ObjectSetText( "gmtl", avgup , 40, "Arial", Green );
return(0);
}
//+------------------------------------------------------------------+
Comments