Price Data Components
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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---