#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
extern int type=1;
extern int Goal=3;
int D1=10,D2=10;
int p=1;
double R1[];
double R2[];
int init()
{
SetIndexStyle(0,DRAW_ARROW,3,3);
SetIndexArrow(0,236);
SetIndexBuffer(0,R1);
SetIndexStyle(1,DRAW_ARROW,3,3);
SetIndexArrow(1,238);
SetIndexBuffer(1,R2);
if(Point==0.00001||Point==0.001)p=10;
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
Comment("ورشة تجميع أشارات الدخول والخروج");
if(Bars<3) return(0);
int Total=Bars-10;
for(int j=Total; j>0; j--){
if(Signal1(j))R1[j-1]=Low[j-1]-D1*Point*p;
if(Signal2(j))R2[j-1]=High[j-1]+D2*Point*p;
D1=Convert(D1);D2=Convert(D2);
}
return(0);
}
bool Signal1(int count){
int RR=0;
for(int j=count; j<=count+4; j++){if(parameter(j,type)>parameter(j+1,type))RR++;}
if(RR>=Goal)return(true);else return(false);
}
bool Signal2(int count){
int RR=0;
for(int j=count; j<=count+4; j++){if(parameter(j,type)<parameter(j+1,type))RR++;}
if(RR>=Goal) return(true);else return(false);
}
int Convert(int A){
int A1=10;
if(A==10)A1=15;
if(A==15)A1=10;
return(A1);
}
double parameter(int count,int n){
n--;
double G1[7];
G1[0]=iMA(NULL, 0, 13, 0, 0, 0,count);
G1[1]=iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW,count);
G1[2]=iAC(NULL, 0, count);
G1[3]=iCCI(NULL, 0, 14, PRICE_CLOSE, count);
G1[4]=iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, count);
G1[5]=iMomentum(NULL, 0, 14, PRICE_CLOSE, count);
G1[6]=iClose(NULL,0,count);
return(G1[n]);
}