!_BZ_everyhour

Price Data Components
Series array that contains open prices of each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
1 Views
0 Downloads
0 Favorites
!_BZ_everyhour
//+------------------------------------------------------------------+ 
//|                                                | 
//|                                                                  | 
//|   Copyright © 2008, Avery T. Horton, Jr. aka TheRumpledOne       |
//|                                                                  |
//|   PO BOX 43575, TUCSON, AZ 85733                                 |
//|                                                                  |
//|   GIFTS AND DONATIONS ACCEPTED                                   | 
//|                                                                  |
//|   therumpledone@gmail.com                                         |  
//+------------------------------------------------------------------+ 

#property  copyright "Copyright © 2008, Avery T. Horton, Jr. aka TRO" 
#property  link      "http://www.therumpldone.com/" 



#property indicator_chart_window
//---- input parameters

extern int win = 0;
extern int price.x.offset= 250;//250
extern int price.y.offset= -160;//-190
extern bool show.info=true;

extern string    session_name = "";
extern color     session_color = White;
//extern int       open_time=8;
extern int       straddle_width=3;
extern int       channel=1;
extern color myColor = DarkGray ;

double open_price;
double rates_h1[2][6];
string OP, BZ, BZW, SZ, SZW;



//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators


  OP = "Open " + session_name;
  BZ = "Buy zone " + session_name;
  BZW = "Buy zone width " + session_name;
  SZ = "Sell zone " + session_name;
  SZW = "Sell zone width " + session_name;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete(OP);
   ObjectDelete(BZ);
   ObjectDelete(BZW);
   
   ObjectDelete(SZ);
   ObjectDelete(SZW);
   
   ObjectDelete(session_name);

   ObjectDelete("BZ_630");
   ObjectDelete("BZ_629");
   ObjectDelete("BZ_629B");
   ObjectDelete("BZ_631");
   ObjectDelete("BZ_632");
   ObjectDelete("BZ_634");

   
      
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----


   if( TimeHour(Time[0]) != TimeHour(Time[1]) ) 
     { 
        // draw the vertical bars that marks the time span
   double level= (High[1] + Low[1] + Close[1]) / 3;
   SetTimeLine("HourStart", "Hour", 0, White, level+10*Point);
     }
   
   
    open_price = iOpen(NULL,PERIOD_H1,0);  



	double LgTop = open_price +( straddle_width+channel)*Point ;	
   double LgBot = open_price + straddle_width*Point ;

   double ShTop = open_price - straddle_width*Point ;	
   double ShBot = open_price - (straddle_width+channel)*Point ; 


double LgProfit = ( iHigh(NULL,PERIOD_H1,0) -  LgTop ) / Point  ;
double ShProfit = ( ShBot - iLow(NULL,PERIOD_H1,0) )   / Point  ;

    if (ObjectFind(OP) != 0)
    
      {
      
      
          ObjectCreate(session_name,OBJ_TEXT,0,CurTime(),open_price+4*Point);
          ObjectSetText(session_name, session_name+"                                                                                                                                                        ",
                                                                                  8, "Arial",session_color);
      //    ObjectSet(session_name, OBJPROP_YDISTANCE, 100);
          
          
          ObjectCreate(OP, OBJ_HLINE, 0, CurTime(), open_price);
          ObjectSet(OP, OBJPROP_STYLE, STYLE_DOT);
          ObjectSet(OP, OBJPROP_COLOR, session_color);
          
          ObjectCreate(BZ, OBJ_HLINE, 0, CurTime(), LgBot );
          ObjectSet(BZ, OBJPROP_STYLE, STYLE_DASH);
          ObjectSet(BZ, OBJPROP_COLOR, Blue);
          
          ObjectCreate(BZW, OBJ_HLINE, 0, CurTime(), LgTop );
          ObjectSet(BZW, OBJPROP_STYLE, STYLE_DASH);
          ObjectSet(BZW, OBJPROP_COLOR, Blue);
          
          
          ObjectCreate(SZ, OBJ_HLINE, 0, CurTime(), ShTop);
          ObjectSet(SZ, OBJPROP_STYLE, STYLE_DASH);
          ObjectSet(SZ, OBJPROP_COLOR, Red);
          
          ObjectCreate(SZW, OBJ_HLINE, 0, CurTime(), ShBot);
          ObjectSet(SZW, OBJPROP_STYLE, STYLE_DASH);
          ObjectSet(SZW, OBJPROP_COLOR, Red);
          
          
      
       
      }
      
      else
      {
         ObjectMove(session_name,0,CurTime(),open_price+4*Point);
         ObjectMove(OP, 0, CurTime(), open_price);
         ObjectMove(BZ, 0, CurTime(), LgBot);
         ObjectMove(BZW, 0, CurTime(), LgTop); 
         ObjectMove(SZ, 0, CurTime(), ShTop);
         ObjectMove(SZW, 0, CurTime(), ShBot);
      
      }


   
   
//+------------------------------------------------------------------+ 
if (show.info) {    



   ObjectCreate("BZ_630", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("BZ_630","BUY ZONE", 30, "Arial Bold", Gray);
   ObjectSet("BZ_630", OBJPROP_CORNER, 0);
   ObjectSet("BZ_630", OBJPROP_XDISTANCE, 760+price.x.offset);
   ObjectSet("BZ_630", OBJPROP_YDISTANCE, 160+price.y.offset);
 
   ObjectCreate("BZ_629", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("BZ_629",DoubleToStr(LgTop,Digits), 15, "Arial Bold", Blue);
   ObjectSet("BZ_629", OBJPROP_CORNER, 0);
   ObjectSet("BZ_629", OBJPROP_XDISTANCE, 770+price.x.offset);
   ObjectSet("BZ_629", OBJPROP_YDISTANCE, 197+price.y.offset);
   
   ObjectCreate("BZ_629b", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("BZ_629b",DoubleToStr( ShBot ,Digits), 15, "Arial Bold", Red);
   ObjectSet("BZ_69b", OBJPROP_CORNER, 0);
   ObjectSet("BZ_629b", OBJPROP_XDISTANCE, 770+price.x.offset);
   ObjectSet("BZ_629b", OBJPROP_YDISTANCE, 260+price.y.offset);                 
                     
   ObjectCreate("BZ_631", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("BZ_631",DoubleToStr(open_price,Digits), 30, "Arial Bold", White );
   ObjectSet("BZ_631", OBJPROP_CORNER, 0);
   ObjectSet("BZ_631", OBJPROP_XDISTANCE, 765+price.x.offset); // 765
   ObjectSet("BZ_631", OBJPROP_YDISTANCE, 215+price.y.offset); // 210
           
 
   ObjectCreate("BZ_632", OBJ_LABEL, win, 0, 0);
   ObjectSetText("BZ_632",DoubleToStr( LgProfit ,0), 15, "Arial Bold", LimeGreen);
   ObjectSet("BZ_632", OBJPROP_CORNER, 0);
   ObjectSet("BZ_632", OBJPROP_XDISTANCE, 860+price.x.offset);
   ObjectSet("BZ_632", OBJPROP_YDISTANCE, 197+price.y.offset);
                 
   ObjectCreate("BZ_634", OBJ_LABEL, win, 0, 0);
   ObjectSetText("BZ_634",DoubleToStr( ShProfit ,0), 15, "Arial Bold", Crimson);
   ObjectSet("BZ_634", OBJPROP_CORNER, 0);
   ObjectSet("BZ_634", OBJPROP_XDISTANCE, 860+price.x.offset);
   ObjectSet("BZ_634", OBJPROP_YDISTANCE, 260+price.y.offset);    
    
/*   
   ObjectCreate("BZ_634a", OBJ_LABEL, win, 0, 0);
   ObjectSetText("BZ_634a",DoubleToStr(s,Digits-4), 15, "Arial Bold", Yellow);
   ObjectSet("BZ_634a", OBJPROP_CORNER, 0);
   ObjectSet("BZ_634a", OBJPROP_XDISTANCE, 900+price.x.offset);
   ObjectSet("BZ_634a", OBJPROP_YDISTANCE, 280+price.y.offset);
   
   ObjectCreate("BZ_634b", OBJ_LABEL, win, 0, 0);
   ObjectSetText("BZ_634b",DoubleToStr(m,Digits-4)+" : "+DoubleToStr(s,Digits-4), 15, "Arial Bold", Yellow);
   ObjectSet("BZ_634b", OBJPROP_CORNER, 0);
   ObjectSet("BZ_634b", OBJPROP_XDISTANCE, 870+price.x.offset);
   ObjectSet("BZ_634b", OBJPROP_YDISTANCE, 280+price.y.offset); 
   
   ObjectCreate("t634b", OBJ_LABEL, win, 0, 0);
   ObjectSetText("t634b","Time Left", 15, "Arial Bold", Gray);
   ObjectSet("t634b", OBJPROP_CORNER, 0);
   ObjectSet("t634b", OBJPROP_XDISTANCE, 765+price.x.offset);
   ObjectSet("t634b", OBJPROP_YDISTANCE, 280+price.y.offset);   
*/
//+------------------------------------------------------------------+  
   WindowRedraw();    
} // if showinfo
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Helper                                                           |
//+------------------------------------------------------------------+
void SetTimeLine(string objname, string text, int idx, color col1, double vleveltext) 
{
   string name= "[PIVOT] " + objname;
   int x= Time[idx];

   if (ObjectFind(name) != 0) 
      ObjectCreate(name, OBJ_TREND, 0, x, 0, x, 100);
   else {
      ObjectMove(name, 0, x, 0);
      ObjectMove(name, 1, x, 100);
   }
   
   ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
   ObjectSet(name, OBJPROP_COLOR, myColor);
   
   if (ObjectFind(name + " Label") != 0) 
      ObjectCreate(name + " Label", OBJ_TEXT, 0, x, vleveltext);
   else
      ObjectMove(name + " Label", 0, x, vleveltext);
            
   ObjectSetText(name + " Label", text, 8, "Arial", col1);
}

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---