Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
iSuppRes
//+------------------------------------------------------------------+
//|  Åñëè èíòåðåñíû ïîäðîáíîñòè, ïèøèòå íà faza9109@mail.ru          |
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
extern int     Per=8000,                               //Êîëè÷åñòâî áàðîâ äëÿ ðàñ÷åòà
               Sft=1000;                               //Èíäåêñ ïîñëåäíåãî áàðà äëÿ ðàñ÷åòà
//+------------------------------------------------------------------+
int       Count,                                       //Ñ÷åò÷èê êîëè÷åñòâà ðàç, êîãäà âñòðå÷àåòñÿ êîíêðåòíàÿ êîòèðîâêà j
          i;                                           //Ñ÷åò÷èê
double    Hg,Lw,                                       //Ìàêñèìóì è ìèíèìóì ðàñ÷åòíîãî ïåðèîäà
          j;                                           //Êîòèðîâêà
string    name;                                        //Èìÿ îáúåêòà
color     clr;                                         //Öâåò ïîëîñû
//+------------------------------------------------------------------+
int start()
     {
      if (IndicatorCounted()<Per+Sft)return;
     ObjectCreate("gr",0,0,Time[Sft],0);               //Ðèñóåì âåðòèêàëüíóþ ëèíèþ,
     ObjectSet   ("gr",6,Green);                       //îãðàíè÷èâàþùóþ îáëàñòü ðàñ÷åòà ñëåâà.
     ObjectSet   ("gr",8,2);                           //È îïðåäåëÿåì åé öâåò è òîëùèíó.
     Hg=High[iHighest(NULL,0,MODE_HIGH,Per,Sft)];      //Èùåì ìàêñèìóì ðàñ÷åòíîãî ïåðèîäà
     Lw=Low [iLowest (NULL,0,MODE_HIGH,Per,Sft)];      //Èùåì ìèíèìóì ðàñ÷åòíîãî ïåðèîäà
     for(j=Lw; j<=Hg; j+=Point)                        //Öèêë ïî êîòèðîâêàì ìåæäó Lw è Hg
          {
          Count=0;
          for(i=Per+Sft; i>=Sft; i--)                  //Öèêë ïî âñåì áàðàì ðàñ÷åòíîãî ïåðèîäà
               {
               if(j>=Low [i] && j<=High[i])            //Îïðåäåëÿåì, âõîäèò ëè íàøà êîòèðîâêà j â áàð i
               Count++;                                //Ñ÷èòàåì, ñêîëüêî ðàç äàííàÿ êîòèðîâêà âñòðå÷àåòñÿ â ðàñ÷åòíîì ïåðèîäå
               }
          name="price="+j;
          clr=Clrr(Count);                             //Âûçûâàåì ôóíêöèþ îïðåäåëåíèÿ öâåòà
          ObjectCreate(name,16,0,Time[Per+Sft],j+Point,Time[0],j);    //Ðèñóåì ïîëîñó
          ObjectSet   (name,6,clr);                    //È îïðåäåëÿåì åé öâåò
          }
return(0);
     }
//+------------------------------------------------------------------+
int init()
     {
     Print(Bars);
     if(Bars<(Per+Sft))
     Alert("Èçìåíèòå âõîäíûå ïàðàìåòðû, íåäîñòàòî÷íî áàðîâ íà ãðàôèêå");
return(0);
     }
//+------------------------------------------------------------------+
int deinit()
     {
     ObjectsDeleteAll();                               //Ïðè óäàëåíèè èíäèêàòîðà èç îêíà, óäàëÿåì âñå îáúåêòû
return(0);
     }
//+------------------------------------------------------------------+
color Clrr(int c)                                      //Ôóíêöèÿ îïðåäåëåíèÿ öâåòà
     {
     color A;
     int v= MathCeil(c/2);
     switch(v)
     {
     case  0: A=C'0,0,100'; break;
     case  1: A=C'0,0,102'; break;   case 21: A=C'0,0,142'; break;   case 41: A=C'0,0,182'; break;
     case  2: A=C'0,0,104'; break;   case 22: A=C'0,0,144'; break;   case 42: A=C'0,0,184'; break;
     case  3: A=C'0,0,106'; break;   case 23: A=C'0,0,146'; break;   case 43: A=C'0,0,186'; break;
     case  4: A=C'0,0,108'; break;   case 24: A=C'0,0,148'; break;   case 44: A=C'0,0,188'; break;
     case  5: A=C'0,0,110'; break;   case 25: A=C'0,0,150'; break;   case 45: A=C'0,0,190'; break;
     case  6: A=C'0,0,112'; break;   case 26: A=C'0,0,152'; break;   case 46: A=C'0,0,192'; break;
     case  7: A=C'0,0,114'; break;   case 27: A=C'0,0,154'; break;   case 47: A=C'0,0,194'; break;
     case  8: A=C'0,0,116'; break;   case 28: A=C'0,0,156'; break;   case 48: A=C'0,0,196'; break;
     case  9: A=C'0,0,118'; break;   case 29: A=C'0,0,158'; break;   case 49: A=C'0,0,198'; break;
     case 10: A=C'0,0,120'; break;   case 30: A=C'0,0,160'; break;   case 50: A=C'0,0,200'; break;
     case 11: A=C'0,0,122'; break;   case 31: A=C'0,0,162'; break;   case 51: A=C'0,0,202'; break;
     case 12: A=C'0,0,124'; break;   case 32: A=C'0,0,164'; break;   case 52: A=C'0,0,204'; break;
     case 13: A=C'0,0,126'; break;   case 33: A=C'0,0,166'; break;   case 53: A=C'0,0,206'; break;
     case 14: A=C'0,0,128'; break;   case 34: A=C'0,0,168'; break;   case 54: A=C'0,0,208'; break;
     case 15: A=C'0,0,130'; break;   case 35: A=C'0,0,170'; break;   case 55: A=C'0,0,210'; break;
     case 16: A=C'0,0,132'; break;   case 36: A=C'0,0,172'; break;   case 56: A=C'0,0,212'; break;
     case 17: A=C'0,0,134'; break;   case 37: A=C'0,0,174'; break;   case 57: A=C'0,0,214'; break;
     case 18: A=C'0,0,136'; break;   case 38: A=C'0,0,176'; break;   case 58: A=C'0,0,216'; break;
     case 19: A=C'0,0,138'; break;   case 39: A=C'0,0,178'; break;   case 59: A=C'0,0,218'; break;
     case 20: A=C'0,0,140'; break;   case 40: A=C'0,0,180'; break;   case 60: A=C'0,0,220'; break;
     default: A=C'0,0,222';
     }
return(A);
     }

Comments