DayChanelGLORINIKA_NikitaK_en

DayChanelGLORINIKA_NikitaK_en
Price Data Components
Series array that contains the highest prices of each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains the lowest prices of each barSeries array that contains open prices of each barSeries array that contains open prices of each barSeries array that contains close prices for each barSeries array that contains close prices for each bar
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
DayChanelGLORINIKA_NikitaK_en
//+------------------------------------------------------------------+
//|                               ÄÍÅÂÍÎÉ ÊÀÍÀË GLORINIKA. 
//| Çà îñíîâó  âçÿò è äîðàáîòàí     i-DayRange.mq4    http://www.kimiv.ru 
//|      17.11.2005  Èíäèêàòîð äíåâíîãî äèàïàçîíà. Êèì Èãîðü Â. aka KimIV        
//+------------------------------------------------------------------+                                
//20090309 Nikita-Kiev 4 Glorinika http://forum.alpari-idc.ru/thread24588-297.html

  /*      Ýòîò èíäèêàòîð, ïîäàðîê   òðåéäåðó  Glorinika, â äåíü 8 Ìàðòà.
  Ñðåäè   Èíäèêàòîðîâ äíåâíîãî äèàïàçîíà,  i-DayRange.mq4 îêàçàëñÿ ëó÷øå âñåõ, 
  è ïîýòîìó áûëî ðåøåíî åãî äîðàáîòàòü, 
  èòîãå ïîëó÷èëñÿ äîâîëüíî ïðàêòè÷íûé èíäèêàòîð, ïîìîãàþùèé ðàçîáðàòüñÿ  â ñèòóàöèè  
 íà ðûíêå â òå÷åíèè äíÿ,  à òàêæå è çàðàáàòûâàòü. 
 Êàê ïîëüçîâàòüñÿ.  Ýòîò èíäèêàòîð ýôôåêòèâíî íà÷èíàåò ðàáîòàòü ñ îòêðûòèåì åâðîïåéñêîé ñåññèè. 
 Ïðèìåíÿåòñÿ íà ìàëûõ òàéì ôðåéìàõ, íà÷èíàÿ îò 1 ìèí è âûøå. Ïðåäíàçíà÷åí äëÿ ïèïñîâêè, 
 èëè îïðåäåëåíèÿ ÷åòêîé òî÷êè âõîäà â ðûíîê. Ââåðõó ãðàôèêà â êîììåíòàðèÿõ 
 íàõîäèòñÿ íåîáõîäèìàÿ äëÿ àíàëèçà èíôîðìàöèÿ.  Ñïðåä = â íåêîòîðûõ ÄÖ, èíîãäà èçìåíÿåòñÿ 
 (íåîáõîäèìî êîíòðîëèðîâàòü), Êàíàë = äèàïàçîí äíåâíîãî êàíàëà â ïóíêòàõ. 
 Ñëåäóþùèå òðè öèôðû, äèàïàçîí ïîñëåäíèõ òðåõ ñâå÷åé, ñ ïëþñîì - ââåðõ, ñ ìèíóñîì âíèç, 
 äâîåòî÷èå : îòêðûòèå ðàâíî çàêðûòèþ.
 Äàëüøå, êàê ïðèìåð: 1/8 = 22 . 1/8 = ýòî äèàïàçîí â ïóíêòàõ, êàæäîãî èç 8  äåëåíèé Ôèáî. 
 Òî åñòü, âåñü äíåâíîé äèàïàçîí  äåëèòñÿ íà 8, è òîãäà äèàïàçîí 
 ìåæäó 62% è 50% áóäåò ðàâåí 1/8 , èëè = 22 ïóíêòà. 
 Ñî âðåìåíåì ìîæíî ðàçîáðàòüñÿ, ñ èñïîëüçîâàíèåì ýòèõ êîììåíòàðèåâ.
 Ñâåðõó è ñíèçó äíåâíîãî êàíàëà = Ôèáî, ñòîÿò öèôðû ïîêàçûâàþùèå â ïóíêòàõ 
 ðàññòîÿíèå îò öåíû äî Õàÿ èëè Ëîó,  äíåâíîãî äèàïàçîíà.  
 Êàê ïîëüçîâàòüñÿ Ôèáî, ïðè îòêàòå â 12,5 è 25, èëè 38%% (â çàâèñèìîñòè îò ñèòóàöèè íà ðûíêå!!!), 
 ñòàíîâèìñÿ â ïîçèöèþ  ïî íàïðàâëåíèþ äâèæåíèÿ, = (äîï. âàæíîå óñëîâèå,=òîëüêî ïðè äèàïàçîíå êàíàëà 
 áîëüøå 80-100 ïóíêòîâ, âîîáùå äëÿ êàæäîé âàëþòû, äèàïàçîí = äûõàíèå âàëþòû = îïðåäåëÿåòñÿ ïåðñîíàëüíî). 
  Êðàñíûå è ñèíèå ëèíèè íà ãðàôèêå ïîêàçûâàþò óðîâíè ïîääåðæêè è ñîïðîòèâëåíèÿ, íà äàííûé ìîìåíò. 
 Ïðè íàâåäåíèè íà íèõ  êóðñîðîì, ïîêàçûâàþòñÿ èõ íàçâàíèå. Àëåðò, åñëè èñïîëüçîâàòü ïî óìîë÷àíèþ = íîëü,
  (ëó÷øèé âàðèàíò) è íà íåñêîëüêèõ âàëþòàõ îäíîâðåìåííî,òî íàäîåäëèâîå è ÷àñòîå ïèùàíèå ãîâîðèò, ÷òî 
  íà÷àëîñü äâèæåíèå èëè òðåíä. 
 Òèøèíà ãîâîðèò, ÷òî ïðîèñõîäèò îòêàò èëè ôëåò. Âåðòèêàëüíûå ëèíèè  = ïîêàçûâàþò î 
 ïðèáëèæåíèè îêîí÷àíèÿ 4-÷àñîâîê, èëè ÷àñîâîê
 òîæå î÷åíü âàæíûé ìîìåíò â àíàëèçå. Âðîäå âñå. Íó, è åùå, ýòîò èíäþê èíîãäà íåîáõîäèìî ïåðåêëþ÷àòü 
 ñ îäíîãî òàéìôðåéìà íà äðóãîé.
 (è èíîãäà (ëó÷øå ïî÷àøå) ïðîñìàòðèâàòü íà ëèíåéíûõ ãðàôèêàõ).  Âðîäå âñå. ÓÑÏÅÕÎÂ.           
 */       
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 SteelBlue
#property indicator_color2 SteelBlue
#property indicator_color3 LightSlateGray
#property indicator_color4 DarkGray 
#property indicator_color5 DarkGray
#property indicator_color6 DarkGray
#property indicator_color7 DarkGray
#property indicator_color8 DarkGray 
//------- Îáíîâëåíèå  èíäèêàòîðà ïðîèñõîäèò êàæäûé òèê  -------------------------------
  int ind_shift = 4; 
  int   Range_N_bars = 2; 
 extern  int   NumberOfDays = 1;      // Êîëè÷åñòâî äíåé (0-âñå)
 extern int   MaxRange     = 500;    // Ìàêñèìàëüíûé äèàïàçîí êàíàëà
 extern string  Alert_Line = " if set -1, will shut up ";//"Åñëè âûñòàâèòü -1 ïèùàòü íå áóäåò";// 
 extern int   Alert_HighLine=0;
 extern int   Alert_LowLine=0;
  extern bool   PopupON  = false ; // true  false 
  extern bool   scalp  = false; // true  false 
      bool  ShowContinue = True;   // Ïîêàçûâàòü ïðîäîëæåíèå ëèíèé  True  false
      bool  ShowPrice    = false;   // Ïîêàçûâàòü öåíîâûå óðîâíè
      color  clFont       = Green;  // Öâåò øðèôòà
      int    SizeFont     = 8;      // Ðàçìåð øðèôòà
      int    OffSet       = 10;     // Ñìåùåíèå  //extern
 string AlertSound="alert.wav"; 
 // extern bool  EmailON=false;
 double nPoint = 0;
 double shifthigh[], shiftlow[];
 double Line1[], Line2[], Line3[], Line4[],Line5[],Line6[];  
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() {
  SetIndexBuffer   (0, shifthigh);SetIndexDrawBegin(0, 0);
  SetIndexLabel    (0, "Up Channel"); SetIndexStyle    (0, DRAW_LINE,2,0); 
//+---------
  SetIndexBuffer   (1, shiftlow); SetIndexDrawBegin(1, 0);
  SetIndexLabel    (1, "Down Channel"); SetIndexStyle    (1, DRAW_LINE,2,0); 
//+---------
 SetIndexStyle(2,DRAW_LINE,2,0);  SetIndexBuffer(2,Line1);
 SetIndexLabel(2,"  12_percent     ");SetIndexDrawBegin(2,0);
  //+---------
 SetIndexStyle(3,DRAW_LINE,2,0);SetIndexBuffer(3,Line2);
 SetIndexLabel(3,"  25_percent   ");SetIndexDrawBegin(3,0);
  //+---------
 SetIndexStyle(4,DRAW_LINE,2,0);SetIndexBuffer(4,Line3);
 SetIndexLabel(4," 38_percent  ");SetIndexDrawBegin(4,0);
  //+---------
 SetIndexStyle(5,DRAW_LINE,2,0);SetIndexBuffer(5,Line4);
 SetIndexLabel(5," 62_percent  ");SetIndexDrawBegin(5,0);
  //+---------
 SetIndexStyle(6,DRAW_LINE,2,0);SetIndexBuffer(6,Line5);
 SetIndexLabel(6,"  75_percent   ");SetIndexDrawBegin(6,0);
   //+---------
 SetIndexStyle(7,DRAW_LINE,2,0);SetIndexBuffer(7,Line6);
  SetIndexLabel(7,"     12_percent     ");SetIndexDrawBegin(7,0);
   return(0); 
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
  void deinit() {
               ObjectsDeleteAll();    Comment("");
}
//+------------------------------------------------------------------+ 
  int start(){
  datetime dt=CurTime();
   datetime  t01 = iTime(NULL,0,0), t1 = iTime(NULL,0,1); 
   double dH,d2,dH2,dL2; 
  double   HighLine=0, LowLine=0,AverLine1=0,AverLine2=0;
  double    AverLine3=0,AverLine4=0,AverLine5=0,AverLine6=0;
     nPoint = GetPoint(Symbol());
  int      i, j, kb;
  for (i=NumberBar(); i>=0; i--) {
    if (TimeHour(Time[i])==0 && TimeMinute(Time[i])==0) {
      HighLine=iHigh(Symbol(),0,i);
      LowLine=iLow(Symbol(),0,i);
    } else {
      if (MaxRange<=0 || MaxRange*nPoint>HighLine-LowLine) {
        if (iHigh(NULL,0,i)>HighLine) HighLine=iHigh(NULL,0,i);
        if (iLow(NULL,0,i)<LowLine) LowLine=iLow(NULL,0,i);
      }
    }
    AverLine1=LowLine+(HighLine-LowLine)*12/100; 
    AverLine2=LowLine+(HighLine-LowLine)*25/100; 
    AverLine3=LowLine+(HighLine-LowLine)*38/100; 
    AverLine4=LowLine+(HighLine-LowLine)*62/100; 
    AverLine5=LowLine+(HighLine-LowLine)*75/100; 
    AverLine6=LowLine + (HighLine-LowLine)*88/100;  
   //+---------  
    kb=(StrToTime(TimeToStr(Time[0], TIME_DATE)+" 23:59")-Time[0])/Period()/60;
    if (i==0 && ShowContinue) {
      SetIndexShift(0, kb);   SetIndexShift(1, kb);
      SetIndexShift(2, kb);   SetIndexShift(3, kb);
      SetIndexShift(4, kb);   SetIndexShift(5, kb);
      SetIndexShift(6, kb);   SetIndexShift(7, kb);
     //+---------   
      for (j=kb; j>=0; j--) {
     shifthigh[j]=HighLine;  shiftlow [j]=LowLine;
     Line1[j]=AverLine1;     Line2[j]=AverLine2;
     Line3[j]=AverLine3;     Line4[j]=AverLine4;
     Line5[j]=AverLine5;     Line6[j]=AverLine6;
      }
    }
    shifthigh[i+kb]=HighLine;    shiftlow [i+kb]=LowLine;
     Line1[i+kb]=AverLine1;      Line2[i+kb]=AverLine2;
     Line3[i+kb]=AverLine3;      Line4[i+kb]=AverLine4;
     Line5[i+kb]=AverLine5;      Line6[i+kb]=AverLine6;
  //+---------   
    if (i==0 && ShowPrice) {
      DrawPrices(dt, "Price", HighLine, LowLine);
   }  
  } 
   //+--------- Äîáàâëåí èíäèêàòîð, Äèàïàçîí ïîñëåäíèõ áàðîâ ------------------- 
   string name, value,Fibo,Fibo1, data; 
 for (int ii = Range_N_bars; ii >= 0; ii--){ 
 data = DoubleToStr(High[ii]/nPoint-Low[ii]/nPoint,0); 
 if (Close[ii] > Open[ii]) 
 { value = " +" + data; 
 } if (Close[ii] < Open[ii])
 {  value = " -" + data; 
 }if (Close[ii] == Open[ii])
 { value =  " :" + data;}  
   name = name + value; 
    Fibo1 = DoubleToStr((HighLine-LowLine)/8/nPoint,0);
      Fibo = DoubleToStr((HighLine-LowLine)/nPoint,0); 
  Comment(   "                                               Spread  =  ", (Ask-Bid)/nPoint,",    Channel  = " ,Fibo +" p,  ", name +" p,   1/8 ( or 0.125)  =  " ,Fibo1 +" p.");     
   }
  //+--------------------------------------------------------------------------------------- 
    if(ObjectFind("Fibo22")<0) 
    ObjectCreate("Fibo22",OBJ_FIBO,0,Time[0],Low[0],Time[0],High[0]);
    ObjectSet("Fibo22",OBJPROP_PRICE1,LowLine); 
    ObjectSet("Fibo22",OBJPROP_TIME1,iTime(NULL,PERIOD_M5,1)); 
    ObjectSet("Fibo22",OBJPROP_PRICE2,HighLine);
    ObjectSet("Fibo22",OBJPROP_TIME2,iTime(NULL,PERIOD_M5,1)+600000000);  
    ObjectSet("Fibo22", OBJPROP_COLOR,DarkGray );   // 
    ObjectSet("Fibo22",OBJPROP_RAY,0); 
    ObjectSet("Fibo22",OBJPROP_STYLE,2);  
                  ObjectSet("Fibo22", OBJPROP_FIBOLEVELS, 9);//FIRSTLEVEL ìîæíî äîáàâëÿòü äî 22 øòóê ïî îáðàçöó 
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+0, 0); 
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+1, 0.875);
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+2, 0.75);
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+3, 0.62);  
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+4, 0.5);
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+5, 0.38);   
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+6, 0.25); 
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+7, 0.125); 
                  ObjectSet("Fibo22", OBJPROP_FIRSTLEVEL+8, 1.0); 
                   //+---        
                   ObjectSetFiboDescription("Fibo22",0,"%$"); 
                  ObjectSetFiboDescription("Fibo22",1,"0.125"); 
                  ObjectSetFiboDescription("Fibo22",2,"0.25"); 
                  ObjectSetFiboDescription("Fibo22",3,"0.38");    
                  ObjectSetFiboDescription("Fibo22",4,"0.50");
                  ObjectSetFiboDescription("Fibo22",5,"0.62");   
                  ObjectSetFiboDescription("Fibo22",6,"0.75"); 
                  ObjectSetFiboDescription("Fibo22",7,"0.125"); 
                  ObjectSetFiboDescription("Fibo22",8,"%$"); 
                  ObjectSetFiboDescription("Fibo22",9,"1.12"); 
                  ObjectSetFiboDescription("Fibo22",10,"1.12"); 
                  ObjectSetFiboDescription("Fibo22",11,"1.25"); 
                  ObjectSetFiboDescription("Fibo22",12,"1.25"); 
                  ObjectSet("Fibo22",OBJPROP_LEVELCOLOR,DarkGray); 
                  ObjectSet("Fibo22",OBJPROP_LEVELSTYLE,2); 
   //+---  
 if (ObjectFind("Today\'s Open")==-1){ 
  ObjectCreate("Today\'s Open",OBJ_TREND,0,0,0,0); 
  ObjectSet("Today\'s Open",OBJPROP_RAY,false); 
  ObjectSet("Today\'s Open",OBJPROP_STYLE,3); //0 1 2 3 4 
  ObjectSet("Today\'s Open",OBJPROP_COLOR,Blue); 
 }ObjectSet("Today\'s Open",OBJPROP_PRICE1, iOpen(NULL,PERIOD_D1,0));
  ObjectSet("Today\'s Open",OBJPROP_TIME1,iTime(NULL,PERIOD_D1,0));
  ObjectSet("Today\'s Open",OBJPROP_PRICE2,iOpen(NULL,PERIOD_D1,0));  
  ObjectSet("Today\'s Open",OBJPROP_TIME2,iTime(NULL,PERIOD_M5,1));
    //+---  
   if (ObjectFind("Expected Today\'s Close")==-1){ 
      ObjectCreate("Expected Today\'s Close",OBJ_ARROW,0,0,0,0,0); 
    ObjectSet("Expected Today\'s Close",OBJPROP_ARROWCODE,6); 
  ObjectSet("Expected Today\'s Close",OBJPROP_COLOR,Magenta); 
  } ObjectSet("Expected Today\'s Close",OBJPROP_PRICE1, iClose(NULL,PERIOD_D1,1)+ (iClose(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,2))); 
      ObjectSet("Expected Today\'s  Close",OBJPROP_TIME1,iTime(NULL,PERIOD_D1,0)+86200); 
  //+---  
  if (ObjectFind("Week Open")==-1){ 
  ObjectCreate("Week Open",OBJ_TREND,0,0,0,0); 
  ObjectSet("Week Open",OBJPROP_RAY,True); //false False True
  ObjectSet("Week Open",OBJPROP_STYLE,2); //0 1 2 3 4 
  ObjectSet("Week Open",OBJPROP_COLOR,Blue); 
 }ObjectSet("Week Open",OBJPROP_PRICE1, iOpen(NULL,PERIOD_W1,0));
  ObjectSet("Week Open",OBJPROP_TIME1,iTime(NULL,PERIOD_W1,0));
  ObjectSet("Week Open",OBJPROP_PRICE2,iOpen(NULL,PERIOD_W1,0));  
  ObjectSet("Week Open",OBJPROP_TIME2,iTime(NULL,PERIOD_M5,1)); 
    //+--        
 if (ObjectFind("Yesterday\'s Low")==-1){ 
  ObjectCreate("Yesterday\'s Low",OBJ_TREND,0,0,0,0); 
  ObjectSet("Yesterday\'s Low",OBJPROP_RAY,false); 
  ObjectSet("Yesterday\'s Low",OBJPROP_STYLE,2); //0 1 2 3 4 
  ObjectSet("Yesterday\'s Low",OBJPROP_COLOR,Blue); 
 }ObjectSet("Yesterday\'s Low",OBJPROP_PRICE1, iLow(NULL,PERIOD_D1,1));  
  ObjectSet("Yesterday\'s Low",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));
  ObjectSet("Yesterday\'s Low",OBJPROP_PRICE2,iLow(NULL,PERIOD_D1,1));  
  ObjectSet("Yesterday\'s Low",OBJPROP_TIME2,t01+(t01-t1)*ind_shift); 
  //+-- 
   if (ObjectFind("Yesterday\'s High")==-1){ 
   ObjectCreate("Yesterday\'s High",OBJ_TREND,0,0,0,0); 
   ObjectSet("Yesterday\'s High",OBJPROP_RAY,false); 
      ObjectSet("Yesterday\'s High",OBJPROP_STYLE,2); //0 1 2 3 4 
      ObjectSet("Yesterday\'s High",OBJPROP_COLOR,Red); 
   }  ObjectSet("Yesterday\'s High",OBJPROP_PRICE1, iHigh(NULL,PERIOD_D1,1));  
      ObjectSet("Yesterday\'s High",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));
      ObjectSet("Yesterday\'s High",OBJPROP_PRICE2,iHigh(NULL,PERIOD_D1,1)); 
      ObjectSet("Yesterday\'s High",OBJPROP_TIME2,t01+(t01-t1)*ind_shift); 
   //+---     
        if   (ObjectFind("Yesterday\'s_High")==-1){ 
      ObjectCreate("Yesterday\'s_High",OBJ_ARROW,0,0,0,0,0); 
    ObjectSet("Yesterday\'s_High",OBJPROP_ARROWCODE,6); 
        ObjectSet("Yesterday\'s_High",OBJPROP_COLOR,Red);
            ObjectSet("Yesterday\'s_High",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1); //  |OBJ_PERIOD_H4 
    }    ObjectSet("Yesterday\'s_High",OBJPROP_PRICE1,dH2); 
        ObjectSet("Yesterday\'s_High",OBJPROP_TIME1,t01+(t01-t1)*ind_shift); 
 //+---
    if   (ObjectFind("Yesterday\'s_Low")==-1){ 
      ObjectCreate("Yesterday\'s_Low",OBJ_ARROW,0,0,0,0,0); 
    ObjectSet("Yesterday\'s_Low",OBJPROP_ARROWCODE,6); 
        ObjectSet("Yesterday\'s_Low",OBJPROP_COLOR,Blue);
  ObjectSet("Yesterday\'s_Low",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1); //  |OBJ_PERIOD_H4   
    }    ObjectSet("Yesterday\'s_Low",OBJPROP_PRICE1,dL2); 
        ObjectSet("Yesterday\'s_Low",OBJPROP_TIME1,t01+(t01-t1)*ind_shift);  
 //+---
           if   (ObjectFind("Last_Wek\'s_Low")==-1){ 
      ObjectCreate("Last_Wek\'s_Low",OBJ_ARROW,0,0,0,0,0); 
    ObjectSet("Last_Wek\'s_Low",OBJPROP_ARROWCODE,6); 
        ObjectSet("Last_Wek\'s_Low",OBJPROP_COLOR,Blue);
     ObjectSet("Last_Wek\'s_Low",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1); //  |OBJ_PERIOD_H4     
    }    ObjectSet("Last_Wek\'s_Low",OBJPROP_PRICE1,iLow(NULL, PERIOD_W1, 1)); 
        ObjectSet("Last_Wek\'s_Low",OBJPROP_TIME1,t01+(t01-t1)*ind_shift); 
 //+---        
           if   (ObjectFind("Last_Wek\'s_High")==-1){ 
      ObjectCreate("Last_Wek\'s_High",OBJ_ARROW,0,0,0,0,0); 
    ObjectSet("Last_Wek\'s_High",OBJPROP_ARROWCODE,6); 
        ObjectSet("Last_Wek\'s_High",OBJPROP_COLOR,Magenta);
          ObjectSet("Last_Wek\'s_High",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M5|OBJ_PERIOD_M15|OBJ_PERIOD_M30|OBJ_PERIOD_H1); //  |OBJ_PERIOD_H4    
    }    ObjectSet("Last_Wek\'s_High",OBJPROP_PRICE1,iHigh(NULL, PERIOD_W1, 1)); 
        ObjectSet("Last_Wek\'s_High",OBJPROP_TIME1,t01+(t01-t1)*ind_shift); 
 //+--- 
   if (ObjectFind("Expected  Close, Weekly")==-1){ 
     ObjectCreate("Expected  Close, Weekly",OBJ_ARROW,0,0,0,0); 
        ObjectSet("Expected  Close, Weekly",OBJPROP_ARROWCODE,115); // 167 159 115 4 5 
        ObjectSet("Expected  Close, Weekly",OBJPROP_WIDTH ,1); //0,1,2,3  
        ObjectSet("Expected  Close, Weekly",OBJPROP_COLOR,Magenta); 
      } ObjectSet("Expected  Close, Weekly",OBJPROP_PRICE1, iClose(NULL,PERIOD_W1,1)+ (iClose(NULL,PERIOD_W1,1)-iClose(NULL,PERIOD_W1,2))); 
        ObjectSet("Expected  Close, Weekly",OBJPROP_TIME1,iTime(NULL,PERIOD_W1,0)+(iTime(NULL,PERIOD_W1,0)-iTime(NULL,PERIOD_W1,1))); 
 //+--       
   if (ObjectFind("High 2 days ago")==-1){ 
   ObjectCreate("High 2 days ago",OBJ_TREND,0,0,0,0); 
   ObjectSet("High 2 days ago",OBJPROP_RAY,false); 
      ObjectSet("High 2 days ago",OBJPROP_STYLE,2); //0 1 2 3 4 
      ObjectSet("High 2 days ago",OBJPROP_COLOR,FireBrick); 
   }  ObjectSet("High 2 days ago",OBJPROP_PRICE1, iHigh(NULL,PERIOD_D1,2));  
      ObjectSet("High 2 days ago",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));
      ObjectSet("High 2 days ago",OBJPROP_PRICE2,iHigh(NULL,PERIOD_D1,2)); 
      ObjectSet("High 2 days ago",OBJPROP_TIME2,iTime(NULL,PERIOD_M5,1));
  //+---      
    if (ObjectFind("Low 2 days ago")==-1){ 
  ObjectCreate("Low 2 days ago",OBJ_TREND,0,0,0,0); 
  ObjectSet("Low 2 days ago",OBJPROP_RAY,false); 
  ObjectSet("Low 2 days ago",OBJPROP_STYLE,2); //0 1 2 3 4 
  ObjectSet("Low 2 days ago",OBJPROP_COLOR,MediumBlue); 
 }ObjectSet("Low 2 days ago",OBJPROP_PRICE1, iLow(NULL,PERIOD_D1,2));  
  ObjectSet("Low 2 days ago",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));
  ObjectSet("Low 2 days ago",OBJPROP_PRICE2,iLow(NULL,PERIOD_D1,2));  
  ObjectSet("Low 2 days ago",OBJPROP_TIME2,iTime(NULL,PERIOD_M5,1));
  //+-- 
     if (ObjectFind("Next H1 Period Line")==-1){ 
     ObjectCreate("Next H1 Period Line",OBJ_VLINE,0,0,0);  
     ObjectSet("Next H1 Period Line",OBJPROP_COLOR,DarkSlateBlue); 
     ObjectSet("Next H1 Period Line",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5 ); // | OBJ_PERIOD_M15 
     ObjectSet("Next H1 Period Line",OBJPROP_STYLE,2); //0 1 2 3 4 
     ObjectSet("Next H1 Period Line",OBJPROP_BACK,true);// true  false         
   } ObjectSet("Next H1 Period Line",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,0)+3600); 
     ObjectSet("Next H1 Period Line",OBJPROP_PRICE1, 0);            
 //+------------------------------------------------------------------+ 
   if (ObjectFind("H4 Period Line")==-1){ 
   ObjectCreate("H4 Period Line",OBJ_VLINE,0,0,0);  
   ObjectSet("H4 Period Line",OBJPROP_COLOR,SlateBlue); 
   ObjectSet("H4 Period Line",OBJPROP_STYLE,2); //0 1 2 3 4 
   ObjectSet("H4 Period Line",OBJPROP_BACK,true);// true  false 
 } ObjectSet("H4 Period Line",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,0)); 
   ObjectSet("H4 Period Line",OBJPROP_PRICE1, 0);  
 //+---   
   if (ObjectFind("Next H4 Period")==-1){ 
   ObjectCreate("Next H4 Period",OBJ_VLINE,0,0,0);  
   ObjectSet("Next H4 Period",OBJPROP_COLOR,SlateBlue); 
   ObjectSet("Next H4 Period",OBJPROP_STYLE,2); //0 1 2 3 4 
   ObjectSet("Next H4 Period",OBJPROP_BACK,true);// true  false 
 } ObjectSet("Next H4 Period",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,0)+14400); 
   ObjectSet("Next H4 Period",OBJPROP_PRICE1, 0);  
 //+---  
     if (ObjectFind("H2 Period Line")==-1){ 
     ObjectCreate("H2 Period Line",OBJ_VLINE,0,0,0);  
     ObjectSet("H2 Period Line",OBJPROP_COLOR,DarkSlateBlue); 
     ObjectSet("H2 Period Line",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M1 |OBJ_PERIOD_M5 | OBJ_PERIOD_M15 |OBJ_PERIOD_M30 );  
     ObjectSet("H2 Period Line",OBJPROP_STYLE,2); //0 1 2 3 4 
     ObjectSet("H2 Period Line",OBJPROP_BACK,true);// true  false         
   } ObjectSet("H2 Period Line",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,0)+7200); 
     ObjectSet("H2 Period Line",OBJPROP_PRICE1, 0);            
 //+------------------------------------------------------------------+ 

  if  (scalp )   if (ObjectFind("STOPLEVEL by High + Spread")==-1){ 
      ObjectCreate("STOPLEVEL by High + Spread",OBJ_ARROW,0,0,0,0); 
        ObjectSet("STOPLEVEL by High + Spread",OBJPROP_ARROWCODE,4); // 167 159 115 4 5 170
       ObjectSet("STOPLEVEL by High + Spread",OBJPROP_COLOR,Blue); 
    }  ObjectSet("STOPLEVEL by High + Spread",OBJPROP_PRICE1,Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*nPoint);
       ObjectSet("STOPLEVEL by High + Spread",OBJPROP_TIME1,Time[0]);
   //+-- 
  if  (scalp )  if (ObjectFind("STOPLEVEL by High")==-1){ 
      ObjectCreate("STOPLEVEL by High",OBJ_ARROW,0,0,0,0); 
        ObjectSet("STOPLEVEL by High",OBJPROP_ARROWCODE,4); // 167 159 115 4 5 170
       ObjectSet("STOPLEVEL by High",OBJPROP_COLOR,Blue); 
    }  ObjectSet("STOPLEVEL by High",OBJPROP_PRICE1,Bid+MarketInfo(Symbol(),MODE_STOPLEVEL)*nPoint);
       ObjectSet("STOPLEVEL by High",OBJPROP_TIME1,Time[0]);
   //+--           
 if  (scalp ) if (ObjectFind("STOPLEVEL by Low")==-1){ 
      ObjectCreate("STOPLEVEL by Low",OBJ_ARROW,0,0,0,0); 
        ObjectSet("STOPLEVEL by Low",OBJPROP_ARROWCODE,4); // 167 159 115 4 5 170
      ObjectSet("STOPLEVEL by Low",OBJPROP_COLOR,Blue); 
    } ObjectSet("STOPLEVEL by Low",OBJPROP_PRICE1,Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*nPoint);
      ObjectSet("STOPLEVEL by Low",OBJPROP_TIME1,Time[0]); 
    //+--          
 if  (scalp ) if (ObjectFind("STOPLEVEL by Low + Spread")==-1){ 
      ObjectCreate("STOPLEVEL by Low + Spread",OBJ_ARROW,0,0,0,0); 
        ObjectSet("STOPLEVEL by Low + Spread",OBJPROP_ARROWCODE,4); // 167 159 115 4 5 170
      ObjectSet("STOPLEVEL by Low + Spread",OBJPROP_COLOR,Blue); 
    } ObjectSet("STOPLEVEL by Low + Spread",OBJPROP_PRICE1,Bid-(Ask-Bid)-MarketInfo(Symbol(),MODE_STOPLEVEL)*nPoint);
      ObjectSet("STOPLEVEL by Low + Spread",OBJPROP_TIME1,Time[0]); 
    //+-- 
        if (ObjectFind("Channel 11")==-1){ ObjectCreate("Channel 11", OBJ_CHANNEL, 0, 0,0, 0, 0);  
  } ObjectSet("Channel 11",OBJPROP_TIME1,Time[1]);  ObjectSet("Channel 11",OBJPROP_PRICE1,HighLine);            
   ObjectSet("Channel 11",OBJPROP_TIME2,Time[0]);  ObjectSet("Channel 11",OBJPROP_PRICE2,HighLine);  
     ObjectSet("Channel 11",OBJPROP_TIME3,Time[0]);  ObjectSet("Channel 11",OBJPROP_PRICE3,HighLine);        
   ObjectSet("Channel 11", OBJPROP_COLOR, SlateGray);   ObjectSet("Channel 11",OBJPROP_RAY,0);    
  //+--------- 
        if    (ObjectFind("HighLine")==-1){ ObjectCreate("HighLine",OBJ_TEXT, 0, 0, 0); 
   } ObjectSetText("HighLine",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble 
   (ObjectGetValueByShift("Channel "+11,0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray); 
     ObjectSet("HighLine",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Channel "+11,0),Digits)+5*nPoint); 
             ObjectSet("HighLine",OBJPROP_TIME1,Time[0]) ;    
   //---------  
      double val1=ObjectGetValueByShift("Channel 11", 0); 
     if (Bid-Alert_HighLine*nPoint <= val1 && Bid+Alert_HighLine*nPoint >= val1) 
     {    PlaySound (AlertSound); 
         if (PopupON) Alert (Symbol()," price within ",Alert_HighLine," pips of ","Channel 11"); 
        // if (EmailON) SendMail(Symbol()+" ",Alert_HighLine+" pips from "+"Channel 11");  
      }          
 //+-----------------------------------------------------------------------------------------------          
        if (ObjectFind("Channel 111")==-1){ ObjectCreate("Channel 111", OBJ_CHANNEL, 0, 0,0, 0, 0);  
  } ObjectSet("Channel 111",OBJPROP_TIME1,Time[1]);  ObjectSet("Channel 111",OBJPROP_PRICE1,LowLine);            
   ObjectSet("Channel 111",OBJPROP_TIME2,Time[0]);  ObjectSet("Channel 111",OBJPROP_PRICE2,LowLine);  
     ObjectSet("Channel 111",OBJPROP_TIME3,Time[0]);  ObjectSet("Channel 111",OBJPROP_PRICE3,LowLine);        
   ObjectSet("Channel 111", OBJPROP_COLOR, SlateGray);   ObjectSet("Channel 111",OBJPROP_RAY,0);    
  //+--------- 
         if    (ObjectFind("LowLine")==-1){ ObjectCreate("LowLine",OBJ_TEXT, 0, 0, 0); 
   } ObjectSetText("LowLine",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble 
   (ObjectGetValueByShift("Channel "+111,0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray); 
     ObjectSet("LowLine",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Channel "+111,0),Digits)-2*nPoint);  
             ObjectSet("LowLine",OBJPROP_TIME1,Time[0]) ;  
 //+-------  
      double val2=ObjectGetValueByShift("Channel 111", 0); 
     if (Bid-Alert_LowLine*nPoint <= val2 && Bid+Alert_LowLine*nPoint >= val2) 
     {     PlaySound (AlertSound); 
    if (PopupON) Alert (Symbol()," price within ",Alert_LowLine," pips of ","Channel 111"); 
    //if (EmailON) SendMail(Symbol()+" ",Alert_LowLine+" pips from "+"Channel 111");  
      }         
       //+-----------------------------------------------------------------------------------------------  
   if (ObjectFind("Last_Week\'s_High")==-1){ ObjectCreate("Last_Week\'s_High", OBJ_TREND,0,0,0,0); 
  } ObjectSet("Last_Week\'s_High",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));  ObjectSet("Last_Week\'s_High",OBJPROP_PRICE1,iHigh(NULL,PERIOD_W1,1));            
   ObjectSet("Last_Week\'s_High",OBJPROP_TIME2,t01+(t01-t1)*3);   ObjectSet("Last_Week\'s_High",OBJPROP_PRICE2,iHigh(NULL,PERIOD_W1,1));  
   ObjectSet("Last_Week\'s_High", OBJPROP_COLOR, Magenta);   ObjectSet("Last_Week\'s_High",OBJPROP_RAY,0); 
   ObjectSet("Last_Week\'s_High",OBJPROP_STYLE,2); //0 1 2 3 4   
  //+--------- 
         if    (ObjectFind("Distance from Price to Last Week\'s High")==-1){ ObjectCreate("Distance from Price to Last Week\'s High",OBJ_TEXT, 0, 0, 0); 
   } ObjectSetText("Distance from Price to Last Week\'s High",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble 
   (ObjectGetValueByShift("Last_Week\'s_High",0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray); 
     ObjectSet("Distance from Price to Last Week\'s High",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Last_Week\'s_High",0),Digits)+5*nPoint);  
             ObjectSet("Distance from Price to Last Week\'s High",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,1)); 
             ObjectSet("Distance from Price to Last Week\'s High", OBJPROP_COLOR, Magenta);
 //+-------        
        if (ObjectFind("Last Week\'s_Low")==-1){ ObjectCreate("Last Week\'s_Low", OBJ_TREND,0,0,0,0); 
  } ObjectSet("Last Week\'s_Low",OBJPROP_TIME1,iTime(NULL,PERIOD_H4,1));  ObjectSet("Last Week\'s_Low",OBJPROP_PRICE1,iLow(NULL,PERIOD_W1,1));            
   ObjectSet("Last Week\'s_Low",OBJPROP_TIME2,t01+(t01-t1)*3);   ObjectSet("Last Week\'s_Low",OBJPROP_PRICE2,iLow(NULL,PERIOD_W1,1));  
   ObjectSet("Last Week\'s_Low", OBJPROP_COLOR, Blue);   ObjectSet("Last Week\'s_Low",OBJPROP_RAY,0); 
    ObjectSet("Last Week\'s_Low",OBJPROP_STYLE,2); //0 1 2 3 4     
  //+--------- 
         if    (ObjectFind("Distance from Price to Last Week\'s Low")==-1){ ObjectCreate("Distance from Price to Last Week\'s Low",OBJ_TEXT, 0, 0, 0); 
   } ObjectSetText("Distance from Price to Last Week\'s Low",DoubleToStr(MathAbs((NormalizeDouble(Bid,Digits)-NormalizeDouble 
   (ObjectGetValueByShift("Last Week\'s_Low",0),Digits))*MathPow(10,Digits)),0),7,"Arial",SlateGray); 
     ObjectSet("Distance from Price to Last Week\'s Low",OBJPROP_PRICE1,NormalizeDouble(ObjectGetValueByShift("Last Week\'s_Low",0),Digits)-2*nPoint);  
             ObjectSet("Distance from Price to Last Week\'s Low",OBJPROP_TIME1,iTime(NULL,PERIOD_H1,1));// t01+(t01-t1)*1); 
             ObjectSet("Distance from Price to Last Week\'s Low", OBJPROP_COLOR, Blue); 
    }
 //+-------------------------------------------------------------------------------------------------  
//+------------------------------------------------------------------+
//| Ïðîðèñîâêà öåíîâûõ ìåòîê íà ãðàôèêå                              |
//| Ïàðàìåòðû:                                                       |
//|   dt - äàòà òîðãîâîãî äíÿ                                        |
//|   no - íàèìåíîâàíèå îáúåêòà                                      |
//|   up - âåðõíèé öåíîâîé óðîâåíü                                   |
//|   dn - íèæíèé öåíîâîé óðîâåíü                                    |
//+------------------------------------------------------------------+
 void DrawPrices(datetime dt, string no, double up, double dn) {
  if (ObjectFind("Up"+no)<0) ObjectCreate("Up"+no, OBJ_TEXT, 0, 0,0);
  ObjectSet("Up"+no, OBJPROP_TIME1   , dt);
  ObjectSet("Up"+no, OBJPROP_PRICE1  , up+(OffSet+SizeFont)*nPoint);
  ObjectSet("Up"+no, OBJPROP_COLOR   , clFont);
  ObjectSet("Up"+no, OBJPROP_FONTSIZE, SizeFont);
  ObjectSetText("Up"+no, DoubleToStr(up, Digits));
//+------
  if (ObjectFind("Dn"+no)<0) ObjectCreate("Dn"+no, OBJ_TEXT, 0, 0,0);
  ObjectSet("Dn"+no, OBJPROP_TIME1   , dt);
  ObjectSet("Dn"+no, OBJPROP_PRICE1  , dn-OffSet*nPoint);
  ObjectSet("Dn"+no, OBJPROP_COLOR   , clFont);
  ObjectSet("Dn"+no, OBJPROP_FONTSIZE, SizeFont);
  ObjectSetText("Dn"+no, DoubleToStr(dn, Digits));
}
//+------------------------------------------------------------------+ 
//| Âîçâðàùàåò íîìåð áàðà                                            |
//+------------------------------------------------------------------+ 
int NumberBar() {
  int nd=0, i=0;
  while (nd<NumberOfDays) {
    i++;
    if (TimeHour(Time[i])==0 && TimeMinute(Time[i])==0) nd++;
  }
  return(i);
}
//+------------------------------------------------------------------+
double GetPoint(string vSymbol)
{
 int vres = StringFind(vSymbol,"JPY");
 if (vres == -1) return(0.0001);
 return(0.01);
}
//+-----------------------------------------------+

Comments