MA_speed_exceeding_OPEN

Author: valenok2003@mail.ru
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
MA_speed_exceeding_OPEN
//+------------------------------------------------------------------+
//|Àíàëèçàòîð äëÿ Speed_MA_V2        MA_speed_exceeding_OPEN_V0.2.mq4|
//|                                                     èäåÿ  Andru80|
//|                                ïîääåðæèâàåò òåõíîëîãèþ Blue_Dream|
//|                            òðåáóåò íàëè÷èÿ èíäèêàòîðà Speed_MA_V2|
//|×òî  íîâîãî:                                                      |
//|  V0.2 îò 15.03.2010 äîáàâëåíî:                                   |
//|   - òåïåðü ìîæíî èçìåíÿòü ïàðàìåòðû èíäèêàòîðà Speed_MA_V2 ÷åðåç |
//|     íàñòðîéêè àíàëèçàòîðà                                        |
//|  èñïðàâëåíî:                                                     |
//|   - ñèãíàëû íà áàé âûñòàâëÿþòñÿ òîëüêî òîãäà, êîãäà ñòàðøèé      |
//|     ìóâèíã äâèæåòñÿ ââåðõ, äëÿ ñåëà íàîáîðîò.                    |
//|  V0.1 îò 11.03.2010 èñïðàâëåíî:                                  |
//|   - òåïåðü àíàëèçàòîð ïî óìîë÷àíèþ óñòàíàâëèâàåòñÿ íà òåêóùèé ÒÔ |
//|   - âìåñòî òåêñòîâîãî èìåíè ÃÏÒ äîñòàòî÷íî ïîñòàâèòü å¸ íîìåð    |
//|  V0.0 îò 11.03.2010 îïèñàíèå:                                    |
//|   - åñëè ñêîðîñòü ïðåâûøàåò ïîðîãîâîå çíà÷åíèå, âûñòàâëÿåòñÿ     |
//|     îðäåð â çàâèñèìîñòè îò çíàêà ñêîðîñòè                        |
//|   - âìåñòî òåêñòîâîãî èìåíè ÃÏÒ äîñòàòî÷íî ïîñòàâèòü å¸ íîìåð    |
//|                                              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 Remark_0 = "--Ïåðèîä èçìåðåíèÿ--";
extern int Period_dimension = 2;     // ïåðèîä èçìåðåíèÿ
extern string Remark_1 = "--Âåëè÷èíà èçìåíåíèÿ ñêîðîñòè--";
extern int Speed_alteration   = 12;  // âåëè÷èíà èçìåíåíèÿ ñêîðîñòè çà óêàçàííûé ïåðèîä
extern string text2 = "--íîìåð ñèãíàëà äëÿ Blue_Dream--";
extern int Num_Signal = 1;

extern string text = "-ïàðàìåòðû äëÿ Speed_MA_V2-";
extern int Period_MA5    = 5;
extern int Period_MA15   = 15;
extern int Period_MA60   = 60;
extern string MA_method  = "LWMA";
extern string MA_price   = "TYP";
extern int Period_Average = 5;
extern int tf = 0;
 
int N;

string Name_Global_Var;

color color_txt;
 
//---- buffers
double Signal_Open_Sell[],
       Signal_Open_Buy[],
       Nul_Line[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- name for indicator window
   string name_window="*MA_speed_exceeding_OPEN_V0.2* Blue_Dream Tech*";
   IndicatorShortName(name_window);
  
//---- indicators
  SetIndexStyle(0,DRAW_HISTOGRAM);
  SetIndexBuffer(0,Signal_Open_Sell);
  SetIndexStyle(1,DRAW_HISTOGRAM);
  SetIndexBuffer(1,Signal_Open_Buy);
  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,Nul_Line);
  
  switch(Num_Signal)
  {
    case 1 : Name_Global_Var = "Signal_OPEN_1";    break;
    case 2 : Name_Global_Var = "Signal_OPEN_2";    break;
    case 3 : Name_Global_Var = "Signal_OPEN_3";    break;
    case 4 : Name_Global_Var = "Signal_OPEN_4";    break;
    case 5 : Name_Global_Var = "Signal_OPEN_5";    break;
    default: ;Alert(" Íîìåð ñèãíàëà äîëæåí íàõîäèòüñÿ â äèàïàçîíå îò 1 äî 5"); 
  }
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//---Îòêðûòèå ïî èçìåíåíèþ ñóììàðíîé ñêîðîñòè ---------------------
     double Speed_0, 
            Speed_N,
            Speed_MA60;  //ñêîðîñòü ñòàðøåãî ìóâèíãà; íàñ èíòåðåñóåò "+" èëè "-";  
//------------ ðèñóåì ëèíèþ íóëÿ ------------------------------------  
   int Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ 
   int i=Bars-Counted_bars-1;           // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî
   //i=2;

   while(i>=0)                       
   {
     Nul_Line[i]=0;
     Print(i);
     N = Period_dimension;
//--- ðèñóåì ñèãíàëû 
     Speed_0 = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,0,i);
     Speed_N = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,0,i+N);
     Speed_MA60 = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,4,i);
     //Åñëè ñóììàðíàÿ ñêîðîñòü çà N áàð óìåíüøàåòñÿ íà Speed_alteration åäèíèö ñäåëêà íà ñåëë
     if(Speed_N - Speed_0 > Speed_alteration && Speed_MA60 < 0) Signal_Open_Sell[i] = -0.7;
     //Åñëè ñóììàðíàÿ ñêîðîñòü çà N áàð óâåëè÷èâàåòñÿ íà Speed_alteration åäèíèö ñäåëêà íà áàé
     if(Speed_0 - Speed_N > Speed_alteration && Speed_MA60 > 0) Signal_Open_Buy[i]  = 0.7;     
        
     i--;                          // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî áàðà
   }

//-------------------------------------------------------------------
//------ Ôîðìèðóåì ñèãíàë äëÿ Blue_Dream ----------------------------
     Speed_0 = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,0,0);
     Speed_N = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,0,0+N);
     Speed_MA60 = iCustom(NULL,tf,"Speed_MA_V2",Period_MA5, Period_MA15, Period_MA60, MA_method, MA_price,Period_Average,tf,4,0);
     //Åñëè ñóììàðíàÿ ñêîðîñòü çà N áàð óìåíüøàåòñÿ íà Speed_alteration åäèíèö ñäåëêà íà ñåëë
     if(Speed_N - Speed_0 > Speed_alteration && Speed_MA60 < 0) GlobalVariableSet(Name_Global_Var,-1);
     //Åñëè ñóììàðíàÿ ñêîðîñòü çà N áàð óâåëè÷èâàåòñÿ íà Speed_alteration åäèíèö ñäåëêà íà áàé
     if(Speed_0 - Speed_N > Speed_alteration && Speed_MA60 > 0) GlobalVariableSet(Name_Global_Var,1);     
//-------------------------------------------------------------------
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---