MF_BreakDown_Flat 0-1010





//+-------------------------------------------------------------------+
//|                                       MF_BreakDown_Flat 0-1010.mq4|
//|                                       Copyright c YuraZZhunko     |
//|                                       ÌF YURAZ     yzh@mail.ru    |
//|19.12.2006                             ÌF ZHUNKO zhunko@mail.ru    |
//+-------------------------------------------------------------------+
//| Ïðåäñòàâëÿåì èíäèêàòîð óòðåííåãî ôëåòà.                           |
//| Òåïåðü íåò íåîáõîäèìîñòè ÷åðòèòü óðîâíè ðóêàìè.                   |
//| Äëÿ íîâè÷êîâ áóäåò î÷åíü ïîëåçåí.                                 |
//| Ñîãëàñíî ÒÑ ÌÔ, îáû÷íî âõîä ïðè äâîéíîì ïðîáîå è ïîääåðæêè        |
//| ñîþçíèêîâ ýòî ïåðâàÿ òî÷êà âõîäà.                                 |
//+-------------------------------------------------------------------+
//|                                                                   |
//|                     ÈÇÌÅÍÅÍÈß è ÄÎÏÎËÍÅÍÈß.                       |
//| 1.Èçìåíåíèÿ â MF_BreakDown_Flat 0-1010 21.12.2006 .               |
//| 1.1.Îïòèìèçàöèÿ êîäà.                                             |
//+-------------------------------------------------------------------+
#property copyright "Copyright c 2006 YuraZ-Zhunko"
#property link      "yzh@mail.ru ; zhunko@mail.ru"
//----
#property indicator_chart_window
//----------------------------------------------------------------------
extern int    Äíåé=10;                  // Ñêîëüêî äíåé â èñòîðèè ïîêàçûâàòü.
extern string sTimeEndAsia=" 07:00:00"; // Âû ìîæåòå ââåñòè ñâîè çíà÷åíè.
extern int    m7=7;                     // Ýòî ïðèéäåòñÿ òîæå ïîïðàâèòü.
extern string sTimeEndEur =" 10:00:00"; // Âðåìÿ äî êîòîðîãî ìû òåðïèì ôëåò.
//----------------------------------------------------------------------
double   Max, Max1, Min, Min1;
double   Max2, Min2;
int      BarsDay; // êîëè÷åñòâî áàðîâ çà äåíü
string   noR="yzR";
string   noS="yzS";
string   noP="yzP";
int      mMonth ;
int      mYear  ;
int      mDay   ;
datetime mDatBegin;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   mDatBegin=StrToTime (StringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE), " 00:00:00")) - (Äíåé * 86400);
   for( mYear =0; mDatBegin < TimeCurrent();  mDatBegin+=86400 )
     {
      mYear =TimeYear (mDatBegin);
      mMonth=TimeMonth (mDatBegin);
      mDay  =TimeDay (mDatBegin);
//----
      string d=StringConcatenate (DoubleToStr (mYear,0), ".", DoubleToStr (mMonth, 0), ".", DoubleToStr (mDay , 0), " ", "07:00");
      ObjectCreate(noR+d, OBJ_TREND, 0, 0,0, 0,0,0,0); // Res ñîïðîòèâëåíèå
      ObjectCreate(noS+d, OBJ_TREND, 0, 0,0, 0,0,0,0); // ïèâîò 
      ObjectCreate(noP+d, OBJ_TREND, 0, 0,0, 0,0,0,0); // Sup ïîääåðæêà
     }
  }
//+------------------------------------------------------------------+
int start()
  {
   string d;
   if (Äíåé==0)  Äíåé=1;
   if (Äíåé>=100)Äíåé=100;
//----
   mDatBegin=StrToTime (StringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE), " 00:00:00")) - (Äíåé * 86400);
   for(mYear =0; mDatBegin < TimeCurrent();  mDatBegin+=86400 )
     {
      mYear =TimeYear( mDatBegin);
      mMonth=TimeMonth( mDatBegin);
      mDay  =TimeDay( mDatBegin);
//----
      d=StringConcatenate (DoubleToStr (mYear,0), ".", DoubleToStr (mMonth, 0), ".", DoubleToStr (mDay , 0), " 07:00"); // sTimeEndAsia; // " " + ;
      ObjectCreate (noR + d, OBJ_TREND, 0, 0,0, 0,0,0,0); // Res ñîïðîòèâëåíèå
      ObjectCreate (noS + d, OBJ_TREND, 0, 0,0, 0,0,0,0); // ïèâîò 
      ObjectCreate (noP + d, OBJ_TREND, 0, 0,0, 0,0,0,0); // Sup ïîääåðæêà
     }
   mDatBegin=StrToTime (StringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE), " 00:00:00")) - (Äíåé * 86400);
//----
   for(mYear =0; mDatBegin < CurTime();  mDatBegin+=86400 )
     {
      mYear =TimeYear (mDatBegin);
      mMonth=TimeMonth (mDatBegin);
      mDay  =TimeDay (mDatBegin);
//----
      datetime ÒåêóùååÂðåìÿÒåðìèíàëà= TimeCurrent();
      string strÒåêóùååÂðåìÿÒåðìèíàëà=TimeToStr (ÒåêóùååÂðåìÿÒåðìèíàëà, TIME_DATE|TIME_MINUTES|TIME_SECONDS);
      if (TimeHour (ÒåêóùååÂðåìÿÒåðìèíàëà) < m7)
        {
         sTimeEndAsia  =StringConcatenate (" ", DoubleToStr (TimeHour (ÒåêóùååÂðåìÿÒåðìèíàëà), 0), ":", DoubleToStr (TimeMinute (ÒåêóùååÂðåìÿÒåðìèíàëà), 0), ":00");
        }
//----
      strÒåêóùååÂðåìÿÒåðìèíàëà=StringConcatenate (DoubleToStr (mYear, 0), ".", DoubleToStr (mMonth, 0), ".", DoubleToStr (mDay , 0), " ", sTimeEndAsia);
      // åñëè âðåìÿ ïîïàäàåò âíóòðè äíÿ òî ïðîñòî áåðåì
      //  ÄÅÍÁ ÌÅÑßÖ ÃÎÄ
      //   è òàðèì ê íåìó âðåìÿ îò 0 - 7 óòðà
      string strTimeBegASIA=StringConcatenate (StringSubstr (strÒåêóùååÂðåìÿÒåðìèíàëà, 0, 10), " 00:00:00");
      string strTimeEndASIA=StringConcatenate (StringSubstr (strÒåêóùååÂðåìÿÒåðìèíàëà, 0, 10), sTimeEndAsia);
      string sTimeEndEUR   =StringConcatenate (StringSubstr (strÒåêóùååÂðåìÿÒåðìèíàëà, 0, 10), sTimeEndEur);
//----
      int BarsDay1=iBarShift (Symbol(), 0 , StrToTime (strTimeBegASIA), false);
      int BarsDay2=iBarShift (Symbol(), 0 , StrToTime (strTimeEndASIA), false);
      BarsDay=BarsDay1 - BarsDay2;
      int i;
      int h1=iHighest (Symbol(), 0 , MODE_HIGH, BarsDay , BarsDay2) ;
      int l1=iLowest (Symbol(), 0 , MODE_HIGH, BarsDay , BarsDay2) ;
//-----
      Max1=High[h1];
      Min1=Low[l1];
      i=iLowest (Symbol(), 0, MODE_LOW, BarsDay , BarsDay2) ;
      Max2=High[i];
      Min2=Low[i];
      // Comment(" a "+TimeToStr(TimeCurrent( )) + "    "+Max1+" "+Min1+" "+Max2+" "+Min2+" "+BarsDay+" 1 "+BarsDay1+" 2 "+BarsDay2 );
      mYear =TimeYear (mDatBegin);
      mMonth=TimeMonth (mDatBegin);
      mDay  =TimeDay (mDatBegin);
      d=StringConcatenate (DoubleToStr (mYear, 0), ".", DoubleToStr (mMonth, 0), ".", DoubleToStr (mDay, 0), " 07:00");
//----
      ObjectSet (noR + d, OBJPROP_RAY, false);
      ObjectSet (noR + d, OBJPROP_COLOR, OrangeRed);
      ObjectSet (noR + d, OBJPROP_TIME1, StrToTime (strTimeBegASIA ));
      ObjectSet (noR + d, OBJPROP_PRICE1, Max1);
      ObjectSet (noR + d, OBJPROP_TIME2, StrToTime (sTimeEndEUR));
      ObjectSet (noR + d, OBJPROP_PRICE2, Max1);
      //
      ObjectSet (noP + d, OBJPROP_RAY,false);
      ObjectSet (noP + d, OBJPROP_COLOR,OrangeRed);
      ObjectSet (noP + d, OBJPROP_TIME1, StrToTime (strTimeBegASIA));
      ObjectSet (noP + d, OBJPROP_PRICE1, Min2 + (Max1 - Min2)/2);
      ObjectSet (noP + d, OBJPROP_TIME2, StrToTime (strTimeEndASIA));
      ObjectSet (noP + d, OBJPROP_PRICE2, Min2 + (Max1 - Min2)/2);
      //
      ObjectSet (noS + d, OBJPROP_RAY, false);
      ObjectSet (noS + d, OBJPROP_COLOR, SandyBrown);
      ObjectSet (noS + d, OBJPROP_TIME1, StrToTime (strTimeBegASIA));
      ObjectSet (noS + d, OBJPROP_PRICE1, Min2);
      ObjectSet (noS + d, OBJPROP_TIME2, StrToTime (sTimeEndEUR));
      ObjectSet (noS + d, OBJPROP_PRICE2, Min2);
     }
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: