//+------------------------------------------------------------------+ //| 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= откат && тек_тренд>откат && 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); } //+------------------------------------------------------------------+