Drow_MA_extremum_OPEN_CLOSE

Author: valenok2003@mail.ru
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
Drow_MA_extremum_OPEN_CLOSE
//+------------------------------------------------------------------+
//| Àíàëèçàòîð äëÿ Speed_MA              MA_extremum_OPEN_CLOSE.mq4  |
//|                                ïîääåðæèâàåò òåõíîëîãèþ Blue_Dream|
//|                         òðåáóåò íàëè÷èÿ èíäèêàòîðà Moving Average|
//|×òî  íîâîãî:                                                      |
//|  V1.0 îò 15.03.2010 îïèñàíèå:                                    |
//|   - âûñòàâëÿåò ñèãíàë íà îòêðûòèå îðäåðà ïðè èçìåíåíèè           |
//|     íàïðàâëåíèÿ ñóììàðíîé ñãëàæåííîé ñêîðîñòè íà Speed_MA        | 
//|     (ïåðåñå÷åíèå êðàñíîé ëèíèåé íóëåâîãî çíà÷åíèÿ)               | 
//|                                              valenok2003@mail.ru |
//|                                                    ICQ 365919666 |
//|                                   Ïèøó íà çàêàç, öåíà äîãîâîðíàÿ.|
//|                                     http://www.mebel-for-you.com |
//+------------------------------------------------------------------+
#property copyright "valenok2003@mail.ru"
#property link      "http://www.mebel-for-you.com"

#property indicator_separate_window
#property indicator_minimum -1
#property indicator_maximum  1
 
#property indicator_buffers 3       // Êîëè÷åñòâî áóôåðîâ
#property indicator_color1 Red
#property indicator_color2 LimeGreen
#property indicator_color3 Gray
 
extern string Rem_0 = "-íîìåð ñèãíàëà äëÿ Blue_Dream-";
extern int Num_Signal = 1;

extern string Rem_1 = "-ñèãíàë äëÿ Blue_Dream-";
extern bool Blue_Dream_ON = false;

extern string Rem_2 = "-ïàðàìåòðû äëÿ Speed_MA-";
extern int Period_MA_fast     = 5;
extern int Period_MA_med      = 15;
extern int Period_MA_slow     = 60;
extern int Period_Average_Sum = 15;

#include <Check_MA_Parametrs.mqh>

string Name_Global_Var_Open,
       Name_Global_Var_Close;

color color_txt;
 
//---- buffers
double Signal_Sell[],
       Signal_Buy[],
       Nul_Line[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- name for indicator window
   string name_window="*MA_extremum_OPEN_CLOSE* Blue_Dream Tech*";
   IndicatorShortName(name_window);
  
//---- indicators
  SetIndexStyle(0,DRAW_HISTOGRAM);
  SetIndexBuffer(0,Signal_Sell);
  SetIndexStyle(1,DRAW_HISTOGRAM);
  SetIndexBuffer(1,Signal_Buy);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Nul_Line);
  
  switch(Num_Signal)
  {
    case 1 : Name_Global_Var_Open = "Signal_OPEN_1"; Name_Global_Var_Close = "Signal_CLOSE_1"; break;
    case 2 : Name_Global_Var_Open = "Signal_OPEN_2"; Name_Global_Var_Close = "Signal_CLOSE_2"; break;
    case 3 : Name_Global_Var_Open = "Signal_OPEN_3"; Name_Global_Var_Close = "Signal_CLOSE_3"; break;
    case 4 : Name_Global_Var_Open = "Signal_OPEN_4"; Name_Global_Var_Close = "Signal_CLOSE_4"; break;
    case 5 : Name_Global_Var_Open = "Signal_OPEN_5"; Name_Global_Var_Close = "Signal_CLOSE_5"; break;
    default: Alert(" Íîìåð ñèãíàëà äîëæåí íàõîäèòüñÿ â äèàïàçîíå îò 1 äî 5"); 
  }
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   Check_MA_Parametrs("MA_extremum");
//------------ ðèñóåì ëèíèþ íóëÿ ------------------------------------  
   int Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ 
   int i=Bars-Counted_bars-1;           // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî
   while(i>=0)                       
   {
     Nul_Line[i]=0;
//---Îòêðûòèå ïî ïåðåñå÷åíèþ íóëåâîé ëèíèè ------------------------
     double Speed_0, 
            Speed_1,
            Speed_2;
//--- ðèñóåì ñèãíàëû 
     Speed_0 = iCustom(NULL,MA_tf,"Speed_MA",Period_MA_fast, Period_MA_med, Period_MA_slow, Period_Average_Sum, MA_method, MA_price, MA_tf, 0,i);
     Speed_1 = iCustom(NULL,MA_tf,"Speed_MA",Period_MA_fast, Period_MA_med, Period_MA_slow, Period_Average_Sum, MA_method, MA_price, MA_tf, 0,i+1);
     Speed_2 = iCustom(NULL,MA_tf,"Speed_MA",Period_MA_fast, Period_MA_med, Period_MA_slow, Period_Average_Sum, MA_method, MA_price, MA_tf, 0,i+2);
     //Åñëè ñóììàðíàÿ ñêîðîñòü ïåðåñåêàåò íóëåâóþ ëèíèþ âíèç ñäåëêà íà ñåëë
     if(Speed_0 <= 0 &&  Speed_1 > 0 && Speed_2 > Speed_1) 
     { 
       Drow_Close_Buy(i);
       Drow_Open_Sell(i);
     }
     //Åñëè ñóììàðíàÿ ñêîðîñòü ïåðåñåêàåò íóëåâóþ ëèíèþ ââåðõ ñäåëêà íà áàé
     if(Speed_0 >= 0 &&  Speed_1 < 0 && Speed_2 < Speed_1)
     {
       Drow_Close_Sell(i);
       Drow_Open_Buy(i);
     }
     i--;                          // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî áàðà
   }
//-------------------------------------------------------------------
//----
   return(0);
}
//+------------------------------------------------------------------+
#include <Drow_signal.mqh>
//+------------------------------------------------------------------+


Comments