//+------------------------------------------------------------------+
//|                                               BrainTrend1Sig.mq4 |
//|                                     BrainTrading Inc. System 7.0 |
//|                                      http://www.braintrading.com |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc. System 7.0"
#property link      "http://www.braintrading.com"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Aqua
//---- input parameters
extern int       NumBars=500;
extern int       EnableAlerts=0;
extern int       SignalID=0;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,108);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,108);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//---- 

double    value2=0;
double    value3=0;
double    value11=0;
double    x1=0;
double    x2=0;
double    Range=0;
double    val1=0;
double    val2=0;
int    shift=0;
double    abrs=0;
double    s=1.5;
double    p=0;
double    r=0;
double    r1=0;
double    value21=0;
double    prev=0;
double    d=2.3;
double    f=7;
double    h11=0;
double    h12=0;
double    h13=0;
double    const=0;
double    orig=0;
double    st=0;
double    h2=0;
double    h1=0;
double    h10=0;
double    sxs=0;
double    sms=0;
double    temp=0;
double    a1=0;
double    per1=0;
double    a1x=0;
double    h5=0;
double    tsig=0;
double    r1s=0;
double    r2s=0;
double    r3s=0;
double    r4s=0;
double    pt=0;
double    pts=0;
double    r2=0;
double    r3=0;
double    r4=0;
double    tt=0;

st=1;
if (st == 1)
   {
   value11 = 9;
   x1 = 53;
   x2 = 47;
   if (Bars < NumBars) abrs = Bars - 11; else abrs = NumBars - 11;
   
  shift=abrs;

while(shift>=0)

      {
      Range = iATR(NULL,0,f,shift);
      value2 = iStochastic(NULL,0,value11,value11,1,0,0,0,shift);
      val1 = 0;
      val2 = 0;
      if (value2 < x2 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) 
         {
         if (p == 2 || p == 0)
            {
            value3 = High[shift] + Range * s / 4;
            val1 = value3;
            p = 1;
            }
         }
      if (value2 > x1 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) 
         {
         if (p == 1 || p == 0 )
            {
            value3 = Low[shift] - Range * s / 4;
            val2 = value3;
            p = 2;
            }
         }
           ExtMapBuffer1[shift]=val1;
      ExtMapBuffer2[shift]=val2;  
    
       shift--;
      }
   }

if (EnableAlerts == 1) 
   {
   if (val1 > 0 && tsig != 1)
      {
      tsig = 1;
     // a1 = FileOpen("alert1" + SignalID,";");
      Alert("BrainTrend1Sig", "Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());

     
      //a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');

//      FileWrite(a1,"Sell " ,Symbol() ," at ", Close[0] , " S/L " , val1 , " BT1 M" ,Period());
  //    FileClose(a1);
      }
   if (val2 > 0 && tsig != 2) 
      {
      tsig = 2;
       
       Alert("BrainTrend1Sig", "Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());
      //a1 = FileOpen("alert1" + SignalID,";");
     // a1=FileOpen("alert1"+ SignalID,FILE_CSV|FILE_WRITE,';');
     // FileWrite(a1,"Buy " , Symbol() , " at " ,Close[0] ," S/L " ,val2 ," BT1 M" , Period());
      //FileClose(a1);
      }
   }

//----
   return(0);
  }
//+------------------------------------------------------------------+