Author: Fredrich Company 2015
Price Data Components
Series array that contains open prices of each bar
Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
ap_1.01
//+------------------------------------------------------------------+
//|                                                      AP 1.00.mq4 |
//|                                            Fredrich Company 2015 |
//|                                    https://www.vk.com/Fredrich85 |
//+------------------------------------------------------------------+
#property copyright "Fredrich Company 2015"
#property link      "https://www.vk.com/Fredrich85"
#property version   "1.00"
#property strict
extern int   period_slow= 70;                // ïåðèîä ìåäëåííîé ñêîëüçÿùåé ñðåäíåé
input int   period_fast = 25;                // ïåðèîä áûñòðîé ñêîëüçÿùåé ñðåäíåé
input int   period_absalut=1440;             // ïåðèîä ãîäîâîé ñêîëüçÿùåé ñðåäíåé
input int   shift_min1   = 1;                // íà÷àëî îòñ÷åòà îò êðàÿ áàðîâ
input int   shift_max1   = 240;              // êîíåö áàðîâ ïðè 6-8 íåäåëüíîì ðàñ÷åòå
input int   shift_min2   = 1;                // íà÷àëî îòñ÷åòà îò êðàÿ áàðîâ
input int   shift_max2= 1440;                // êîíåö áàðîâ ïðè ãîäîâîì ðàñ÷åòå
input int   sleep = 5000;

input color    clr_hight = clrBlue;          // öâåò âåðõíåé ëèíèè
input color    clr_low = clrRed;             // öâåò íèæíåé ëèíèè
input color    clr_med = clrGold;            // öâåò ñðåäíåé ëèíèè
input string   name_hight = "HLine";         // èìÿ ëèíèè
input string   name_low = "LLine";           // èìÿ ëèíèè
input string   name_medium = "MLine";        // èìÿ ëèíèè
input string   name_trend= "TrendLine";      // èìÿ ëèíèè
input string   name_fibo = "TrendFibo";      // èìÿ ëèíèè
input string   name_hightL="Year Hight Line";// èìÿ ëèíèè
input string   name_lowL="Year Low Line";    // èìÿ ëèíèè
input string   name_mediumL="Year Medium Line"; // èìÿ ëèíèè
input string   name_mediumY= "Median Year";

bool on_fibo=1;
bool on_year_flat = 1;
bool on_week_flat = 1;
bool on_year_median=1;
bool on_comment=1;

double val_hight;
double val_low;
double val_medium;
datetime val_lowT;
datetime val_hightT;
double val_hightL;
double val_lowL;
double val_mediumL;
//+------------------------------------------------------------------+
//|Çàïóñê ñêðèïòà                                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Óäàëåíèå âñåõ îáúåêòîâ íà ãðàôèêå
   ObjectsDeleteAll();

//--- Ïàóçà ïðè ïåðåçàïóñêå 
   Sleep(sleep);

//--- Îáùèå ïåðåìåííûè äëÿ ðàáîòû ñêðèïòà 
   double Price=iOpen(NULL,PERIOD_D1,0);
   double absalut=iMA(NULL,PERIOD_H4,period_absalut,0,MODE_EMA,PRICE_CLOSE,1);

//--- Ðàñ÷åò äàííûõ ïî ñêîëüçÿùèì ñðåäíèì
   double H4_F  = iMA(NULL , PERIOD_H4, period_fast, 0, MODE_EMA, PRICE_CLOSE, 1);
   double H4_S  = iMA(NULL , PERIOD_H4, period_slow, 0, MODE_EMA, PRICE_CLOSE, 1);
   double D1_F  = iMA(NULL , PERIOD_D1, period_fast, 0, MODE_EMA, PRICE_CLOSE, 1);
   double D1_S  = iMA(NULL , PERIOD_D1, period_slow, 0, MODE_EMA, PRICE_CLOSE, 1);

//--- Ðàñ÷åò ýêñòðåìóìîâ ïî ìåòîäèêå 6-8 íåäåëü
   int val_index=iHighest(NULL,PERIOD_H4,MODE_HIGH,shift_max1,shift_min1);
   if(val_index!=-1){ val_hight=High[val_index]; val_hightT=Time[val_index]; }
   else PrintFormat("Îøèáêà âûçîâà iHighest. Êîä îøèáêè=%d",GetLastError());

   val_index=iLowest(NULL,PERIOD_H4,MODE_LOW,shift_max1,shift_min1);
   if(val_index!=-1) { val_low=Low[val_index]; val_lowT=Time[val_index]; }
   else PrintFormat("Îøèáêà âûçîâà iLowest. Êîä îøèáêè=%d",GetLastError());

   val_medium=(val_hight+val_low)/2;

//--- Ïðèâåäåíèå â ñòðîêè äàòû
   string  dateWeek_h = TimeToString(val_hightT,TIME_DATE);         // Äàòà ìàêñèìóìà 6-8 íåäåëü
   string  dateWeek_l = TimeToString(val_lowT,TIME_DATE);           // Äàòà ìèíèìóìà  6-8 íåäåëü

//--- Ðàñ÷åò ýêñòðåìóìîâ çà ãîä
   val_index=iHighest(NULL,PERIOD_H4,MODE_HIGH,shift_max2,shift_min2);
   if(val_index!=-1){ val_hightL=High[val_index]; }
   else PrintFormat("Îøèáêà âûçîâà iHighest. Êîä îøèáêè=%d",GetLastError());

   val_index=iLowest(NULL,PERIOD_H4,MODE_LOW,shift_max2,shift_min2);
   if(val_index!=-1) { val_lowL=Low[val_index];  }
   else PrintFormat("Îøèáêà âûçîâà iLowest. Êîä îøèáêè=%d",GetLastError());

   val_mediumL=(val_hightL+val_lowL)/2;

//--- Ïîñòðîåíèå ëèíèé ïî ìåòîäèêå 6-8 íåäåëü
   if(on_week_flat==true)
     {
      ObjectCreate(0,name_hight,OBJ_HLINE,0,0,val_hight);
      ObjectSetInteger(0,name_hight,OBJPROP_COLOR,clr_hight);
      ObjectCreate(0,name_low,OBJ_HLINE,0,0,val_low);
      ObjectSetInteger(0,name_low,OBJPROP_COLOR,clr_low);
      ObjectCreate(0,name_medium,OBJ_HLINE,0,0,val_medium);
      ObjectSetInteger(0,name_medium,OBJPROP_COLOR,clr_med);
     }
   if(on_fibo==true)
     {
      ObjectCreate(0,name_fibo,OBJ_FIBO,0,val_hightT,val_hight,val_lowT,val_low);
      ObjectSetInteger(0,name_trend,OBJPROP_COLOR,clr_low);
     }

//--- Ïîñòðîåíèå ëèíèé ïî ìåòîäèêå ãîäîâîãî ôëåòà
   if(on_year_flat==true)
     {
      ObjectCreate(0,name_hightL,OBJ_HLINE,0,0,val_hightL);
      ObjectSetInteger(0,name_hightL,OBJPROP_COLOR,clr_hight);
      ObjectSetInteger(0,name_hightL,OBJPROP_WIDTH,2);
      ObjectCreate(0,name_lowL,OBJ_HLINE,0,0,val_lowL);
      ObjectSetInteger(0,name_lowL,OBJPROP_COLOR,clr_low);
      ObjectSetInteger(0,name_lowL,OBJPROP_WIDTH,2);
      ObjectCreate(0,name_mediumL,OBJ_HLINE,0,0,val_mediumL);
      ObjectSetInteger(0,name_mediumL,OBJPROP_COLOR,clr_med);
      ObjectSetInteger(0,name_mediumL,OBJPROP_WIDTH,2);
     }

//--- Ðàñ÷åò îñíîâíîé ìåäèàíû çà ãîä
   if(on_year_median==true)
     {
      ObjectCreate(0,name_mediumY,OBJ_HLINE,0,0,absalut);
      ObjectSetInteger(0,name_mediumY,OBJPROP_COLOR,clrGray);
      ObjectSetInteger(0,name_mediumY,OBJPROP_WIDTH,3);
     }

//--- Ðàñ÷åò ñðåäíèõ çíà÷åíèé îòêëîíåíèÿ öåíû 
   double val_h4 = (H4_F - H4_S)/Point();                      // Ðàçíèöà ìåæäó ñêîëüçÿùèì 4 ÷àñîâîãî ãðàôèêà
   double val_D1 = (D1_F - D1_S)/Point();                      // Ðàçíèöà ìåæäó ñêîëüçÿùèì äíåâíîãî ãðàôèêà        
   double val_change = (val_hight-val_low)/Point();            // Ðàñ÷åò 6-8 íåäåëüíîãî ôëåòà
   double val_change_year = (val_hightL-val_lowL)/Point();     // Ðàñ÷åò ãîäîâîãî  ôëåòà
   double val_absalut = (absalut-Price)/Point();               // Îòêëîíåíèå îò ãîäîâîé ñðåäíåé 
   double val_absalut_week = (val_medium-Price)/Point();       // Îòêëîíåíèå îò ñðåäíåé ôëåòà çà 6-8 íåäåëü
   double val_absalut_year = (val_mediumL-Price)/Point();      // Îòêëîíåíèå îò ñðåäíåé ãîäîâîãî ôëåòà

//--- Âûâîä äàííûõ â êîììåíòàðèè
   if(on_comment==true)
     {
      Comment(StringFormat("Çíà÷åíèå ïàðàìåòðîâ Í4 = %G pips; D1 = %G pips\nØèðèíà êàíàëà ôëåòà 6-8 week = %G pips ãîäîâîé = %G pips\nÎòêëîíåíèå îò ãîäîâîé ñêîëüçÿùåé = %G pips\nÎòêëîíåíèå îò ñðåäèíû 6-8 íåäåëüíîãî ôëåòà = %G pips ãîäîâîãî ôëåòà  = %G pips",val_h4,val_D1,val_change,val_change_year,val_absalut,val_absalut_week,val_absalut_year));
     }
  }
//+------------------------------------------------------------------+

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 ---