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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---