LeManSignal

Author: Copyright � 2009, LeMan.
LeManSignal
Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
LeManSignal
//+------------------------------------------------------------------+
//|                                                  LeManSignal.mq4 |
//|                                         Copyright © 2009, LeMan. |
//|                                                 b-market@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, LeMan."
#property link      "b-market@mail.ru"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
//----
extern int N    = 12;
//----
double OpenUp[];
double OpenDown[];
//+------------------------------------------------------------------+
int init() {
//----
   string short_name;
//----
   IndicatorDigits(Digits);
   IndicatorBuffers(2);
//----
   short_name = "LeManSignal ("+N+")";
   IndicatorShortName(short_name);
//----      
   SetIndexBuffer(0,OpenUp);
   SetIndexBuffer(1,OpenDown);  

   SetIndexEmptyValue(0,0.0);
   SetIndexEmptyValue(1,0.0);     
                 
   SetIndexStyle(0,DRAW_ARROW,EMPTY,2);
   SetIndexArrow(0,159);
   SetIndexLabel(0, "Open Buy");
   SetIndexStyle(1,DRAW_ARROW,EMPTY,2);
   SetIndexArrow(1,159);
   SetIndexLabel(1, "Open Sell");   
      
//----
   return(0);
}
//+------------------------------------------------------------------+
int start() { 
   
   double LevelStop = MarketInfo(Symbol(),14);    

   int counted_bars = IndicatorCounted();      
   if (counted_bars > 0) counted_bars--;

   int limit;
   limit = Bars - counted_bars;
  
   for (int i = limit; i >= 0; i--) {
            
      double H1 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, N, i+1));
      double H2 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, N, i+1+N));
      double H3 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, N, i+2));
      double H4 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, N, i+2+N));      
      double L1 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, N, i+1));
      double L2 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, N, i+1+N));
      double L3 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, N, i+2));
      double L4 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, N, i+2+N));      
      
      OpenUp[i] = EMPTY_VALUE;
      OpenDown[i] = EMPTY_VALUE;
            
      // Óñëîâèå ïîêóïêè                       
      if (H3 <= H4 && H1 > H2) {
         OpenUp[i] = High[i+1] + Point;
      }
      // Óñëîâèå ïðîäàæè      
      if (L3 >= L4 && L1 < L2) {
         OpenDown[i] = Low[i+1] - Point;         
      }    
  }
   
//----
   return(0);
}
//+------------------------------------------------------------------+

Comments