Author: Copyright � 2011, Vladimir Hlystov
0 Views
0 Downloads
0 Favorites
MaxTrend
//+------------------------------------------------------------------+
//|                                                     MaxTrend.mq4 |
//|                               Copyright © 2011, Vladimir Hlystov |
//|                                                cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Vladimir Hlystov"
#property link      "http://cmillion.narod.ru"
#property indicator_chart_window
//+------------------------------------------------------------------+
//îïðåäåëåíèå ìàêñèìàëüíîé âîëíû áåç îòêàòà
extern int îòêàò = 100;     //êàêîé îòêàò æäåì
extern datetime TimeFind = D'2011.01.01 00:00'; //Âðåìÿ ñ êîòîðîãî èùåì
datetime TimeOld,TimeOldÂoëíà2;
string txt;
int BarStart;
//+------------------------------------------------------------------+
int init()
{
   txt=StringConcatenate("MaxTrend","\n","Copyright © 2011, Vladimir Hlystov","\n","http://cmillion.narod.ru",
           "\n","îòêàò",îòêàò,
           "\n","ñ ",TimeToStr(TimeFind,TIME_DATE|TIME_MINUTES));
   BarStart = iBarShift(NULL,0,TimeFind);
   return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
   return(0);
}
//+------------------------------------------------------------------+
int start()
{
   if (BarStart==-1) {Comment("Íåò êîòèðîâîê çà ",TimeToStr(TimeFind,TIME_DATE|TIME_MINUTES)); return;}
   ObjectsDeleteAll(0);
   int b,s;
   datetime TimeMin,TimeMax;
   double minPrice = Low[BarStart];TimeMin = Time[BarStart];
   double maxPrice = High[BarStart];TimeMax = Time[BarStart];
   int MaxTrednB,MaxTrendS;
   string Name;
   for (int i=BarStart; i>=0; i--)
   {
      if (minPrice > Low[i]) {minPrice = Low[i];TimeMin = Time[i];}
      if (maxPrice < High[i]) {maxPrice = High[i];TimeMax = Time[i];}
      int òåê_òðåíä = (maxPrice-minPrice)/Point;
      
      if ((maxPrice-Low[i])/Point >= îòêàò && òåê_òðåíä>îòêàò && TimeMin<TimeMax) //ïðåðûâàåì òðåíä
      {
         if (MaxTrednB < òåê_òðåíä) 
         {
            MaxTrednB = òåê_òðåíä; 
            Name = "áûê "+TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)+"  ðàçìåð "+òåê_òðåíä;
            ObjectDelete(Name);
            ObjectCreate(Name, OBJ_TREND, 0,TimeMin,minPrice,TimeMax,maxPrice);
            ObjectSet   (Name, OBJPROP_COLOR, Blue);
            ObjectSet   (Name, OBJPROP_STYLE, 0);
            ObjectSet   (Name, OBJPROP_WIDTH, 2);
            ObjectSet   (Name, OBJPROP_BACK,  true);
            ObjectSet   (Name, OBJPROP_RAY,   false);

            Name = Name + "îòêàò";
            ObjectDelete(Name);
            ObjectCreate(Name, OBJ_TREND, 0,TimeMax,maxPrice,Time[i],Low[i]);
            ObjectSet   (Name, OBJPROP_COLOR, Yellow);
            ObjectSet   (Name, OBJPROP_STYLE, 0);
            ObjectSet   (Name, OBJPROP_WIDTH, 2);
            ObjectSet   (Name, OBJPROP_BACK,  true);
            ObjectSet   (Name, OBJPROP_RAY,   false);
         }
         
         minPrice = Low[i];
         TimeMin = Time[i];
         b++;
         continue;
      }
    
      if ((High[i]-minPrice)/Point >= îòêàò && òåê_òðåíä>îòêàò && TimeMin>TimeMax) 
      {
         if (MaxTrendS < òåê_òðåíä) 
         {
            MaxTrendS = òåê_òðåíä; 
            Name = "ìåäâåäü "+TimeToStr(Time[i],TIME_DATE|TIME_MINUTES)+"  ðàçìåð "+òåê_òðåíä;
            ObjectDelete(Name);
            ObjectCreate(Name, OBJ_TREND, 0,TimeMax,maxPrice,TimeMin,minPrice);
            ObjectSet   (Name, OBJPROP_COLOR, Red);
            ObjectSet   (Name, OBJPROP_STYLE, 0);
            ObjectSet   (Name, OBJPROP_WIDTH, 2);
            ObjectSet   (Name, OBJPROP_BACK,  true);
            ObjectSet   (Name, OBJPROP_RAY,   false);
            Name = Name + "îòêàò";
            ObjectDelete(Name);
            ObjectCreate(Name, OBJ_TREND, 0,TimeMin,minPrice,Time[i],Low[i]);
            ObjectSet   (Name, OBJPROP_COLOR, Gold);
            ObjectSet   (Name, OBJPROP_STYLE, 0);
            ObjectSet   (Name, OBJPROP_WIDTH, 2);
            ObjectSet   (Name, OBJPROP_BACK,  true);
            ObjectSet   (Name, OBJPROP_RAY,   false);
         }
         {maxPrice = High[i];TimeMax = Time[i];}
         s++;
      }
   }
   
   Comment(txt,"\nìàêñèìàëüíûé ìåäâåæèé òðåíä ",MaxTrendS,
               "\nìàêñèìàëüíûé áû÷èé òðåíä ",MaxTrednB,
               "\n\nçàôèêñèðîâàíî îòêàòîâ ",
               "\nìåäâåæèé òðåíä ",s,
               "\náû÷èé òðåíä ",b);
   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 ---